7 Faser og trinn for penetrasjonstesting forklart

I 1967 jobbet datasikkerhetseksperter fra Rand Corporation, Willis Ware, Rein Turn, Harold Petersen og Benard Peters på en rapport etter en felles datakonferanse som erklærte at kommunikasjonsmedier mellom datamaskiner var lett gjennomtrengelige.

Den første penetrasjonen noensinne for brudd på datasikkerhet ble laget. Og med det utviklet James P. Anderson en steg-for-steg-tilnærming som dannet grunnlaget for penetrasjonstesting.

Strukturen var enkel; sikkerhetsteam vil gå gjennom flere stadier, fra å oppdage en sårbarhet til å utvikle måter å motvirke den. Her er en kort historie med penetrasjonstesting.

Å utnytte en bedrifts sikkerhet er ikke lett og krever dyktighet og tid. Men med dagens teknologi er det lett for dårlige aktører å finne organisasjonens sårbare punkter. Penetrasjoner retter seg mot et selskaps eiendeler som er synlige på internett (for eksempel en nettapplikasjon, nettsiden, domenenavnservere (DNS) og e-poster) for å få tilgang og trekke ut verdifulle data.

Ved å bruke penetrasjonstester kan bedriften din identifisere og styrke den mulige overflaten av angrep før utnyttelse. Forskning støtter det: En massiv 73 % av vellykkede brudd har vært gjennom gjennomtrengende webapplikasjoner fra sårbarhetene deres.

Men mer enn noen gang må organisasjoner validere sikkerheten til sine applikasjoner, systemer og nettverk. Å lansere simulerte tester er en effektiv måte å ratifisere et systems sikkerhetsstyrke og kontrolltiltak. Det er ikke en engangsaktivitet, men en vanlig. Hyppigheten av testene er basert på din bedrifts organisasjonsstruktur og risikoer løst fra vurderinger.

Heldigvis er penetrasjonstester ikke kompliserte. Ved å utstyre IT-teamene dine med de nødvendige ferdighetene, kan organisasjonen din konsekvent implementere sikkerhet, spesielt ved betydelige infrastrukturoppdateringer eller introduksjon av nye digitale tjenester og eiendeler.

Og det hele starter med å forstå hva prosessen handler om.

Hva er penetrasjonstesting?

Før du går inn i hvordan, vil det være best å svare på hva og hvorfor. Penetrasjonstester (ofte forkortet som pennetester) er et offisielt akseptert cyberangrep rettet mot firmaer i et sikkert og kontrollert miljø.

Kombinert med sikkerhetsrevisjoner, forsøker pennetester å avdekke sårbarheter under et administrert omfang av organisasjonsmiljø. Taktisk sett tar testene en lignende tilnærming til hva en hacker følger. Noen hovedårsaker til at bedriften din trenger pennetester inkluderer:

  • Avdekke skjulte sårbarheter før angripere.
  • Styrking av sikkerhetsprosesser og strategier.
  • Redusere utbedringskostnader og redusere oppholdstiden.
  • Overholdelse av forskriftsoverholdelse rundt sikkerhet/personvern.
  • Bevare merkevarens omdømme og opprettholde kundelojalitet.

Pennetester undersøker bedriftens helse (motstandsdyktighet mot angrep) og viser hvor enkelt hackere bryter systemene dine. I tillegg kan innsamlet innsikt være nyttig for å hierarkisere cybersikkerhetsinvesteringer, følge industristandarder og forbedre defensive strategier for å beskytte bedriften din mot sannsynlige trusler. Men det er alt mulig gjennom automatiserte testverktøy kalt penetrasjonsverktøy.

Hva er Pen Test Tools?

En etisk hacker bruker pennetestverktøy for å evaluere motstandskraften til datainfrastruktur gjennom simulering av verdensangrep. Ved å bruke disse verktøyene kan sikkerhetsteam eliminere repeterende testarbeid, generere testrapporter raskere og redusere kostnadene for flere skannere.

Som du kanskje har gjettet, er det mange typer: åpen kildekode, nettapp, nettverk, mobilapp, sky, manuell, automatisert og penetrasjonstesting som en tjeneste. Mange som de er, ville det være best å se etter nøkkelfunksjoner som handlingsrettede rapporter, CI/CD-integrasjon, utbedringsstøtte og pennetestsertifikater (bare noen få vil tilby offentlig tilgjengelige penntestsertifikater).

Med det grunnlaget, la oss bryte ned penetrasjonstestingsprosessen.

Stadier av penetrasjonstesting

I en typisk penetrasjonstest finner du flere stadier. Mens ulike ressurser vil gi prosessen i forskjellige trinn, endres ikke den generelle strukturen. Prosessen innebærer rekognosering, skanning, vurdering av sårbarheter, utnyttelse og rapportering.

  Slik kaster du (eller selger) Smarthome-maskinvare på en sikker måte

Igjen, de beste testerne gjør seg kjent med mange verktøy for å bruke det riktige verktøyet i hver testfase. Hver milepæl i prosessen kan oppfattes som følger.

Informasjonsinnhenting

Ofte utelatt, hjelper denne fasen organisasjonen din med å etablere et felles grunnlag med pennetesteren. På dette stadiet definerer du arbeidsomfanget, engasjementsregler, tidslinjer og presis logistikk med klare mål og mål.

For å ha en komplett og nyttig pennetest, hjelper denne fasen deg å forstå områdene som trenger testing og de beste metodene. Som et nybegynnertrinn vil du alltid være opptatt av å ikke overse det.

Før man tester et system, må en organisasjon samtykke til testeren. Ellers kan handlingene hans anses som ulovlige. Organisasjoner legger klare regler (i en kontrakt) for en jevn arbeidsflyt når de engasjerer testere. Avtalen bør også skildre kritiske eiendeler, testmål og forholdsregler. I tillegg påvirker dette trinnet alle påfølgende handlinger. På slutten er alle planer på linje med de forventede testresultatene.

Rekognosering/OSINT-samling

I denne fasen samler testerne all tilgjengelig informasjon om systemet. Dataene som er innhentet er knyttet til kommende tester og drevet av trinn én-resultater. På den måten blir testerne nøyaktige om dataene som skal samles inn og strategier som skal implementeres. Hvis du velger en aktiv rekognosering, kobler testeren direkte inn systemene. Tar du det passive innhentes offentlig tilgjengelig informasjon. For en omfattende en, bruk begge teknikkene.

Aktiv datainnsamling innebærer arbeid med nettverk, operativsystemer, brukerkontoer, domenenavn, e-postservere og applikasjoner. Passiv datainnsamling handler om åpen kildekodeintelligens; man kan bruke sosiale medier, skatteinformasjon, nettsider og andre offentlige data.

Her er noen åpen kildekode etterretningsverktøy (OSINT) mine kolleger og jeg har funnet nyttige og enkle å bruke når de samler inn og relaterer informasjon på nettet. Ved å bruke OSINT-rammeverket kan du lage en omfattende sjekkliste for inngangspunkter og sårbarheter. Selv om dette trinnet er nøkkelen for interne og eksterne pennetester, gjøres det ikke i nettapplikasjoner, mobilapper og API-testing.

Skanning

En grundig teknisk gjennomgang av systemet er neste i køen. Gjennom skanneverktøy som automatiserte sårbarhetsskannere og nettverkskartleggere kan du forstå hvordan målsystemet reagerer på ulike inntrengninger, åpne porter, nettverkstrafikk, etc.

Hovedkomponentene i dette stadiet er skanning og analyse av eiendeler. Du kan bruke verktøy som Nmap å avdekke datatjenester og verter, sende pakker og analysere svar. Ved slutten av dette stadiet er du utstyrt med informasjon om eiendeler. Dette inkluderer operativsystemer, kjørende tjenester og åpne porter.

Ved å analysere resultatene har du grunnlaget for å plotte en utnyttelse. Du kan kartlegge systemets digitale landskap og lokalisere mulige angrepspunkter. Du kan utføre statisk og dynamisk analyse for å få en klar forståelse av systemets respons på ulike forhold.

Statisk analyse inspiserer koden til applikasjonene dine mens de ennå ikke skal kjøres; du kan bruke verktøy til å skanne kodebaser sømløst. For dynamikken inspiserer du koden mens applikasjonen kjører. Husk at informasjonen som samles inn her må være nøyaktig og innhentet riktig, siden suksessen til påfølgende faser avhenger av den.

Vurdering/tilgangsgevinst

På dette tidspunktet hjelper all data samlet inn i de foregående trinnene å finne sårbarheter og om de kan utnyttes. Selv om dette stadiet er nyttig, er det superkraftig når det kombineres med andre penetrasjonstestprosesser.

For å evaluere de tilknyttede risikoene fra oppdagede sårbarheter, henvender testerne seg til flere ressurser; den ene er National Vulnerability Database (NVD), som analyserer programvarefølsomheter publisert i Common Vulnerabilities and Exposures (CVEs).

Deretter identifiserer du mål og kartlegger angrepsvektorer. Målområder inkluderer verdifulle eiendeler som ansattdata, kundeinformasjon, partnere/leverandørkjeder, leverandører, porter, apper og protokoller. Web-app-angrep blir lansert.

  Slik kansellerer du BET Plus-abonnement

De vanligste er SQL-injeksjon, skripting på tvers av nettsteder og bakdører. Systemet utnyttes ved å eskalere privilegier, trafikkavlytting og stjele data for å avsløre skadevirkninger. Etter omfanget som er definert i informasjonsinnhentingsstadiene, er testeren opptatt av å jobbe med de spesifiserte begrensningene.

Utnyttelse

Også kjent som vedlikeholdstilgangsstadiet, sjekker testeren om sårbarhetene kan brukes. Denne fasen innebærer et faktisk brudd og prøveversjon for å få tilgang til systemet. Ved å bruke verktøy som Metasploit simulerer testeren et angrep fra den virkelige verden.

Etter hvert som dette stadiet skrider frem, holdes testeren ansvarlig for en organisasjons ressurser – for å sikre at systemene ikke kompromitteres etter simuleringer.

Metasploit foretrekkes for sine smidige operasjoner med å utnytte sårbarheter. Dette stadiet måler effekten av et brudd. Testeren kan prøve å kryptere eller eksfiltrere data og simulere løsepengevare og zero-day angrep. Nøkkelen til en vellykket penntest er å finne en balanse mellom å flytte grenser og opprettholde et systems integritet.

Eksperter er best å jobbe med; de utnytter sårbarheter som slipper gjennom automatisering. Ved slutten av denne fasen har du forsøkt å oppnå høynivårettigheter i system- og nettverksinformasjon ved å identifisere tilgjengelige data. Den etiske hackeren bør også forklare resultatene av utnyttelsen av mål med høy verdi.

Risikoanalyse og anbefaling, gjennomgang, rapportering

Ved å gå forbi utnyttelsesfasen genererer testeren en rapport som dokumenterer funnene. Rapporten bør brukes når du fikser de avdekkede sårbarhetene.

En god pennetestrapport er et oppbevaringssted for godt dokumenterte sårbarheter i innhold som hjelper en organisasjon med å utbedre sikkerhetsrisikoer. Men den store vil være omfattende om alle oppdagede sårbarheter og deres CVVS-score, kort om tekniske risikoer, mulig innvirkning på virksomheten, detaljert dekning av utnyttelsesproblemer og taktisk rådgivning.

I tillegg skal rapportene dokumentere alle faser, testmodeller, teknikker som brukes og målrettede eiendeler. Testeren vil om mulig ha en mening om testen oppfyller gjeldende rammebehov. Avslutningsvis er rapporten best levert med en generell forklaring og en teknisk veiledning.

Etter rapportering og presentasjon av rapporter er det avgjørende å rydde opp i systemet. Det handler om å tilbakestille systemet til hvordan det var før testen gjenopprette modifikasjon til standardverdier. Oppryddingsaktiviteter innebærer å trekke tilbake alle kjørbare filer, midlertidige filer og skript fra kompromitterte systemer, eliminering av brukerkontoer opprettet for å koble til det kompromitterte systemet, og avskaffelse av rootkits i miljøet.

Som det siste av trinnene faller utbedring i hendene på organisasjonen. Veiledet av penetrasjonstestrapportene og funnene, retter organisasjonen seg mot sårbarhetene, analyserer potensielle påvirkninger, informerer beslutningstaking om å gå videre og påvirker utbedringsstrategier.

Siden dette stadiet er avrundet med forbedring av tidligere feil, er utbedring av alle utnyttbare sårbarheter begrenset innen rimelig tid. Noen ganger kan denne fasen strekke seg over en stund for å ha gjentatte tester på oppdateringer gjort eller vedta forskjellige tester.

Praktisk anvendelse av pennetester: en trinn-for-trinn-veiledning

For dette eksempelet har vi valgt å bruke Metasploit-rammeverket. Du kan lage din egendefinerte arbeidsflyt; her er en typisk for å komme deg i gang. Start med å installere rammeverket.

Hvis du bruker Linux/macOS, bruk kommandoen:

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

Hvis du bruker Windows, bruk siste Windows installasjonsprogram. Eller bruk Shell-kommandoen:

[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"

Og så…

Start et prosjekt – Dette vil være din butikk for data og arbeidsområde. Siden du kan ha ulike krav til ulike undernett i organisasjonen, vil organisering av arbeidet forbedre effektiviteten. Hvis du for eksempel har en pennetest for IT- og personalteamene, vil du generere separate resultater.

  Et verdig Google Analytics-alternativ?

Bildekilde – MetaSploit

Få måldata – Her legger du til data til prosjektet ditt gjennom en oppdagelsesskanning eller importerer eksisterende data. Skann mål for å telle opp åpne porter for å se et nettverks tjenester. Bruk skannealternativet. Deretter skriver du inn IP-adressene du vil jobbe med, hver på en enkelt linje. Du kan også bruke importalternativet til å importere data fra en lokal fil.

Bildekilde – MetaSploit

Vis/administrer vertsdata – Du kan se på dataene fra verts- eller prosjektnivå. Du kan veksle mellom hver IP for å ha en enkelt vertsvisning.

Bildekilde – MetaSploit

Skann etter sårbarheter – Start en sårbarhetsskanning gjennom Nexpose-alternativene. Dette trinnet utnytter sårbarhetsdatabaser for å matche hvis noen blir funnet.

Utnytt sårbarheter – Du kan utnytte sårbarheter gjennom en sømløs valideringsveiviser. Alternativt vil Nexpose fortsatt fungere.

Post-utnyttelsesaktivitet – Samle inn data fra utnyttelsen gjennom øktfanen; klikk på «samle inn».

Bildekilde – MetaSploit

Rydd opp – Når du er ferdig med å samle inn data, bruk alternativet «rydde opp» for å avslutte økten og rydde opp i systemet.

Generer rapporter – På slutten av pennetesten gir Metasploit deg en rekke rapporter som er et utgangspunkt for datakonsolidering og resultatkompilering.

En detaljert hurtigstartguide for pennetester finner du på Metasploits hurtigstartguide.

Vanlige penntestverktøy

Noen vanlige verktøy inkluderer Sn1per, Metasploit og Commix.

#1. Sn1per

Sn1per er et sårbarhetsundersøkelsesverktøy som validerer virkningen av klientsideangrep i hack-tilfeller. Du kan bruke den til å simulere fjern- og brukerangrep i et kontrollert miljø. Sn1per har 6k GitHub stjerner. Den fungerer også som medieuttaket på verktøyet. Med Sn1per kan du spare tid ved å automatisere åpen kildekode og kommersielle verktøy for å telle opp sårbarheter.

#2. Metasploit

Metasploit er en gigantisk pennetestramme utviklet av enheten av delt kunnskap mellom åpen kildekode-samfunn. Den har 31,2 000 stjerner på GitHub, noe som indikerer en sterk interesse for programvareverdenen. Metasploit støttes av et samarbeid mellom sikkerhetsentusiaster som er tenkt å adressere sårbarheter og øke sikkerhetsbevisstheten.

#3. Commix

Commix er et flott verktøy for utnyttelse av OS kommandoinjeksjon. Mens Commix spesialiserer seg på kommandoinjeksjonssårbarheter, er det enkelt å bruke, gratis og åpen kildekode, kryssplattformkompatibelt, bærbart og modularisert. Det fikk 4k GitHub stjerner. Det er gratis og åpen kildekode.

Siste ord

Å bryte ned penetrasjonsteststadiene er avgjørende for at bedrifter skal forbedre motstandskraften til sine digitale produkter med økte cyberangrep. Ettersom cyberkriminelle omgår tradisjonelle sikkerhetsløsninger, er simulering av virkelige angrep gjennom penetrasjonstesting en effektiv måte å navigere i det stadig utviklende cybertrussellandskapet.

Ved å skreddersy pennetesten til organisasjonens spesifikke behov, kan du sikre effektivitet i sikkerhetspolicyer. Å gå gjennom alle stadier av penetrasjonstesten sikrer at du får den beste avkastningen for dine cybersikkerhetsinvesteringer.

For å ha en vellykket pennetest, vær smart med det. Begynn med å skaffe informasjon om testen. Bygg på den informasjonen til rekognoseringsnivået. Et godt utgangspunkt for rekognoseringen din er å definere omfangsmålene som skal rettes mot systemet som skal kontrolleres.

Skann deretter systemet for å ha en grundig kunnskap og identifisere sårbarheter. Fortsett til å starte et angrep mens du er opptatt av å ikke skade systemet. Generer deretter nyttige rapporter som veileder utbedringshandlinger. Husk å rydde opp og gjenopprette systemet til sin opprinnelige tilstand.

Når de brukes riktig, forbedrer penetrasjonstester organisasjonens sikkerhetsstilling ved å identifisere og fikse sårbarheter. Ettersom mange organisasjoner migrerer til skyen og omfavner nye teknologier, blir penetrasjonstester kritiske for informasjonssikkerhetsdomenet. Faktisk, 75 % av bedriftene bruker pennetester å undersøke sikkerhetsstilling. Eller av hensyn til samsvar. Hvis du kan gi rikelig oppmerksomhet og behandle hvert trinn av testen uavhengig, vil du alltid finne verdien for å kjøre penetrasjonstester.

Deretter kan du sjekke ut gratis verktøy for penetrasjonstesting (Pentest) for å teste applikasjonssikkerhet.