complete penetration testing guide with sample test cases
Det er processen til at identificere sikkerhedssårbarheder i en applikation ved at evaluere systemet eller netværket med forskellige ondsindede teknikker. De svage punkter i et system udnyttes i denne proces gennem et autoriseret simuleret angreb.
Formålet med denne test er at sikre vigtige data fra udenforstående som hackere, der kan have uautoriseret adgang til systemet. Når sårbarheden er identificeret, bruges den til at udnytte systemet for at få adgang til følsomme oplysninger.
En penetrationstest er også kendt som pen-testen, og en penetrationstester kaldes også en etisk hacker.
Hvad du lærer:
- Hvad er penetrationstest?
- Konklusion
Hvad er penetrationstest?
Vi kan finde ud af sårbarhederne i et computersystem, en webapplikation eller et netværk gennem penetrationstest.
En penetrationstest fortæller, om de eksisterende defensive tiltag, der anvendes på systemet, er stærke nok til at forhindre sikkerhedsbrud. Penetrationstestrapporter antyder også de modforanstaltninger, der kan træffes for at reducere risikoen for, at systemet bliver hacket.
Årsager til sårbarheder
- Design- og udviklingsfejl : Der kan være fejl i designet af hardware og software. Disse bugs kan sætte dine forretningskritiske data i fare for eksponering.
- Dårlig systemkonfiguration : Dette er en anden årsag til sårbarhed. Hvis systemet er dårligt konfigureret, kan det introducere smuthuller, hvorigennem angribere kan komme ind i systemet og stjæle oplysningerne.
- Menneskelige fejl : Menneskelige faktorer som forkert bortskaffelse af dokumenter, efterladelse af dokumenter uden opsyn, kodningsfejl, insidertrusler, deling af adgangskoder over phishing-websteder osv. Kan føre til sikkerhedsbrud.
- Forbindelse : Hvis systemet er tilsluttet et usikret netværk (åbne forbindelser), kommer det inden for rækkevidde af hackere.
- Kompleksitet : Sikkerhedssårbarheden stiger i forhold til kompleksiteten i et system. Jo flere funktioner et system har, jo flere chancer for at systemet bliver angrebet.
- Adgangskoder : Adgangskoder bruges til at forhindre uautoriseret adgang. De skal være stærke nok til, at ingen kan gætte dit kodeord. Adgangskoder bør ikke deles med nogen for enhver pris, og adgangskoder skal ændres med jævne mellemrum. På trods af disse instruktioner afslører folk til tider deres adgangskoder for andre, skriver dem ned et eller andet sted og har nemme adgangskoder, der kan gættes.
- Brugerinput : Du skal have hørt om SQL-injektion, bufferoverløb osv. De data, der modtages elektronisk via disse metoder, kan bruges til at angribe det modtagende system.
- Ledelse : Sikkerhed er hård og dyr at administrere. Undertiden mangler organisationer i korrekt risikostyring, og derfor bliver sårbarhed induceret i systemet.
- Manglende uddannelse til personalet : Dette fører til menneskelige fejl og andre sårbarheder.
- Meddelelse : Kanaler som mobilnetværk, internet, telefon åbner omfanget af sikkerhedstyveri.
Penetrationstestværktøjer og virksomheder
Automatiske værktøjer kan bruges til at identificere nogle standard sårbarheder, der findes i en applikation. Pentest-værktøjer scanner kode for at kontrollere, om der er en ondsindet kode, der kan føre til et potentielt sikkerhedsbrud. Pentest-værktøjer kan verificere sikkerhedskløfter, der findes i systemet, ved at undersøge datakrypteringsteknikker og finde ud af hårdkodede værdier som brugernavn og adgangskode.
Kriterier for at vælge det bedste penetrationsværktøj:
- Det skal være let at implementere, konfigurere og bruge.
- Det skal scanne dit system let.
- Det skal kategorisere sårbarheder baseret på sværhedsgrad, der har brug for en øjeblikkelig løsning.
- Det skal være i stand til at automatisere verifikationen af sårbarheder.
- Det skal re-verificere udnyttelser fundet tidligere.
- Det skal generere detaljerede sårbarhedsrapporter og logfiler.
Når du først ved, hvilke tests du skal udføre, kan du enten træne dine interne testressourcer eller ansætte ekspertkonsulenter til at udføre penetrationsopgaven for dig.
Anbefalede penetrationstestværktøjer
# 1) Acunetix
Acunetix WVS tilbyder sikkerhedsprofessionelle og softwareingeniører en række fantastiske funktioner i en nem, ligetil og meget robust pakke.
=> Prøv det bedste pen-testværktøj her
# 2) Indtrænger
Ubuden gæst er en stærk sårbarhedsscanner, der finder cybersikkerhedssvagheder i din digitale ejendom, forklarer risiciene og hjælper med deres afhjælpning, før et brud kan forekomme. Det er det perfekte værktøj til at automatisere din penetrationstestindsats.
Nøglefunktioner :
- Over 9.000 automatiserede checks på tværs af hele din it-infrastruktur.
- Infrastruktur- og weblagskontrol, såsom SQL-injektion og scripting på tværs af websteder.
- Scanner automatisk dine systemer, når nye trusler opdages.
- Flere integrationer: AWS, Azure, Google Cloud, API, Jira, Teams og mere.
- Intruder tilbyder en 30-dages gratis prøveversion af sin Pro-plan.
Anbefalet penetrationstestfirma
# 1) ImmuniWeb®
ImmuniWeb® er en penetrationstestvirksomhed med base i Genève, Schweiz. Dens DevSecOps-aktiverede applikationsindtrængningstestplatform kombinerer mennesker med kunstig intelligens og leveres med nul falsk-positiv SLA, detektion af højeste sårbarhed og rapporterbar handling.
ImmuniWeb tilbyder omfattende applikationspenetrationstest af interne og eksterne web- og mobilapps, API'er og webservices, mailservere, IoT-enheder og mere.
Nøglefunktioner:
- Kontinuerlig ny kodedetektion.
- Hurtig og omkostningseffektiv manuel test.
- Virtuelt patches med et enkelt klik.
- 24/7 adgang til sikkerhedsanalytikere.
- DevSecOps og CI / CD integration.
- Øjeblikkelig ordre og hurtig levering.
- Multirole dashboard.
Andre gratis værktøjer:
Kommercielle tjenester:
Du kan også henvise til nedenstående liste, der er tilgængelig på STH, der taler om 37 kraftfulde værktøjer til penetrationstest => Kraftfulde penetrationstestværktøjer til hver penetrationstester
hvor man kan se gratis anime online
Hvorfor penetrationstest?
Du må have hørt om WannaCry-ransomware-angrebet, der startede i maj 2017. Det låste mere end 2 lakh-computere rundt om i verden og krævede løsesumbetalinger i Bitcoin-kryptokurrency. Dette angreb har påvirket mange store organisationer over hele kloden.
Med sådanne massive og farlige cyberangreb, der finder sted i disse dage, er det blevet uundgåeligt at foretage penetrationstest med jævne mellemrum for at beskytte informationssystemerne mod sikkerhedsbrud.
Så penetrationstest kræves hovedsageligt til:
- Finansielle eller kritiske data skal sikres, mens de overføres mellem forskellige systemer eller over netværket.
- Mange kunder beder om pen-test som en del af softwarefrigivelsescyklussen.
- For at sikre brugerdata.
- At finde sikkerhedssårbarheder i en applikation.
- At opdage smuthuller i systemet.
- At vurdere forretningseffekten af vellykkede angreb.
- At opfylde informationssikkerhedsoverensstemmelsen i organisationen.
- At implementere en effektiv sikkerhedsstrategi i organisationen.
Enhver organisation skal identificere sikkerhedsproblemer, der findes i det interne netværk og computere. Brug af denne informationsorganisation kan planlægge et forsvar mod ethvert hackingsforsøg. Brugers privatliv og datasikkerhed er de største bekymringer i dag.
Forestil dig, om nogen hacker formår at få brugeroplysninger om sociale netværkssider som Facebook. Organisationen kan stå over for juridiske problemer på grund af et lille smuthul, der er tilbage i et softwaresystem. Derfor er store organisationer på udkig efter PCI-certificeringer (Payment Card Industry), inden de handler med tredjepartskunder.
Hvad skal testes?
- Software (operativsystem, tjenester, applikation)
- Hardware
- Netværk
- Processer
- Slutbrugeradfærd
Typer af penetrationstest
# 1) Social ingeniørprøve: I denne test forsøger man at få en person til at afsløre følsomme oplysninger som adgangskode, forretningskritiske data osv. Disse tests udføres for det meste via telefon eller internet, og det er målrettet mod visse helpdesks, medarbejdere og processer.
Menneskelige fejl er hovedårsagerne til sikkerhedssårbarhed. Sikkerhedsstandarder og politikker skal følges af alle medarbejdere for at undgå socialtekniske penetrationsforsøg. Et eksempel på disse standarder inkluderer ikke at nævne følsomme oplysninger i e-mail eller telefonkommunikation. Sikkerhedsrevisioner kan udføres for at identificere og rette procesfejl.
# 2) Webapplikationstest: Ved hjælp af softwaremetoder kan man kontrollere, om applikationen er udsat for sikkerhedssårbarheder. Det kontrollerer sikkerhedssårbarheden for webapps og softwareprogrammer, der er placeret i målmiljøet.
# 3) Fysisk gennemtrængningstest: Der anvendes stærke fysiske sikkerhedsmetoder til at beskytte følsomme data. Dette bruges generelt i militære og offentlige faciliteter. Alle fysiske netværksenheder og adgangspunkter testes for mulighederne for ethvert sikkerhedsbrud. Denne test er ikke meget relevant for omfanget af softwaretest.
# 4) Test af netværkstjenester : Dette er en af de mest udførte penetrationstest, hvor åbningerne i netværket identificeres ved hvilken indtastning der foretages i systemerne på netværket for at kontrollere, hvilken slags sårbarheder der er. Det kan gøres lokalt eller eksternt.
# 5) Test på klientsiden : Det sigter mod at søge efter og udnytte sårbarheder i softwareprogrammer på klientsiden.
# 6) Fjernopkaldskrigsskive : Det søger efter modemer i miljøet og forsøger at logge ind på de systemer, der er tilsluttet via disse modemer, ved at gætte adgangskoder eller tvinge brute.
# 7) Trådløs sikkerhedstest : Det opdager de åbne, uautoriserede og mindre sikrede hotspots eller Wi-Fi-netværk og opretter forbindelse via dem.
Ovenstående 7 kategorier, vi har set, er en måde at kategorisere typerne af penprøver på. Vi kan også organisere typerne af penetrationstest i tre dele som vist nedenfor:
Lad os diskutere denne testtilgang en efter en:
- Black Box Penetration Testing : I denne tilgang vurderer testeren målsystemet, netværket eller processen uden kendskab til dets detaljer. De har bare et meget højt niveau af input som URL eller firmanavn, hvor de trænger ind i målmiljøet. Ingen kode undersøges i denne metode.
- White Box Penetration Testing : I denne tilgang er testeren udstyret med komplette detaljer om målmiljøet - Systemer, netværk, OS, IP-adresse, kildekode, skema osv. Den undersøger koden og finder ud af design- og udviklingsfejl. Det er en simulering af et internt sikkerhedsangreb.
- Grå boks gennemtrængningstest : I denne tilgang har testeren begrænsede detaljer om målmiljøet. Det er en simulering af eksterne sikkerhedsangreb.
Pen testteknikker
- Manuel penetrationstest
- Brug af automatiserede penetrations testværktøjer
- Kombination af både manuel og automatiseret proces
Den tredje proces er mere almindelig for at identificere alle slags sårbarheder.
Manuel penetrationstest
Det er svært at finde alle sårbarheder ved hjælp af automatiserede værktøjer. Der er nogle sårbarheder, der kun kan identificeres ved manuel scanning. Penetrationstestere kan udføre bedre angreb på applikationer baseret på deres færdigheder og viden om det system, der gennemføres.
Metoderne som social engineering kan kun udføres af mennesker. Manuel kontrol inkluderer design, forretningslogik samt kodeverifikation.
Gennemgangstestproces:
Lad os diskutere den aktuelle proces efterfulgt af testbureauer eller penetrationstestere. Identifikation af sårbarheder i systemet er det første vigtige trin i denne proces. Der korrigeres for denne sårbarhed, og de samme penetrationstest gentages, indtil systemet er negativt for alle disse tests.
Vi kan kategorisere denne proces efter følgende metoder:
# 1) Dataindsamling: Forskellige metoder, herunder Google-søgning, bruges til at hente målsystemdata. Man kan også bruge websidens kildekodeanalyseteknik til at få mere information om system-, software- og plugin-versioner.
Der er mange gratis værktøjer og tjenester tilgængelige på markedet, som kan give dig information som database- eller tabelnavne, DB-versioner, softwareversioner, den anvendte hardware og forskellige tredjeparts-plugins, der bruges i målsystemet.
# 2) Vurdering af sårbarhed: Baseret på de data, der er indsamlet i det første trin, kan man finde sikkerhedssvagheden i målsystemet. Dette hjælper penetrationstestere med at starte angreb ved hjælp af identificerede indgangspunkter i systemet.
# 3) Faktisk udnyttelse: Dette er et afgørende skridt. Det kræver specielle færdigheder og teknikker for at starte et angreb på målsystemet. Erfarne penetrationstestere kan bruge deres færdigheder til at starte et angreb på systemet.
# 4) Resultat i analyse og forberedelse af rapport: Efter gennemførelse af penetrationstest udarbejdes detaljerede rapporter til korrigerende handlinger. Alle identificerede sårbarheder og anbefalede korrigerende metoder er anført i disse rapporter. Du kan tilpasse sårbarhedsrapportformat (HTML, XML, MS Word eller PDF) efter din organisations behov.
Penetrationstest Eksempler på testtilfælde (testscenarier)
Husk, dette er ikke funktionel test. I Pentest er dit mål at finde sikkerhedshuller i systemet. Nedenfor er nogle generiske testsager og ikke nødvendigvis anvendelige til alle applikationer.
- Kontroller, om webapplikationen er i stand til at identificere spamangreb på kontaktformularer, der bruges på webstedet.
- Proxy-server - Kontroller, om netværkstrafik overvåges af proxy-apparater. Proxy-serveren gør det vanskeligt for hackere at få interne detaljer om netværket og dermed beskytte systemet mod eksterne angreb.
- Spam-e-mail-filtre - Kontroller, om indgående og udgående e-mail-trafik er filtreret, og uopfordrede e-mails er blokeret.
- Mange e-mail-klienter leveres med indbyggede spamfiltre, der skal konfigureres efter dine behov. Disse konfigurationsregler kan anvendes på e-mail-overskrifter, emne eller brødtekst.
- Firewall - Sørg for, at hele netværket eller computere er beskyttet med firewalls. En firewall kan være software eller hardware til at blokere for uautoriseret adgang til et system. En firewall kan forhindre afsendelse af data uden for netværket uden din tilladelse.
- Prøv at udnytte alle servere, desktop-systemer, printere og netværksenheder.
- Kontroller, at alle brugernavne og adgangskoder er krypteret og overført via sikre forbindelser som https.
- Bekræft oplysninger gemt i webstedscookies . Det skal ikke være i et læsbart format.
- Bekræft tidligere fundne sårbarheder for at kontrollere, om rettelsen fungerer.
- Kontroller, om der ikke er nogen åben port i netværket.
- Kontroller alle telefonenheder.
- Bekræft WIFI-netværkssikkerhed.
- Bekræft alle HTTP-metoder. PUT- og Delete-metoder bør ikke aktiveres på en webserver.
- Kontroller, om adgangskoden opfylder de krævede standarder. Adgangskoden skal være mindst 8 tegn indeholdende mindst et nummer og et specialtegn.
- Brugernavn skal ikke være som 'admin' eller 'administrator'.
- Applikationsloginsiden skal være låst ved et par mislykkede loginforsøg.
- Fejlmeddelelser skal være generiske og bør ikke nævne specifikke fejloplysninger som 'Ugyldigt brugernavn' eller 'Ugyldig adgangskode'.
- Kontroller, om specialtegn, HTML-tags og scripts håndteres korrekt som en inputværdi.
- Interne systemoplysninger bør ikke afsløres i nogen af fejl- eller advarselsmeddelelserne.
- Brugerdefinerede fejlmeddelelser skal vises til slutbrugere i tilfælde af en webside nedbrud.
- Kontroller brugen af poster i registreringsdatabasen. Følsomme oplysninger bør ikke opbevares i registreringsdatabasen.
- Alle filer skal scannes, før de uploades til serveren.
- Følsomme data bør ikke videregives i URL'er, mens de kommunikerer med forskellige interne moduler i webapplikationen.
- Der skal ikke være noget hardkodet brugernavn eller adgangskode i systemet.
- Bekræft alle inputfelter med lang inputstreng med og uden mellemrum.
- Kontroller, om nulstilling af adgangskodefunktionalitet er sikker.
- Bekræft ansøgning for SQL-injektion .
- Bekræft ansøgning for Cross-site scripting .
- Vigtige inputvalideringer skal udføres på serversiden i stedet for JavaScript-kontrol på klientsiden.
- Kritiske ressourcer i systemet bør kun være tilgængelige for autoriserede personer og tjenester.
- Alle adgangslogfiler skal vedligeholdes med de rette adgangstilladelser.
- Bekræft, at brugersessionen slutter, når du logger af.
- Kontroller, at katalogbrowsing er deaktiveret på serveren.
- Kontroller, at alle applikationer og databaseversioner er opdaterede.
- Bekræft URL-manipulation for at kontrollere, om en webapplikation ikke viser nogen uønskede oplysninger.
- Bekræft hukommelseslækage og bufferoverløb.
- Kontroller, om indgående netværkstrafik scannes for at finde trojanske angreb.
- Kontroller, om systemet er sikkert fra Brute Force Attacks - en prøve- og fejlmetode til at finde følsomme oplysninger som adgangskoder.
- Kontroller, om systemet eller netværket er sikret mod DoS-angreb (denial-of-service). Hacker kan målrette mod netværk eller en enkelt computer med kontinuerlige anmodninger på grund af hvilke ressourcer på målsystemet bliver overbelastet, hvilket resulterer i tjenestenekt for legitime anmodninger.
- Bekræft applikation til HTML-scriptinjektionsangreb.
- Bekræft mod COM & ActiveX-angreb.
- Bekræft mod falske angreb. Spoofing kan være af flere typer - IP-adresse spoofing, Email ID spoofing,
- ARP spoofing, Referrer spoofing, Caller ID spoofing, Forgiftning af fildelingsnetværk, GPS spoofing.
- Se efter et ukontrolleret formatangreb - et sikkerhedsangreb, der kan få applikationen til at gå ned eller udføre det skadelige script på det.
- Bekræft XML-injektionsangreb - bruges til at ændre applikationens tilsigtede logik.
- Bekræft mod kanonikaliseringsangreb.
- Kontroller, om fejlsiderne viser oplysninger, der kan være nyttige for en hacker at komme ind i systemet.
- Kontroller, om vigtige data som adgangskoden er gemt i hemmelige filer på systemet.
- Kontroller, om applikationen returnerer flere data, end det er nødvendigt.
Dette er bare de grundlæggende testscenarier for at komme i gang med Pentest. Der er hundredvis af avancerede penetrationsmetoder, som kan udføres enten manuelt eller ved hjælp af automatiseringsværktøjer.
Yderligere læsning:
Standarder for testning af penne
- PCI DSS (Standard for betalingskortsektorens datasikkerhed)
- OWASP (Åbn webapplikationssikkerhedsprojekt)
- ISO / IEC 27002 , OSSTMM (Open Source Security Testing Methodology Manual)
Certificeringer
- GPEN
- Associeret sikkerhedstester ( AST )
- Senior sikkerhedstester (SST)
- Certificeret penetrationstester ( CPT )
Konklusion
Endelig skal du som en penetrationstester indsamle og logge alle sårbarheder i systemet. Ignorer ikke ethvert scenario i betragtning af at det ikke vil blive udført af slutbrugere.
vr headset til xbox one s
Hvis du er en penetrationstester, bedes du hjælpe vores læsere med din oplevelse, tip og eksempler på testsager om, hvordan du udfører penetrationstest effektivt.
Anbefalet læsning
- 19 Kraftige penetrationstestværktøjer, der blev brugt af professionelle i 2021
- Begyndervejledning til penetrationstest af webapplikationer
- Alpha-test og betatestning (En komplet guide)
- Netværkssikkerhedstest og de bedste netværkssikkerhedsværktøjer
- Vejledning til test af webapplikationssikkerhed
- Build Verification Testing (BVT Testing) Komplet guide
- Funktionel testning mod ikke-funktionel testning
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)