Penetration Testing Tutorial: Hva er PenTest?

Penetrasjonstesting

Penetration Testing eller Pen Testing er en type sikkerhetstesting som brukes til å avdekke sårbarheter, trusler og risikoer som en angriper kan utnytte i programvare, nettverk eller webapplikasjoner. Hensikten med penetrasjonstesting er å identifisere og teste alle mulige sikkerhetsproblemer som finnes i programvaren. Penetrasjonstesting kalles også Pen Test.

Sårbarhet er risikoen for at en angriper kan forstyrre eller få autorisert tilgang til systemet eller data som finnes i det. Sårbarheter innføres vanligvis ved et uhell under programvareutvikling og implementeringsfase. Vanlige sårbarheter inkluderer designfeil, konfigurasjonsfeil, programvarefeil etc. Penetrasjonsanalyse avhenger av to mekanismer, nemlig sårbarhetsvurdering og penetrasjonstesting (VAPT).

Hvorfor penetrasjonstesting?

Penetrasjon er viktig i en bedrift fordi -

  • Finansielle sektorer som banker, investeringsbank, børshandel ønsker at dataene deres skal sikres, og penetrasjonstesting er viktig for å sikre sikkerhet
  • I tilfelle programvaresystemet allerede er hacket og organisasjonen ønsker å avgjøre om det fortsatt er noen trusler i systemet for å unngå fremtidige hacks.
  • Proaktiv penetrasjonstesting er den beste beskyttelsen mot hackere

Typer av penetrasjonstesting:

Hvilken type penetrasjonstest som er valgt, avhenger vanligvis av omfanget og om organisasjonen ønsker å simulere et angrep fra en ansatt, Network Admin (Interne kilder) eller av Eksterne kilder. Det er tre typer penetrasjonstesting, og det er de

  • Black Box Testing
  • White Box Penetration testing
  • Grå boks penetrasjonstesting

I svart-boks penetrasjonstesting har en tester ingen kunnskap om systemene som skal testes. Han er ansvarlig for å samle inn informasjon om målnettverket eller systemet.

I en hvit-boks penetrasjonstest, blir testeren vanligvis forsynt med fullstendig informasjon om nettverket eller systemene som skal testes, inkludert IP-adresseskjema, kildekode, OS-detaljer, etc. Dette kan betraktes som en simulering av et angrep av enhver Interne kilder (Ansatte i en organisasjon).

I en grå penetrasjonstesting får en tester delvis kjennskap til systemet. Det kan betraktes som et angrep fra en ekstern hacker som hadde fått ulovlig tilgang til organisasjonens nettverksinfrastrukturdokumenter.

Hvordan gjøre penetrasjonstesting

Følgende er aktiviteter som må utføres for å utføre penetrasjonstest -

Trinn 1) Planleggingsfase

  1. Oppgavens omfang og strategi bestemmes
  2. Eksisterende sikkerhetspolicyer brukes standarder for å definere omfanget

Trinn 2) Oppdagelsesfase

  1. Samle så mye informasjon som mulig om systemet, inkludert data i systemet, brukernavn og til og med passord. Dette kalles også som FINGERPRINTING
  2. Skann og sonder inn i portene
  3. Kontroller om det er sårbarheter i systemet

Trinn 3) Angrepsfase

  1. Finn utnyttelser for ulike sårbarheter. Du trenger nødvendige sikkerhetsrettigheter for å utnytte systemet

Trinn 4) Rapporteringsfase

  1. En rapport må inneholde detaljerte funn
  2. Risiko for sårbarheter funnet og deres innvirkning på virksomheten
  3. Anbefalinger og løsninger, hvis noen

Den viktigste oppgaven i penetrasjonstesting er å samle systeminformasjon. Det er to måter å samle informasjon på -

  • 'One to one' eller 'one to many' modell med hensyn til vert: En tester utfører teknikker på en lineær måte mot enten en målvert eller en logisk gruppering av målvert (f.eks. Et subnett).
  • 'Mange til en' eller 'mange til mange' -modellen: Testeren bruker flere verter til å utføre informasjonsinnsamlingsteknikker i en tilfeldig, hastighetsbegrenset og ikke-lineær.

Eksempler på penetrasjonstestverktøy

Det er et bredt utvalg av verktøy som brukes i penetrasjonstesting, og de viktige verktøyene er:

  1. NMap- Dette verktøyet brukes til å gjøre portskanning, OS-identifikasjon, spore ruten og for sårbarhetsskanning.
  2. Nessus- Dette er et tradisjonelt nettverksbasert sårbarhetsverktøy.
  3. Pass-The-Hash - Dette verktøyet brukes hovedsakelig til passordknusing.

Roll og ansvar for penetrasjonstestere:

Penetration Testers jobb er å:

  • Testere bør samle inn nødvendig informasjon fra organisasjonen for å muliggjøre penetrasjonstester
  • Finn feil som kan tillate hackere å angripe en målmaskin
  • Pennetestere bør tenke og oppføre seg som ekte hackere, om enn etisk.
  • Arbeid utført av Penetration-testere bør være reproduserbare, slik at det blir enkelt for utviklere å fikse det
  • Startdato og sluttdato for utførelse av test bør defineres på forhånd.
  • En tester skal være ansvarlig for tap av systemet eller informasjon under programvaretestingen
  • En tester skal holde data og informasjon konfidensiell

Manuell penetrasjon vs. automatisert penetrasjonstesting:

Manuell penetrasjonstesting Automatisert penetrasjonstesting
Manuell testing krever eksperter til å kjøre testene Automatiserte testverktøy gir klare rapporter med mindre erfarne fagfolk
Manuell testing krever Excel og andre verktøy for å spore det Automatiseringstesting har sentraliserte og standardverktøy
I manuell testing varierer resultatene fra test til test Når det gjelder automatiserte tester, varierer ikke resultatene fra test til test
Minneopprydding bør huskes av brukerne Automatisert testing vil ha omfattende oppryddinger.

Ulemper ved penetrasjonstesting

Penetration Testing finner ikke alle sårbarheter i systemet. Det er begrensninger i tid, budsjett, omfang, ferdigheter til penetrasjonstestere

Følgende vil være bivirkninger når vi gjør penetrasjonstesting:

  • Datatap og korrupsjon
  • Nedetid
  • Øk kostnadene

Konklusjon:

Testere bør oppføre seg som en ekte hacker og teste applikasjonen eller systemet og må sjekke om en kode er trygt skrevet. En penetrasjonstest vil være effektiv hvis det er en godt implementert sikkerhetspolitikk. Politikk og metodikk for penetrasjonstesting bør være et sted å gjøre penetrasjonstesting mer effektiv. Dette er en komplett nybegynnerveiledning for penetrasjonstesting.

Sjekk vårt Live Penetration Testing Project

Interessante artikler...