7 Faze și pași de testare a penetrației explicate

În 1967, experții în securitatea computerelor de la Rand Corporation, Willis Ware, Rein Turn, Harold Petersen și Benard Peters, au lucrat la un raport după o conferință comună pe computer, care a declarat că mediile de comunicare între computere erau ușor de străpuns.

A fost inventată prima penetrare pentru încălcarea securității computerelor. Și odată cu acesta, James P. Anderson a dezvoltat o abordare pas cu pas care a stat la baza testării de penetrare.

Structura era simplă; echipele de securitate ar trece prin mai multe etape, de la detectarea unei vulnerabilități până la dezvoltarea modalităților de contracarare a acesteia. Iată un rezumat istoricul testelor de penetrare.

Exploatarea securității unei companii nu este ușoară și necesită abilități și timp. Dar, cu tehnologia actuală, este ușor pentru actorii răi să găsească punctele vulnerabile ale organizației tale. Penetrațiile vizează activele unei companii vizibile pe internet (de exemplu, o aplicație web, site-ul web, serverele de nume de domeniu (DNS) și e-mailurile) pentru a obține acces și a extrage date valoroase.

Folosind teste de penetrare, întreprinderea dumneavoastră poate identifica și întări suprafața posibilă a atacurilor înainte de exploatare. Cercetările o susțin: un masiv 73% dintre încălcările reușite au trecut prin penetrarea aplicațiilor web din vulnerabilitățile lor.

Dar mai mult decât oricând, organizațiile trebuie să valideze securitatea aplicațiilor, sistemelor și rețelelor lor. Lansarea de teste simulate este o modalitate eficientă de a ratifica puterea de securitate a unui sistem și măsurile de control. Nu este o activitate unică, ci una obișnuită. Frecvența testelor se bazează pe structura organizațională a companiei dumneavoastră și pe riscurile dezvăluite din evaluări.

Din fericire, testele de penetrare nu sunt complicate. Echipând echipele dumneavoastră IT cu competențele necesare, organizația dumneavoastră poate implementa în mod constant securitatea, în special în ceea ce privește actualizările semnificative ale infrastructurii sau introducerea de noi servicii și active digitale.

Și totul începe cu înțelegerea despre ce este procesul.

Ce este testarea de penetrare?

Înainte de a aborda cum, cel mai bine ar fi să răspundeți la ce și de ce. Testele de penetrare (deseori prescurtate ca teste de stilou) sunt un atac cibernetic acceptat oficial, care vizează firmele într-un mediu sigur și controlat.

Combinate cu auditurile de securitate, testele de tip stilou se străduiesc să descopere vulnerabilități într-un mediu gestionat al organizației. Din punct de vedere tactic, testele au o abordare similară cu ceea ce urmează un hacker. Unele motive principale pentru care întreprinderea dvs. are nevoie de teste de stilou includ:

  • Descoperirea vulnerabilităților ascunse înaintea atacatorilor.
  • Consolidarea proceselor și strategiilor de securitate.
  • Scăderea costurilor de remediere și reducerea timpului de așteptare.
  • Respectarea conformității cu reglementările privind securitatea/ confidențialitatea.
  • Păstrarea reputației mărcii dvs. și menținerea loialității clienților.

Testele pe stilou evaluează starea de sănătate a întreprinderii dvs. (rezistența la atacuri) și demonstrează ușurința cu care hackerii vă încalcă sistemele. În plus, informațiile adunate pot fi utile în ierarhizarea investițiilor în securitate cibernetică, în respectarea standardelor din industrie și în îmbunătățirea strategiilor defensive pentru a vă proteja compania de amenințările probabile. Dar, totul este posibil prin instrumente automate de testare numite instrumente de penetrare.

Ce sunt instrumentele de testare stilou?

Un hacker etic folosește instrumente de testare a creionului pentru a evalua rezistența infrastructurii de calcul prin simularea atacurilor mondiale. Folosind aceste instrumente, echipele de securitate pot elimina munca repetitivă de testare, pot genera rapoarte de testare mai rapid și pot reduce costul scanerelor multiple.

După cum probabil ați ghicit, există numeroase tipuri: sursă deschisă, aplicație web, rețea, aplicație mobilă, cloud, manuală, automată și testare de penetrare ca serviciu. Oricât de multe sunt acestea, cel mai bine ar fi să căutați funcții cheie, cum ar fi rapoarte acționabile, integrare CI/CD, suport pentru remediere și certificate de testare a stiloului (doar câteva vor oferi certificate de testare a stiloului disponibil public).

  Înțelegerea UCaaS într-o lume conectată [+6 Solutions for SMBs]

Cu acea fundație, haideți să descompunem procesul de testare a pătrunderii.

Etapele testării de penetrare

Într-un test de penetrare tipic, veți găsi mai multe etape. În timp ce diferite resurse vor asigura procesul în diferiți pași, structura generală nu se schimbă. Procesul presupune recunoaștere, scanare, evaluarea vulnerabilităților, exploatare și raportare.

Din nou, cei mai buni testeri se familiarizează cu multe instrumente pentru a utiliza instrumentul potrivit în fiecare fază de testare. Fiecare etapă a procesului poate fi percepută după cum urmează.

Colectarea de informații

Adeseori omisă, această fază ajută organizația dvs. să stabilească un punct comun cu testerul stiloului. În această etapă, definiți domeniul de activitate, regulile de implicare, termenele și logistica precisă, cu scopuri și obiective clare.

Pentru a avea un test complet și util, această etapă vă ajută să înțelegeți zonele care necesită testare și cele mai bune metode. Ca pas de începător, veți fi întotdeauna dornici să nu îl treceți cu vederea.

Înainte de a testa un sistem, o organizație trebuie să își dea acordul cu testerul. În caz contrar, acțiunile sale pot fi considerate ilegale. Organizațiile stabilesc reguli clare (într-un contract) pentru un flux de lucru fluid atunci când angajează testeri. Acordul ar trebui să prezinte, de asemenea, active critice, obiective de testare și măsuri de precauție. În plus, acest pas influențează toate acțiunile ulterioare. Până la sfârșit, toate planurile sunt aliniate cu rezultatele așteptate ale testului.

Recunoaștere/Adunarea OSINT

În această fază, testerii adună toate informațiile disponibile despre sistem. Datele obținute sunt legate de testele viitoare și sunt determinate de rezultatele pasului unu. În acest fel, testerii devin precise cu privire la datele de adunat și strategiile de implementat. Dacă optați pentru o recunoaștere activă, testerul cuplează direct sistemele. Dacă luați pasiv, informațiile disponibile publicului sunt obținute. Pentru unul extins, utilizați ambele tehnici.

Achiziția activă a datelor implică lucrul cu rețele, sisteme de operare, conturi de utilizator, nume de domenii, servere de e-mail și aplicații. Colectarea pasivă de date se referă la inteligența open-source; s-ar putea folosi rețelele sociale, informațiile fiscale, site-urile web și alte date publice.

Iată câteva instrumente de inteligență cu sursă deschisă (OSINT) pe care eu și colegii mei le-am găsit utile și ușor de utilizat atunci când colectăm și relaționăm informații pe web. Folosind cadrul OSINT, puteți crea o listă de verificare extinsă pentru punctele de intrare și vulnerabilități. Deși acest pas este esențial pentru testele interne și externe, nu se face în aplicațiile web, aplicațiile mobile și testarea API.

Scanare

Urmează o analiză tehnică aprofundată a sistemului. Prin instrumente de scanare, cum ar fi scanere automate de vulnerabilitate și mape de rețea, puteți înțelege cum reacționează sistemul țintă la diverse intruziuni, porturi deschise, trafic de rețea etc.

Componentele principale ale acestei etape sunt scanarea și analiza activelor. Puteți folosi instrumente precum Nmap pentru a descoperi servicii computerizate și gazde, a trimite pachete și a analiza răspunsurile. Până la sfârșitul acestei etape, sunteți echipat cu informații despre active. Aceasta include sisteme de operare, servicii care rulează și porturi deschise.

Analizând rezultatele, aveți baza pentru a pune la cale un exploit. Puteți reprezenta peisajul digital al sistemului și puteți localiza posibile puncte de atac. Puteți efectua analize statice și dinamice pentru a obține o înțelegere clară a răspunsului sistemului la diferite condiții.

Analiza statică inspectează codul aplicațiilor dvs. în timp ce acestea nu au fost încă executate; puteți folosi instrumente pentru a scana fără probleme bazele de cod. Pentru dinamica, inspectați codul în timp ce aplicația rulează. Rețineți că informațiile adunate aici trebuie să fie corecte și obținute corect, deoarece succesul fazelor ulterioare depinde de aceasta.

Evaluare/Câștig de acces

În acest moment, toate datele adunate în pașii precedenți ajută la identificarea vulnerabilităților și dacă acestea pot fi exploatate. În timp ce această etapă este utilă, este super puternică atunci când este combinată cu alte procese de testare de penetrare.

Pentru evaluarea riscurilor asociate din vulnerabilitățile descoperite, testerii apelează la mai multe resurse; unul este National Vulnerability Database (NVD), care analizează sensibilitățile software publicate în Common Vulnerabilities and Exposures (CVEs).

  Majoritatea modurilor de telegramă și semnal sunt spyware și așa le depistați

Apoi, identificați ținte și hărți vectorii de atac. Zonele țintă includ active de mare valoare, cum ar fi datele angajaților, informațiile despre clienți, partenerii/lanțurile de aprovizionare, furnizorii, porturile, aplicațiile și protocoalele. Se lansează atacuri de aplicații web.

Cele mai frecvente sunt injecția SQL, scripturile între site-uri și ușile din spate. Sistemul este exploatat prin creșterea privilegiilor, interceptarea traficului și furtul de date pentru a dezvălui efectele daunelor. Urmând domeniul de aplicare definit în etapele de colectare a informațiilor, testerul este dornic să lucreze cu constrângerile specificate.

Exploatare

Cunoscută și ca etapa de menținere a accesului, testerul verifică dacă vulnerabilitățile pot fi utilizate. Această fază implică o încălcare reală și o încercare de acces la sistem. Folosind instrumente precum Metasploit, testerul simulează un atac în lumea reală.

Pe măsură ce această etapă progresează, testerul este responsabil pentru resursele unei organizații – asigurându-se că sistemele nu sunt compromise după simulări.

Metasploit este preferat pentru operațiunile sale bune în exploatarea vulnerabilităților. Această etapă evaluează efectele unei încălcări. Testerul ar putea încerca să cripteze sau să exfiltreze datele și să simuleze ransomware și atacuri zero-day. Cheia unui test de succes al stiloului este să găsiți un echilibru între depășirea limitelor și menținerea integrității unui sistem.

Experții sunt cel mai bine să lucreze cu; ei exploatează vulnerabilitățile care trec prin automatizare. Până la sfârșitul acestei faze, ați încercat să obțineți privilegii de nivel înalt în informații despre sistem și rețea, identificând datele disponibile. Hackerul etic ar trebui să explice și rezultatele exploatărilor țintelor de mare valoare.

Analiza de risc și recomandare, revizuire, raportare

Trecând peste faza de exploatare, testerul generează un raport care documentează constatările. Raportul trebuie utilizat atunci când se remediază vulnerabilitățile descoperite.

Un raport bun de testare a creionului este un depozit pentru vulnerabilități bine documentate introduse în conținut care ajută o organizație să remedieze riscurile de securitate. Dar cel mare va fi cuprinzător despre toate vulnerabilitățile descoperite și scorurile lor CVVS, rezumatele riscurilor tehnice, impactul posibil asupra afacerii, acoperirea detaliată a dificultății de exploatare și consilierea tactică.

În plus, rapoartele ar trebui să documenteze toate fazele, modelele de testare, tehnicile utilizate și activele vizate. Dacă este posibil, testatorul va avea o opinie dacă testul îndeplinește cerințele cadrului aplicabil. În concluzie, raportul este cel mai bine livrat cu o explicație generală și un ghid tehnic.

După raportarea și prezentarea rapoartelor, curățarea sistemului este crucială. Este vorba despre revenirea sistemului la modul în care era înainte de testarea restabilirii modificării la valorile implicite. Activitățile de curățare presupun retragerea tuturor executabilelor, fișierelor temporare și scripturilor din sistemele compromise, eliminarea conturilor de utilizator create pentru a se conecta la sistemul compromis și eliminarea rootkit-urilor din mediu.

Ca ultimul dintre pași, remedierea cade în mâinile organizației. Ghidată de rapoartele și constatările testelor de penetrare, organizația vizează vulnerabilitățile, analizând impacturile potențiale, informând luarea deciziilor pentru a merge mai departe și influențând strategiile de rectificare.

Deoarece această etapă este rotunjită de îmbunătățirea greșelilor din trecut, remedierea tuturor vulnerabilităților exploatabile este constrânsă într-un timp rezonabil. Uneori, această fază se poate prelungi pentru o perioadă pentru a avea teste repetate asupra actualizărilor sau a pune în aplicare teste diferite.

Aplicarea practică a testelor stilou: un ghid pas cu pas

Pentru acest exemplu, am ales să folosim cadrul Metasploit. Vă puteți crea fluxul de lucru personalizat; iată una tipică pentru a te ajuta să mergi. Începeți prin a instala cadrul.

Dacă sunteți pe Linux/macOS, utilizați comanda:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
  chmod 755 msfinstall && \
  ./msfinstall

Dacă sunteți pe Windows, utilizați cel mai recent program de instalare Windows. Sau utilizați comanda Shell:

[CmdletBinding()]
Param(
    $DownloadURL = "https://windows.metasploit.com/metasploitframework-latest.msi",
    $DownloadLocation = "$env:APPDATA/Metasploit",
    $InstallLocation = "C:\Tools",
    $LogLocation = "$DownloadLocation/install.log"
)

If(! (Test-Path $DownloadLocation) ){
    New-Item -Path $DownloadLocation -ItemType Directory
}

If(! (Test-Path $InstallLocation) ){
    New-Item -Path $InstallLocation -ItemType Directory
}

$Installer = "$DownloadLocation/metasploit.msi"

Invoke-WebRequest -UseBasicParsing -Uri $DownloadURL -OutFile $Installer

& $Installer /q /log $LogLocation INSTALLLOCATION="$InstallLocation"

Și apoi…

Începeți un proiect – Acesta va fi magazinul dvs. de date și spațiu de lucru. Deoarece este posibil să aveți cerințe diferite pentru diferite subrețele din organizația dvs., organizarea muncii vă va îmbunătăți eficiența. De exemplu, dacă aveți un test pentru echipele IT și de resurse umane, veți dori să generați rezultate separate.

  Cum să controlați manual camera iPhone (și de ce ați dori)

Sursa imaginii – MetaSploit

Obțineți date țintă – Aici adăugați date la proiect printr-o scanare de descoperire sau importând date existente. Scanați ținte pentru a enumera porturile deschise pentru a vedea serviciile unei rețele. Utilizați opțiunea de scanare. Apoi, introduceți adresele IP la care doriți să lucrați, fiecare într-o singură linie. De asemenea, puteți utiliza opțiunea de import pentru a importa date dintr-un fișier local.

Sursa imaginii – MetaSploit

Vizualizați/Gestionați datele gazdei – Puteți arunca o privire asupra datelor de la nivel de gazdă sau de proiect. Puteți comuta între fiecare IP pentru a avea o singură vizualizare a gazdei.

Sursa imaginii – MetaSploit

Scanare pentru vulnerabilități – Lansați o scanare a vulnerabilităților prin opțiunile Nexpose. Acest pas folosește bazele de date cu vulnerabilități pentru a se potrivi dacă este găsită.

Exploatați vulnerabilități – Puteți exploata vulnerabilitățile printr-o soluție fără întreruperi expert de validare. Alternativ, Nexpose va funcționa în continuare.

Activitate post exploatare – Colectați date din exploatare prin fila sesiune; faceți clic pe „colectați“.

Sursa imaginii – MetaSploit

Curățare – Când ați terminat de colectat date, utilizați opțiunea „curățare” pentru a încheia sesiunea și a șterge sistemul.

Generați rapoarte – La sfârșitul testului, Metasploit vă oferă o serie de rapoarte care reprezintă un punct de plecare pentru consolidarea datelor și compilarea rezultatelor.

Un ghid rapid detaliat despre testele stiloului poate fi găsit pe Ghidul de pornire rapidă al Metasploit.

Instrumente comune de testare a stiloului

Unele instrumente comune includ Sn1per, Metasploit și Commix.

#1. Sn1per

Sn1per este un instrument de investigare a vulnerabilităților care validează impactul atacurilor la nivelul clientului în cazurile de hack. Îl puteți folosi pentru a simula atacuri de la distanță și atacuri ale utilizatorului într-un mediu controlat. Sn1per are 6k stele GitHub. De asemenea, acționează ca mijloc media al instrumentului. Cu Sn1per, puteți economisi timp prin automatizarea instrumentelor open-source și comerciale pentru a enumera vulnerabilitățile.

#2. Metasploit

Metasploit este un cadru de testare gigant dezvoltat de unitatea de cunoștințe partajate între comunitățile open-source. Are 31.2k stele pe GitHub, ceea ce indică un interes puternic pentru lumea software. Metasploit este susținut de o colaborare a pasionaților de securitate, care vizează abordarea vulnerabilităților și creșterea gradului de conștientizare a securității.

#3. Commix

Commix este un instrument excelent de exploatare a injecției comenzii sistemului de operare. În timp ce Commix este specializat în vulnerabilități de injectare de comandă, este ușor de utilizat, gratuit și open source, compatibil cu mai multe platforme, portabil și modularizat. A luat 4k stele GitHub. Este gratuit și open source.

Cuvinte finale

Defalcarea etapelor de testare a pătrunderii este esențială pentru întreprinderi pentru a spori rezistența produselor lor digitale cu atacuri cibernetice crescute. Pe măsură ce criminalii cibernetici ocolesc soluțiile tradiționale de securitate, simularea atacurilor din lumea reală prin teste de penetrare este o modalitate eficientă de a naviga pe peisajul amenințărilor cibernetice în continuă evoluție.

Adaptând testul stiloului în funcție de nevoile specifice ale organizației dvs., puteți asigura eficiența politicilor de securitate. Trecerea prin toate etapele testului de penetrare vă asigură că obțineți cel mai bun ROI pentru investițiile în securitatea cibernetică.

Pentru a avea un test de succes al stiloului, fii inteligent în privința asta. Începeți prin a obține informații despre test. Construiți pe acele informații până la nivel de recunoaștere. Un bun punct de plecare pentru recunoașterea dumneavoastră este definirea obiectivelor de aplicare care trebuie vizate pe sistemul care urmează să fie verificat.

Apoi, scanați sistemul pentru a avea cunoștințe aprofundate și pentru a identifica vulnerabilitățile. Continuați cu Lansarea unui atac în timp ce doriți să nu deteriorați sistemul. Apoi, generați rapoarte utile care ghidează acțiunile de remediere. Nu uitați să curățați și să restabiliți sistemul la starea inițială.

Atunci când sunt utilizate corect, testele de penetrare îmbunătățesc postura de securitate a organizației dvs. prin identificarea și remedierea vulnerabilităților. Pe măsură ce multe organizații migrează către cloud și îmbrățișează noi tehnologii, testele de penetrare devin critice pentru domeniul securității informațiilor. De fapt, 75% dintre întreprinderi folosesc teste de stilou pentru a examina postura de securitate. Sau din motive de conformitate. Dacă puteți acorda o atenție mare și tratați fiecare etapă a testului în mod independent, veți găsi întotdeauna valoarea pentru efectuarea testelor de penetrare.

Apoi, consultați instrumentele gratuite de testare a penetrației online (Pentest) pentru a testa securitatea aplicației.