Bine ați revenit, dragii mei greenhorn hackers!
Așa cum prea bine știți, Metasploit este o platformă de exploatare ce ar trebui cunoscută de fiecare hacker. Este unul dintre softurile mele preferate. Metasploit ne permite să utilizăm exploituri împotriva vulnerabilităților cunoscute din sistemele de operare, browsere, ale altor aplicații cât și a ,,amplasa” un payload în sistemul țintă. Aceste payload-uri ne permit să ne conectăm la sistemul victimei și să îl utilizăm ca și cum ar fi al nostru, după ce ce am exploatat vulnerabilitatea din sistemul său. În acest tutorial ne vom uita la aceste payload-uri, concepute pentru Metasploit.
Metasploit are o mulțime de payload-uri pe care le putem lasă în sistemul țintit. În acest tutorial, o să vedem cum funcționează payload-urile, cum le categorisește acesta, și care sunt tipurile de payload-uri. Doar înțelegând lucrurile aceste vom ști care este payload-ul potrivit pentru un hack.
Să aruncăm o privire mai atentă asupra acestor payload-uri.
Pasul 1: Pornim Kali și deschidem Metasploit
Când deschidem consola Metasploit, vedem că Metasploit listează imediat numărul exploit-urilor, al modulelor auxiliare, payload-uri s.a.m.d. În print-screen-ul de mai jos, putem observa că sunt 335 de payload-uri în versiunea curentă a Metasploit (a ta poate diferi puțin, în funcție de versiunea pe care o ai). Acesta este un număr uriaș de payload-uri, ce pot fi folosite în diferite situații.
Când tastăm:
show payloads
Metasploit ne va lista cele 355 de payload-uri.
Pasul 2: Tipuri de payload-uri
Sunt 8 tipuri de payload-uri în Metasploit,
Inline
Aceste payload-uri reprezintă un singur pachet de exploit și payload. Sunt în mod inerent mai stabile, însă din cauza dimensiunii lor, nu pot fi folosite întotdeauna în zonele mici de memorie vulnerabile.
Staged
Payload-urile acestea sunt capabile să se potrivească în spații foarte mici și să creeze un punct de sprijin în sistem, ca apoi să tragă restul payload-ului.
Meterpreter
Este cel mai puternic payload, pe care îl dorim în sistemul victimei. Funcționează cu .dll injection și se află în memorie, fără să lase vreo urmă a existenței sale. Are un număr de comenzi specifice și script-uri, realizate pentru el, permițându-ne să lucrăm în mare măsură pe sistemul victimei.
PassiveX
Îl folosim atunci când regulile firewall-ului resticționează un anumit trafic. Cu alte cuvinte, utilizează Active X prin Internet Explorer pentru a ascunde traficul și a evita firewall-ul, utilizând cereri HTTP, precum orice alt browser.
NoNX
La unele procesoare, există o caracteristică numită DEP (Data Execution Prevention). În Windows, îl întâlnim cu denumirea de No eXecute, or NX. Ideea din spatele acestei caracteristici de securitate este să mențină datele către procesor și să fie executate. Payload-urile sunt NoNX sunt proiectate să evite aceste caracteristici de securitate ale procesoarelor moderne.
Ord
Aceste tipuri de payload-uri funcționează cel mai bine pe sistemele de operare Windows. Acestea sunt extrem de mici, și destul de instabile. Ele depind de încărcarea unui .dll (dynamic link library) în procesul exploatat.
IPv6
Așa cum le spune și numele, aceste payload-uri sunt create pentru a lucra cu rețelele IPv6.
Reflective DLL Injection
Aceste module de payload-uri sunt injectate în procesul țintă, în timp ce rulează în memoria acestuia, fără să scrie sau să instaleze ceva pe hard, fără a lăsa în urmă o dovadă a existenței sale.
Pasul 3: Payload Modules
Dacă ne uităm în directorul Metasploit în terminal, putem vedea că Metasploit categorizează payload-urile în trei tipuri diferite. Desigur, cele 8 tipuri de mai sus, sunt incluse în aceste trei directoare din Metasploit.
cd /usr/share/metasploit-framework/modules/payloads
ls -l
Staged
Payload-urile Staged sunt niște payload-uri mici, ce au ca scop exploatarea sistemului în zone mici de memorie, permițând unui cod mic să fie executat, ca mai târziu, acesta să ,,tragă” întregul payload în sistem. Payload-urile mai mari includ Meterpreter și VNC Injection, amândouă având un cod mare și complex.
Stagers
Stagers, asemănătoare cu Staged (o să vedeți mai târziu diferența între ele) reprezintă tot niște payload-uri mici, a căror sarcină este să se potrivească în zonele mici de memorie și să ,,tragă” un payload după ele.
Singles
Deseori, numite ca ,,payload-uri în linie”, sunt unități independente, ce nu necesită un stager. Sunt mult mai folosite, deoarece sunt mai stabile, însă de multe ori, codul este prea mare pentru zona vulnerabilă a sistemului țintă.
Haideți să ne uităm în directorul singles.
cd singles
ls -l
Dacă dorim să le vedem pe cele disponibile pentru Windows, tastăm simplu:
cd windows
ls -l
În acest director putem vedea toate payload-urile singles, disponibile pentru Windows. Am evidențiat unul dintre payload-urile pe care eu le folosesc în multe hack-uri.
Payload-uile reprezintă o caracteristică principală a infrastructurii Metasploit și ne oferă accesul, după ce exploit-ul a fost realizat. Cu cât le înțelegem mai bine, cu atât abilitățile noastre de hacking se vor ascuți.
Cam atât pentru acum. Asigurați-vă că ați citit celelalte tutoriale din seria Metasploit și că veți reveni pentru mai multe.