Post

Exploitation

Exploitation

I udnyttelsesfasen undersøger vi, hvordan de identificerede sårbarheder kan bruges til at opnå vores mål. Dette kan være at få en indledende adgang til systemet (foothold) eller eskalere rettigheder. For eksempel, hvis vi ønsker at etablere en “reverse shell”, skal vi tilpasse et Proof of Concept (PoC) exploit, så målsystemet forbinder tilbage til os via en krypteret forbindelse til en specificeret IP-adresse.

Denne forberedelse af exploits er en central del af udnyttelsesfasen, men fasen hænger tæt sammen med de tidligere trin i processen. Det er derfor vigtigt at være klar over, hvilken fase vi er i, og hvad dens formål er. Dette hjælper med at holde styr på processen, især under længere penetrationstests, der kan vare flere uger og omfatte omfattende områder.

Prioritering af mulige angreb

Når vi har identificeret en eller flere sårbarheder under sårbarhedsvurderingsfasen, vurderer vi, hvilke angreb der skal prioriteres. Prioriteringen afhænger af følgende faktorer:

  • Sandsynligheden for succes: Vi vurderer, hvor stor sandsynligheden er for, at angrebet vil lykkes. Her kan vi bruge CVSS-scoringssystemet og NVD-beregneren til at vurdere risiko og sandsynlighed.

  • Kompleksitet: Kompleksiteten vurderer, hvor meget tid, indsats og research der kræves for at udføre angrebet. Jo mindre erfaring vi har med et bestemt angreb, jo mere tid kræves der til forberedelse.

  • Sandsynligheden for skade: Det er vigtigt at undgå skade på målsystemet. Vi udfører normalt ikke DoS-angreb (Denial of Service), medmindre klienten specifikt beder om det. Vi undgår også angreb, der kan beskadige software eller operativsystemet.

Eksempel på prioritering:

Vi kan bruge et pointsystem til at vurdere de forskellige angrebstyper baseret på faktorerne. For eksempel:

FaktorPointsFjern filinklusion (RFI)Buffer overflow
Sandsynlighed for succes10108
Kompleksitet - nem540
Kompleksitet - middel303
Kompleksitet - svær100
Sandsynlighed for skade-50-5
Samlet max15146

I dette eksempel vil vi prioritere angrebet med fjern filinklusion (RFI), da det er lettere at udføre og har lav risiko for skade.

Forberedelse af angreb

Hvis vi ikke kan finde et højtkvalitets PoC-exploit, kan det være nødvendigt at rekonstruere det lokalt på en virtuel maskine (VM), der ligner målsystemet. Vi opsætter systemet med samme versioner af relevante tjenester og applikationer og tilpasser PoC’en efter behov. Derefter tester vi eksploitet på den lokale VM for at sikre, at det fungerer og ikke forårsager alvorlige skader.

I nogle tilfælde støder vi på velkendte misconfigurations eller sårbarheder, hvor vi allerede ved, hvilket værktøj eller exploit der skal bruges. Her ved vi også, om eksploitet er “sikkert” eller kan skabe ustabilitet.

Kommunikation med klienten

Hvis vi er i tvivl om et angreb, er det altid bedst at kommunikere med klienten. Vi præsenterer de nødvendige data og lader klienten beslutte, om de ønsker, at vi skal forsøge udnyttelsen, eller om vi blot skal notere det som en potentiel sårbarhed i rapporten.

Hvis et angreb vurderes som for risikabelt, bør vi afstå fra at udføre det. Kommunikation med teamlederen eller klienten er altid bedre end at risikere en situation, hvor et system bliver utilgængeligt på grund af en fejlbehæftet udnyttelse.

Overgang til næste fase

Når vi med succes har udnyttet en sårbarhed og fået initial adgang til systemet, dokumenterer vi alle aktiviteter grundigt. Herefter går vi videre til efter-udnyttelsesfasen (Post-Exploitation) og eventuel lateral bevægelse for at undersøge yderligere muligheder.

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