Colectarea informațiilor [actualizat 2019]
Introducere în colectarea informațiilor
testarea penetrării începe cu o fază de pre-angajare în care testerul de stilou face cunoștință cu clientul, obiectivele, limitările și domeniul de aplicare al testului de penetrare. După aceea, testerul de stilou începe testul de penetrare real și, de obicei, continuă cu un efort de colectare a informațiilor în care testerul de stilou localizează informații disponibile publicului legate de client și caută modalități care ar putea fi exploatate pentru a intra în sisteme. În această fază, testerul pen utilizează, de asemenea, instrumente precum scanere de porturi care îl pot ajuta să înțeleagă sistemele din rețea și software-ul care se află pe ele. Folosind aceste informații, testerul de stilou poate identifica ce impact pot avea diferitele constatări asupra clientului, iar partea de analiză a vulnerabilității poate continua acolo unde informațiile găsite sunt utilizate pentru a localiza posibile vulnerabilități în sisteme și faza de exploatare ulterioară în care se încearcă exploatarea vulnerabilităților pentru a intra în sistem. Astfel, fără o bună colectare de informații – nu ar exista vulnerabilități de găsit și exploatat.
acum este momentul să facem o distincție importantă – aceea dintre colectarea pasivă și activă a informațiilor. Colectarea pasivă a informațiilor se referă la colectarea cât mai multor informații posibil fără a stabili un contact între testerul de stilou (dvs.) și ținta despre care colectați informații. Colectarea activă a informațiilor implică contactul dintre testerul de stilou și ținta reală. Când interogați în mod activ sistemele pentru a obține informațiile, vă deplasați într-o situație juridică întunecată, deoarece majoritatea țărilor interzic încercările de a intra în sisteme fără permisiunea necesară. Astfel, dacă nu aveți permisiunea de a testa un sistem (un card get-out-of-jail-Free), nu este o idee bună să efectuați interogări active împotriva acestuia. De exemplu, dacă utilizați Nmap pentru a găsi porturi și aplicații deschise pe un sistem la distanță dorit, interacționați activ cu acel sistem în încercarea de a găsi puncte slabe și dacă faceți o căutare whois, navigați pe site-ul companiei sau interogați motoarele de căutare pentru informații despre companie, colectați pasiv informații. Un exemplu de colectare activă a informațiilor este apelarea personalului companiei și încercarea de a-i păcăli să divulge informații privilegiate.
faza de pre-atac poate fi descrisă în felul următor:
- colectarea pasivă a informațiilor pentru a descoperi informații preliminare despre sisteme, software-ul lor și persoanele implicate în țintă.
- determinarea pasivă a intervalului de rețea pentru a afla mașinile din rețea pe care vă puteți concentra.
- testerul pen verifică activ care dintre mașinile localizate sunt în viață pentru a ști ce să vizeze.
- testerul pen caută în mod activ porturi deschise și aplicațiile de pe ele pentru fiecare dintre mașinile din rețea pentru a afla modul optim de a intra.
- testerul pen folosește instrumente precum traceroute și Cheops pentru a amprenta sistemul de operare din spatele fiecărei mașini.
- testerul pen mapează rețeaua scriind și vizualizând toate datele colectate și începe cu faza de atac…
instrumente pasive de colectare a informațiilor
harvester
putem folosi mașina de recoltat pentru a colecta e-mailuri despre domenii vizate. Putem folosi apoi aceste e-mailuri pentru a iniția ingineria socială sau pentru a lansa alte atacuri. Harvester este un instrument construit în Python, astfel încât să-l rulați ar trebui Python pe mașină și, de preferință, adăugat la variabila de mediu cale. Puteți descărca Python de lahttps://www.python.org/downloads/. Dacă aveți git pe mașină, puteți deschide terminalul, navigați la un folder dorit și tastați git clone https://github.com/laramies/theHarvester.git
pentru a descărca instrumentul. În caz contrar, ar trebui doar să deschideți depozitul GitHub, să faceți clic pe „clonați sau descărcați” și să descărcați codul sursă ca ZIP. După ce l-ați instalat, puteți deschide linia de comandă / terminalul și navigați la folderul în care ați instalat mașina de recoltat și tastați python theHarvester.py pentru a obține ecranul de ajutor.
Figura 1: ecranul de ajutor al recoltei ar trebui să arate așa
acum, dacă vrem să căutăm e-mailuri în domeniu dimoff.biz putem efectua o interogare ca aceasta:
python theHarvester.py -d dimoff.biz -l 100-B google
aceasta va căuta e-mailuri în Google situat în dimoff.biz și va limita căutarea la primele 100 de rezultate ale interogării în Google.
Figura 2: nu s-au găsit e-mailuri în domeniul meu, deoarece le-am umbrit
să încercăm să căutăm e-mailuri pe site-ul Institutului InfoSec. Tastăm aceeași interogare, dar schimbăm domeniul: python theHarvester.py -d infosecinstitute.com -l 100-B google
Figura 3: Interogarea pentru e-mailuri în Institutul InfoSec a venit cu patru e-mailuri pe care le putem profita de potențial
pentru a îmbunătăți cercetarea noastră, putem încerca căutarea cu diferite motoare de căutare. Dacă căutăm e-mailuri în primele 30 de rezultate ale motorului de căutare Yahoo, ajungem la un singur e-mail, dar este diferit de cele patru pe care le-am colectat cu Google. Tastăm python theHarvester.py -d infosecinstitute.com -L 20-B yahoo și se încheie cu următoarea ieșire:
Figura 4: Harvester căutare cu Yahoo a dat un rezultat diferit
după cum s-ar putea fi observat, în afară de scuipa e-mailuri în acest domeniu, Harvester listează toate subdomeniile pe care a reușit să găsească asociate cu domeniul dat și hărți-le la adresa lor IP respective. Aceste informații sunt utile, precum și diferitele subdomenii pot utiliza software de server diferit, cadre de dezvoltare software și ar putea fi chiar pe mașini diferite, ceea ce ar însemna că aceste subdomenii pot fi predispuse la vulnerabilități diferite și pot avea niveluri diferite de exploatabilitate.
Netcraft
Netcraft este o aplicație web care ne permite să vedem informații detaliate despre software, serverul web și gazda web implicată într-un site web arbitrar. Netcraft face colectarea acestor informații nedureros ca este nevoie de milisecunde pentru a cunoaște software-ul din spatele site-ului. De exemplu, știind cine este furnizorul de găzduire web al site-ului web s-ar putea dovedi util dacă decideți să lansați un atac de inginerie socială. Apoi, puteți scrie un e-mail unui administrator care pare să provină de la compania lor de găzduire web, cerându-i să deschidă un link și să schimbe o setare. În plus, diferitele cadre de dezvoltare software pe care le folosește site-ul web pe care le puteți găsi cu Netcraft pot avea propriile vulnerabilități pe care le puteți încerca apoi să le exploatați. Imaginea de mai jos prezintă o căutare a Institutului InfoSec în http://www.netcraft.com/
Figura 5: Căutând informații despre Institutul InfoSec în Netcraft
putem vedea că furnizorul de găzduire al Institutului InfoSec este Ocean Digital, așa că putem observa că undeva. De asemenea, putem vedea că site-ul web utilizează un sistem de gestionare a conținutului (CMS) numit Expression Engine, un cadru de dezvoltare software numit CodeIgniter, că limbajul back-end este PHP și așa mai departe. Este posibil să căutăm defecte în acele tehnologii care ar supune site-ul web vulnerabilităților. De asemenea, putem vedea că software-ul serverului web a fost schimbat recent de la Apache/2.2.31. Cunoașterea versiunii exacte a software-ului serverului este utilă, deoarece vulnerabilitățile pentru diverse software-uri de server sunt publicate online în mod regulat și patch-uri cu versiuni mai noi ale software-ului, care adesea nu sunt implementate la timp de majoritatea site-urilor web. În plus, cunoașterea software-ului serverului restrânge domeniul de cercetare. Dacă știm că serverul rulează Apache, nu am căuta vulnerabilități pentru serverul Microsoft IIS. Deși, uneori, informațiile de server furnizate de site-ul poate fi o momeală/honeypot.
Maltego
Maltego este un instrument de extragere a datelor care ne poate ajuta să obținem și să vizualizăm colectarea de informații. Are mai multe versiuni, dintre care una este liberă să se joace. Versiunea gratuită este așa-numita „ediție comunitară” și o puteți descărca de la https://www.paterva.com/web7/downloads.php#tab-3. Tot ce trebuie să faceți pentru a-l rula este să vă înregistrați un cont la Paterva. Versiunea gratuită, deși limitează numărul de rezultate minate care pot fi afișate pentru tine.
Figura 6: Mașinile pre-construite ale Maltego restricționează rezultatele la 12 entități în versiunea gratuită
Maltego Primer
după ce ați instalat Maltego, configurați-vă contul și conectați-vă, ar trebui să vedeți un pas final așa cum se arată mai jos:
Figura 7: instalat cu succes Maltego
Faceți clic pe „Deschideți lasă-mă să mă joc.”
în caseta paletă din stânga, puteți vedea diferitele entități pe care le puteți încorpora în căutările dvs. Trageți și plasați entitatea de domeniu din paletă în grafic. Ar trebui să vedeți o singură pictogramă pământ cu site – ul paterva.com ca o etichetă.
figura 8: adăugarea unei entități de domeniu la Grafic
acum, schimbați numele domeniului în domeniul pentru care doriți să obțineți informații noi. Pentru a face acest lucru, trebuie să faceți dublu clic pe numele de domeniu și să tastați numele de domeniu dorit.
după ce ați pregătit domeniul de explorat, puteți rula transformări sau interogări pentru informații diferite pentru domeniu făcând clic dreapta pe entitatea de domeniu și alegând interogarea dorită.
Figura 9: O felie de diferite transformări care sunt disponibile în Maltego
pentru a ilustra modul în care aceste transformări de lucru, dacă alegeți să transforme entitatea la numere de telefon folosind motoarele de căutare, veți obține câteva numere de telefon pentru Institutul InfoSec. Puteți utiliza aceste numere de telefon pentru a face atacul dvs. de inginerie socială mai convingător, angajați vishing, pretexting și așa mai departe.
Figura 10: transformarea în numere de telefon folosind motoarele de căutare este aplicată pe InfoSec Institute și sunt vizualizate cinci numere de telefon.
acum, dacă vom aplica o altă transformare – rezultatele noastre vor crește doar. Și mai bine, putem aplica noi transformări rezultatelor care apar din transformările noastre anterioare.
pentru a ilustra acest lucru, dacă facem clic dreapta pe primul număr de telefon returnat – am obține diferite transformări pe care le putem aplica. Să spunem că alegem să transformăm numărul de telefon în adrese URL (adică să obținem adresele URL unde este menționat numărul de telefon). Asta ne-ar aduce un nivel mai profund în ierarhia/relația rezultatelor și ne va arăta câteva adrese URL unde putem verifica manual cine răspunde la numărul de telefon și așa mai departe.
Figura 11: mergând un nivel mai adânc în Maltego. Noțiuni de bază URL-uri în cazul în care unul dintre numerele de telefon asociate cu Institutul InfoSec este menționat
după cum puteți vedea, există destul de o mulțime de entități și transformă pentru a explora.
instrumente active de colectare a informațiilor
Nmap permite rularea scanărilor pe mașini vizate pentru a vedea ce porturi sunt deschise pe ele și, astfel, Ce aplicații rulează pe ele. Diferența față de instrumentele menționate mai sus este că interacționați activ cu mașina dată, trimițându-i pachete special create. În plus, descoperirea porturilor deschise Nmap ne permite să detectăm potențial sistemul de operare al mașinii și să descoperim serviciile care rulează pe porturile deschise.
puteți descărca Nmap de lahttps://nmap.org/download.html sauhttp://nmap.en.softonic.com/. Puteți utiliza Nmap din CLI sau dintr-o aplicație GUI.
după instalare, pentru a vedea diferitele moduri în care puteți utiliza nmap, va trebui doar să tastați nmap și să apăsați Enter.
Figura 12: ecranul de ajutor al Nmap
o simplă verificare a porturilor deschise și a serviciilor corespunzătoare de pe acestea este Nmap-sS-PN<adresa IP>. Aceasta va încerca o descoperire stealth și va trata mașina ca fiind vie.
pentru a detecta sistemul de operare pe care rulează aparatul, puteți utiliza steagul-o și așa mai departe.
daca Nmap pare un instrument pe care doriti sa il explorati mai mult, va rugam sa vizitati articolul lui Irfan Shakeel despre Nmap.
concluzie
am demonstrat elementele de bază ale procesului de testare a penetrării, rolul colectării de informații în acest proces și am demonstrat unele dintre cele mai populare instrumente de colectare a informațiilor acolo. Utilizarea acestor instrumente nu numai că vă poate ajuta să adunați suficiente informații pentru o colectare fructuoasă de informații, dar vă pot ajuta, de asemenea, să creșteți eficiența și eficacitatea întregului proces de testare a penetrării.