Post

Værktøjer til pentesting

Værktøjer til pentesting

Kali Linux

Kali Linux er en open-source Linux-distribution, der er specielt designet til penetrationstest, etisk hacking og IT-sikkerhedsanalyse. Det er udviklet af Offensive Security og er baseret på Debian. Kali Linux er kendt for at være et kraftfuldt værktøjssæt til sikkerhedsfagfolk og bruges bredt i sikkerhedsindustrien til at finde og udnytte sårbarheder i systemer og netværk.

Kali Linux kan enten installeres som et typisk styresystem på en computer, men der ligger også officielle virtuelle images man kan køre via fx. Virtual Box.
Man kan også køre Kali direkte fra et USB-stik.

Forudinstallerede værktøjer:

Kali Linux leveres med over 600 værktøjer til penetrationstest og sikkerhedsanalyse. Nogle populære værktøjer inkluderer:

  • Nmap: Netværksscanner.
  • Metasploit: Framework til udnyttelse af sårbarheder.
  • Wireshark: Netværksprotokolanalyse.
  • John the Ripper: Password-cracking værktøj.
  • Burp Suite: Webapplikationssikkerhedstesting.

Typiske anvendelsesområder

  • Penetrationstest: Identificere og udnytte sårbarheder i netværk, systemer og applikationer.
  • Sårbarhedsscanning: Brug af værktøjer som OpenVAS til at finde svagheder.
  • Forensics og reverse engineering: Undersøge sikkerhedshændelser og analysere malware.
  • Netværkssikkerhed: Overvåge og analysere netværksaktivitet med værktøjer som Wireshark.
  • Træning og certificering: Øve praktiske scenarier til OSCP og andre sikkerhedscertificeringer.

Burp Suite

Burp Suite er et kraftfuldt værktøjssæt til sikkerhedstest af webapplikationer. Det bruges bredt bl.a. af pen testere til at identificere og udnytte sikkerhedssårbarheder i webapplikationer. Burp Suite fungerer som en proxyserver, der opsnapper og analyserer HTTP/S-trafik mellem en klient (browser) og en server.

Intercepting Proxy:

Burp Suite’s hovedfunktion er Proxyen. Proxyen gør det muligt for Burp at fungere som en mellemmand mellem klienten (webbrowseren) og serveren, der hoster webapplikationen.

Ved at placere sig mellem disse to komponenter, kan Burp opsnappe alle udvekslinger og anmodninger, der foretages mellem webbrowseren og serveren. Penetrationstesteren vil derfor være i stand til at analysere anmodningerne i detaljer og, hvis det ønskes, ændre dem.

For at ændre anmodninger opsnapper Proxyen anmodninger én ad gangen og lader penetrationstesteren vælge, om de skal sendes videre eller afvises. Hvis de sendes videre, kan de ændres, før de overføres til serveren.

Proxyen giver også mulighed for at se historikken af anmodninger live, uden at de manuelt skal sendes til serveren. Faktisk er dette Proxyens mest brugte tilstand.

Repeater:

Repeater er modulet, der gør det muligt at afspille anmodninger efter behov. Som navnet antyder, kan penetrationstesteren gentage anmodninger og ændre dem, som det ønskes, før de sendes til serveren.

Derefter kan testeren analysere serverens svar baseret på de ændringer, der er blevet foretaget. Repeater bruges ofte til manuelt at identificere og udnytte sårbarheder.

Intruder:

Intruder er et kraftfuldt værktøj, der kan bruges til at automatisere afsendelsen af en anmodning, der indeholder en tilpasset payload. For eksempel kan Intruder bruges til automatisk at øge en værdi og sende hver inkrement til serveren. Intruder gør det muligt for penetrationstesteren at automatisere kedelige opgaver, som ville være umulige at udføre manuelt, såsom at sende flere tusinde anmodninger. Mulighederne for at bruge Intruder er næsten uendelige, og det giver mulighed for at tilføje flere payloads af samme eller forskellige typer.

Intruder har en “Positions”-fane, hvor penetrationstesteren kan definere positionen af payloaden i anmodningen. Derefter kan han vælge, hvilken type payload der skal injiceres i “Payloads”-fanen.

Typiske anvendelsesområder

  • Sårbarhedstest: Identificere sikkerhedshuller som XSS, CSRF, SQL Injection, osv.
  • Sikkerhedsanalyser: Teste og validere sikkerhedsimplementeringer i webapplikationer.
  • Udvikling og debugging: Analysere og rette fejl i webapplikationer.
  • Træning og læring: Brugt i uddannelsesmiljøer til at lære om webapplikationssikkerhed.

OWASP ZAP

OWASP ZAP (Zed Attack Proxy) er et open-source værktøj til sikkerhedstest af webapplikationer. Det er udviklet af OWASP-projektet (Open Web Application Security Project) og bruges bredt af penetrationstestere, udviklere og sikkerhedsprofessionelle til at identificere og udnytte sårbarheder i webapplikationer. ZAP fungerer som en proxyserver, der opsnapper og analyserer HTTP/S-trafik mellem klienten (browser) og serveren.

Intercepting Proxy:

ZAP’s kernefunktion er dens proxy. Proxyen gør det muligt for ZAP at fungere som en mellemmand mellem klienten (webbrowseren) og serveren, der hoster webapplikationen.

Proxyen opsnapper og logger al trafik, så penetrationstesteren kan analysere de individuelle anmodninger og svar. Det giver også mulighed for at ændre anmodninger eller svar i realtid, hvilket er nyttigt til at simulere angreb og teste, hvordan applikationen reagerer.

Denne funktion er især nyttig til at afsløre sårbarheder som SQL Injection, Cross-Site Scripting (XSS) og manglende validering af input.

Automated Scanner:

ZAP indeholder en automatiseret scanner, der er designet til hurtigt at identificere almindelige sårbarheder i webapplikationer. Denne funktion er ideel til begyndere eller til at udføre en hurtig sikkerhedscheck af en applikation.

Scanneren gennemgår applikationen, analyserer dens struktur og sender automatiserede tests for kendte sårbarheder som usikre autentificeringsmekanismer, misbrug af API’er og forkert konfigurerede sikkerhedsindstillinger.

Spider:

ZAP har en indbygget spider, som kortlægger en webapplikation ved at gennemsøge dens links, scripts og formularer. Spideren kan bruges til at finde skjulte endpoints, sårbare parametre og ueksponerede dele af applikationen.

Spider-funktionen er nyttig til at forstå applikationens struktur og identificere potentielle indgangspunkter for angreb.

Fuzzing:

ZAP tilbyder en fuzzing-funktion, der kan bruges til at udføre input-manipulation. Ved at sende forskellige typer uventet eller skadelig input til en applikation kan fuzzing afsløre sårbarheder som buffer overflows eller dårlig inputvalidering.

Testeren kan definere specifikke parametre og payloads for at simulere forskellige angrebsscenarier og evaluere, hvordan applikationen reagerer.

Manuel Testværktøjer:

Ud over automatiserede funktioner giver ZAP værktøjer til manuel test. Disse inkluderer:

  • Breakpoints: For at pause og ændre HTTP-anmodninger eller svar.
  • Session Management: Til at simulere forskellige brugerroller og sessioner.
  • Script Console: For at tilpasse testscenarier ved hjælp af scripts.

Typiske anvendelsesområder for OWASP ZAP:

  • Sårbarhedstest: Identificere fejl som XSS, CSRF og usikre API-konfigurationer.
  • Webapplikationsanalyse: Kortlægning af strukturen og potentielle sikkerhedsrisici.
  • Uddannelse og læring: Ideelt til træning i penetrationstest og webapplikationssikkerhed.
  • Udvikling og debugging: Teste sikkerheden af applikationer under udvikling.

OWASP ZAP er brugervenligt og fleksibelt, hvilket gør det til et populært værktøj for både begyndere og erfarne penetrationstestere. Dets open-source natur gør det også til et omkostningseffektivt alternativ til kommercielle værktøjer som Burp Suite.


Nmap

Nmap (Network Mapper) er et kraftfuldt open-source værktøj til netværksscanning og sikkerhedsvurdering. Det bruges af IT-sikkerhedsprofessionelle, systemadministratorer og penetrationstestere til at kortlægge netværk, identificere aktive værter, åbne porte og tjenester, samt analysere potentielle sikkerhedsrisici.

Netværksopdagelse (Host Discovery):

Nmap kan identificere aktive værter i et netværk ved at sende forskellige typer anmodninger som ICMP-forespørgsler (ping) eller TCP/UDP-pakker. Det giver et overblik over hvilke enheder, der er tilgængelige, og kan bruges til at kortlægge en organisations netværksstruktur.

Denne funktion er nyttig til at finde systemer, der kører på netværket, og til at opdage potentielle mål for yderligere analyse.

Portscanning:

Portscanning er en af Nmaps kernefunktioner. Den bruges til at identificere åbne porte og tilhørende tjenester på en vært. Nmap understøtter flere scanningsmetoder, såsom:

  • TCP Connect Scan: Opretter en fuld forbindelse til en port for at afgøre, om den er åben.
  • SYN Scan (Stealth Scan): Sender en TCP SYN-pakke for at afgøre, om en port er åben, uden at fuldføre forbindelsen.
  • UDP Scan: Kontrollerer åbne UDP-porte ved at sende passende forespørgsler.

Denne funktion er uundværlig for at finde sårbare tjenester og evaluere, hvilke porte der er eksponeret til omverdenen.

Tjeneste- og versionsgenkendelse (Service and Version Detection):

Nmap kan identificere hvilke tjenester, der kører på specifikke porte, og bestemme deres versioner. Ved hjælp af denne funktion kan penetrationstestere og systemadministratorer få detaljerede oplysninger om softwareversioner, hvilket kan bruges til at finde kendte sårbarheder.

Operativsystemgenkendelse (OS Detection):

Nmap kan også forsøge at identificere operativsystemet på en vært. Dette gøres ved at analysere unikke fingeraftryk i netværkskommunikationen, såsom TCP/IP-stakens opførsel.

Denne funktion er nyttig for at forstå systemernes opsætning og potentielle sikkerhedsrisici forbundet med bestemte operativsystemer.

Scripting:

Nmap inkluderer en kraftfuld scripting-motor, som gør det muligt at udføre avancerede scanninger og sikkerhedstest. Det giver mulighed for at bruge eller skrive skripter til specifikke opgaver, såsom:

  • Kontrol af kendte sårbarheder.
  • Brute force-angreb på login-sider.
  • Analyse af SSL-certifikater for at identificere svagheder.

Der findes et stort bibliotek af foruddefinerede scripts, som kan bruges direkte eller tilpasses efter behov.

Typiske anvendelsesområder for Nmap:

  • Netværkskortlægning: Identificere og dokumentere netværksressourcer.
  • Sårbarhedsanalyse: Identificere åbne porte, tjenester og potentielt usikre konfigurationer.
  • Sikkerhedsrevisioner: Validere netværkets sikkerhed og opdage uautoriserede enheder.
  • Træning og læring: Anvendes i uddannelsessammenhænge til at lære netværkssikkerhed og scanningsteknikker.

Nmap er kendt for sin fleksibilitet og robusthed og er et af de mest anvendte værktøjer i IT-sikkerhed. Det kan bruges på alt fra små netværk til store og komplekse infrastrukturer, hvilket gør det til en essentiel del af enhver penetrationstesters værktøjskasse.


Metasploit

Metasploit Framework er et af de mest populære værktøjer inden for penetrationstest og sikkerhedsvurdering. Det er en open-source platform, der giver penetrationstestere mulighed for at udføre exploits, udvikle payloads, og simulere angreb for at identificere og afhjælpe sikkerhedssårbarheder i netværk og applikationer.

Metasploit bruges bredt af IT-sikkerhedsprofessionelle og etiske hackere til at forstå sikkerhedsrisici og styrke organisationers forsvarsmekanismer.

Exploitation:

Metasploit indeholder et omfattende bibliotek af exploits til en lang række sårbarheder i operativsystemer, applikationer og netværksenheder. Brugere kan søge efter og vælge exploits baseret på målets softwareversion og konfiguration.

Når et exploit vælges, kan det kombineres med en payload, som definerer, hvad der sker efter sårbarheden er udnyttet, f.eks. oprettelse af en omvendt shell eller indsamling af data.

Payloads:

Payloads i Metasploit specificerer handlinger, der udføres efter en vellykket exploit. Eksempler på payloads inkluderer:

  • Reverse Shells: Giver angriberen adgang til målets kommandolinje.
  • Meterpreter: En avanceret payload, der giver fuld kontrol over målsystemet, med funktioner som filoverførsel, keylogging og skærmbilledoptagelse.
  • Privilege Escalation: Udnytter sårbarheder til at opnå administratorrettigheder.

Auxiliary Modules:

Ud over exploits tilbyder Metasploit et stort antal auxiliary-moduler til scanning, rekognoscering og brute force-angreb. Disse moduler kan bruges til opgaver som:

  • Netværksscanning og opdagelse af åbne porte.
  • Bruteforce-angreb på SSH, FTP og andre tjenester.
  • Test af svage eller forældede protokoller og krypteringsmetoder.

Post-Exploitation:

Metasploit understøtter en række post-exploitation værktøjer, der hjælper penetrationstestere med at analysere og udnytte systemer efter at have opnået adgang. Disse funktioner inkluderer:

  • Hentning af adgangskoder og hashes.
  • Opsætning af persistens for at opretholde adgang til systemet.
  • Indsamling af systemoplysninger og følsomme data.

Metasploit Console (msfconsole):

Msfconsole er Metasploits kommandolinjeværktøj, som giver brugerne fuld kontrol over frameworket. Her kan penetrationstestere søge efter exploits, konfigurere mål og payloads, samt udføre og overvåge angreb.

Msfconsole er kendt for sin fleksibilitet og kraftfulde scripting-muligheder, der gør det muligt at automatisere komplekse angreb.

Integration med andre værktøjer:

Metasploit kan integreres med andre sikkerhedsværktøjer som Nmap, Burp Suite, og OWASP ZAP for at udvide funktionaliteten. F.eks. kan data fra en Nmap-scanning importeres til Metasploit for at identificere mål og sårbarheder.

Typiske anvendelsesområder for Metasploit:

  • Sårbarhedstest: Identificere og udnytte kendte sikkerhedsfejl i systemer og applikationer.
  • Sikkerhedsvalidering: Simulere reelle angrebsscenarier for at teste organisationens forsvar.
  • Træning og læring: Bruges i sikkerhedsuddannelser til at lære penetrationstest og udnyttelse af sårbarheder.
  • Post-exploitation analyse: Identificere data og sikkerhedshuller efter adgang er opnået.

Metasploit er et uundværligt værktøj i enhver penetrationstesters værktøjskasse og er kendt for sin omfattende funktionalitet, fleksibilitet og brugervenlighed.


Wireshark

Wireshark er et kraftfuldt og bredt anvendt værktøj til netværksanalyse og fejlfinding. Det er en open-source protokolanalysator, der giver mulighed for at opsnappe og inspicere netværkstrafik i realtid. Med Wireshark kan IT-professionelle og penetrationstestere analysere pakker på et meget detaljeret niveau og identificere potentielle sikkerhedsproblemer i netværkskommunikation.

Wireshark bruges af netværksadministratorer, sikkerhedsanalytikere og etiske hackere til at forstå netværksstrukturer og opdage unormal adfærd eller sårbarheder.

Pakkeopsamling i realtid:

Wireshark kan opsnappe netværkstrafik direkte fra et netværksinterfacekort (NIC) i realtid. Dette giver mulighed for at analysere indgående og udgående data, herunder HTTP, DNS, TCP, UDP og mange andre protokoller.

Pakker gemmes i en fil (PCAP-format), som kan analyseres med Wireshark eller andre værktøjer. Live analyse giver mulighed for at opdage uautoriseret trafik eller sikkerhedsproblemer med det samme.

Protokoldekodning:

Wireshark kan analysere og dekode hundredvis af netværksprotokoller, hvilket gør det muligt at forstå strukturen og indholdet af en pakke. Dette inkluderer:

  • Hovedinformation såsom IP-adresser og porte.
  • Data som URL’er, login-oplysninger (hvis ikke krypteret), og filoverførsler.
  • Identificering af potentielle fejl eller misbrug i protokoller som HTTPS eller FTP.

Filtrering af data:

Wireshark tilbyder avancerede filtreringsmuligheder for at håndtere store mængder data:

  • Display Filters: Bruges til kun at vise pakker, der matcher specifikke kriterier, som f.eks. IP-adresser eller protokoltyper.
  • Capture Filters: Definerer, hvilke pakker der opsnappes i første omgang, hvilket reducerer støj under live analyse.
  • Filtrering gør det muligt at fokusere på specifikke angreb eller problemområder i et stort netværk.

Statistisk analyse:

Wireshark tilbyder værktøjer til at analysere netværksstatistikker, som kan hjælpe med at identificere tendenser og anormaliteter:

  • Protokolhierarki: Viser, hvilke protokoller der bruges mest.
  • Kommunikationsgrafer: Afslører forbindelser mellem systemer på netværket.
  • Responsanalyser: Bruges til at måle ydeevnen for applikationer og protokoller.

Sikkerhedsdiagnostik:

Wireshark er uvurderligt for sikkerhedsarbejde, da det kan afsløre:

  • Uautoriseret trafik eller potentielle angreb (f.eks. DDoS eller ARP Spoofing).
  • Forsøg på dataeksfiltration eller uautoriseret adgang.
  • Følsomme oplysninger sendt over ukrypterede forbindelser.

Typiske anvendelsesområder for Wireshark:

  • Netværksanalyse: Diagnosticere forbindelsesproblemer og forbedre netværksydelse.
  • Sårbarhedstest: Identificere ukrypteret data og mulig eksponering af følsomme oplysninger.
  • Angrebsdetektion: Overvåge trafik for mistænkelig aktivitet, som kan indikere hackingforsøg.
  • Træning og læring: Lære, hvordan netværksprotokoller fungerer, og hvordan man identificerer sikkerhedsrisici.

Integration med andre værktøjer:

Wireshark fungerer ofte sammen med værktøjer som Nmap og Metasploit for at give en helhedsorienteret tilgang til netværkssikkerhed og fejlfinding.

Wireshark er en uundværlig del af værktøjskassen for enhver, der arbejder med netværksanalyse og IT-sikkerhed. Dets evne til at opsnappe, filtrere og analysere netværkstrafik i dybden gør det til et kraftfuldt værktøj til både daglig netværksdrift og avanceret sikkerhedsarbejde.


SQLMap

SQLMap er et open-source værktøj til automatisering af detektering og udnyttelse af SQL-injektion (SQLi) sårbarheder i databaser. Det bruges af penetrationstestere og sikkerhedseksperter til at identificere sårbarheder, udtrække data fra databaser og vurdere sikkerheden af SQL-forespørgsler i webapplikationer.

SQLMap er kendt for sin brugervenlighed og omfattende funktionalitet, hvilket gør det til et af de mest populære værktøjer inden for databaserelateret pentesting.

Automatisk SQL-injektion detektion:

SQLMap kan hurtigt og præcist identificere forskellige typer af SQL-injektion, herunder:

  • Blind SQLi: Baseret på tidsforsinkelse eller fejlbetingelser.
  • Union SQLi: Finder sårbarheder ved at teste kombination af forespørgsler.
  • Error-based SQLi: Udnytter databasefejlmeddelelser til at udtrække information.
  • Boolean-based SQLi: Tester sårbarheder baseret på sand/falsk-forhold.

Database fingerprinting:

SQLMap kan identificere typen af database, der bruges af applikationen, f.eks.:

  • MySQL
  • PostgreSQL
  • Microsoft SQL Server
  • Oracle
  • SQLite

Denne funktion gør det muligt at målrette angreb og forespørgsler til specifikke databaser.

Dataudtrækning:

SQLMap kan hente følsomme oplysninger fra databaser, såsom:

  • Databasens struktur (tabeller og kolonner).
  • Indhold fra specifikke tabeller (f.eks. brugernavne og adgangskoder).
  • Databasens brugere og deres rettigheder.

Brute force og adgangskode-hashing:

SQLMap kan bruges til at:

  • Cracke adgangskoder ved at brute-force eller analysere hashværdier.
  • Identificere adgangsrettigheder og udføre privilegiumeskalering.

Database manipulation:

SQLMap kan også bruges til mere avancerede operationer, herunder:

  • Indsættelse, opdatering eller sletning af data i databasen.
  • Overførsel af filer til og fra serveren, hvis sårbarheden tillader det.
  • Omgåelse af sikkerhedsforanstaltninger som WAF’er (Web Application Firewalls).

Integration med scripts:

SQLMap kan integreres i scripts og workflows, hvilket gør det muligt at automatisere gentagne testprocesser og analysere store datamængder effektivt.

Typiske anvendelsesområder for SQLMap:

  • Pentesting: Identificere og udnytte SQL-injektion sårbarheder.
  • Sårbarhedsscanning: Kontrollere applikationer for utilstrækkelig parameterhåndtering.
  • Undersøgelse af datalækager: Validere og afdække eksponerede data.
  • Sikkerhedsanalyse: Vurdere styrken af indbyggede sikkerhedsforanstaltninger.

SQLMap er et uundværligt værktøj for penetrationstestere, der arbejder med webapplikationer og databaser. Dets omfattende funktionalitet, automatisering og pålidelighed gør det ideelt til at identificere og validere SQL-injektion sårbarheder, samtidig med at det forenkler avancerede testprocedurer.

This post is licensed under CC BY 4.0 by the author.