Exploatering & Attacktekniker
Att förstå hur exploatering fungerar är en viktig del av penetrationstestning och cybersäkerhet. Genom att lära sig om vanliga attacktekniker kan säkerhetsforskare och etiska hackare identifiera och åtgärda sårbarheter innan de utnyttjas av illasinnade aktörer. I detta inlägg går vi igenom fem viktiga attacktekniker som används både av angripare och försvarare för att förstå och skydda system:
- Buffer Overflow – Hur fungerar det och hur kan det utnyttjas?
- DLL Injection och Process Hollowing i Windows
- SSRF (Server-Side Request Forgery) – Vad det är och hur man utnyttjar det
- Falska accesspunkter och WiFi-attacker med Aircrack-ng
- Zero-Day Exploits – Vad de är och varför de är värdefulla
1. Buffer Overflow – Hur fungerar det och hur kan det utnyttjas?
Buffer Overflow uppstår när ett program skriver mer data till en minnesbuffert än vad den är avsedd att hantera. Detta kan leda till kraschade program, kodexekvering och i värsta fall fullständig kontroll över ett system. Tekniken är en av de äldsta och mest kända inom exploatering, men den är fortfarande relevant på grund av slarv i kod eller användning av äldre mjukvara.
Hur fungerar en Buffer Overflow-attack?
- En angripare skickar en lång inmatning till ett program som inte kontrollerar storleken på den mottagna datan.
- Om bufferten överskrids kan kritiska delar av minnet, som return addresses eller funktionspekare, skrivas över.
- Genom att manipulera dessa minnesområden kan angriparen få programmet att exekvera sin egen skadliga kod, ofta kallad shellcode.
Ett klassiskt exempel är att skriva över returadressen till en funktion så att den pekar på angriparens kod i stället för programmets nästa instruktion. Detta kräver ofta att man känner till programmets minneslayout och kan kringgå moderna skyddsåtgärder som ASLR (Address Space Layout Randomization) eller DEP (Data Execution Prevention).
Exempel på Buffer Overflow-verktyg:
- Metasploit – Erbjuder färdiga exploits för buffer overflow och en miljö för att testa dem.
- gdb/pwndbg – Kraftfulla verktyg för att analysera och manipulera minnet i realtid, perfekta för att felsöka och utveckla exploits.
- BOF-fuzzers – Verktyg som libFuzzer eller egenbyggda skript som automatiskt testar program för att hitta sårbara buffertar.
Tips för pentestare: För att skydda system mot Buffer Overflow-attacker är det viktigt att använda säkra funktioner (t.ex. strncpy istället för strcpy i C) och att alltid validera inmatning.
2. DLL Injection och Process Hollowing i Windows
DLL Injection och Process Hollowing är tekniker som används för att köra skadlig kod inom en legitim process, vilket gör det svårt att upptäcka attacker. Båda metoderna utnyttjar Windows interna mekanismer för att gömma sig i systemet.
DLL Injection:
- En angripare injicerar en skadlig Dynamic Link Library (DLL) i en legitim process minnesutrymme.
- DLL:en körs med samma behörigheter som det infekterade programmet, vilket kan ge åtkomst till känsliga resurser.
- Tekniken används ofta för att undvika antivirusprogram eftersom ingen ny process skapas – allt sker inom en befintlig, betrodd applikation.
Ett vanligt tillvägagångssätt är att använda Windows API-anrop som CreateRemoteThread och LoadLibrary för att tvinga en process att ladda den skadliga DLL:en.
Process Hollowing:
- En legitim process (t.ex. notepad.exe) startas i ett pausat tillstånd innan dess kod laddas i minnet.
- Den ursprungliga koden i processens minne byts ut mot en skadlig payload.
- Processen återupptas och kör nu angriparens kod under sken av att vara legitim.
Denna metod är särskilt effektiv för att kringgå beteendebaserade detekteringssystem, eftersom processen ser ut att vara en del av det normala systemet.
Verktyg för DLL Injection och Process Hollowing:
- Mimikatz – Kan utnyttja DLL-injection för att extrahera lösenord och utföra andra attacker.
- Process Hacker – Ett verktyg för att inspektera och manipulera processer i Windows, användbart både för angripare och försvarare.
- Metasploit Meterpreter – Erbjuder moduler för både DLL Injection och Process Hollowing direkt från dess payload-miljö.
Försvarstips: Aktivera strikt övervakning av processer med verktyg som Sysinternals Suite och använd signaturverifiering för DLL:er för att minska risken.
3. SSRF (Server-Side Request Forgery) – Vad det är och hur man utnyttjar det
SSRF är en attack där en angripare manipulerar en server för att skicka HTTP-förfrågningar till interna resurser som normalt inte är tillgängliga för externa användare. Det är särskilt farligt i molnmiljöer där interna tjänster som metadata-endpoints (t.ex. AWS IMDS) kan exponeras.
Hur fungerar SSRF?
- En webbapplikation låter användare ange en URL för att hämta data (t.ex. en bildlänk eller API-anrop).
- Angriparen manipulerar URL:en (t.ex. http://localhost:8080 eller http://169.254.169.254) för att tvinga servern att göra förfrågningar till interna system.
- Detta kan användas för att utföra portscanning, exfiltrera data eller i vissa fall få fjärråtkomst till system genom att utnyttja svaga interna tjänster.
Ett exempel är att använda SSRF för att hämta känslig information från en intern databas eller för att skicka kommandon till en oskyddad Redis-instans.
Verktyg för att hitta och utnyttja SSRF:
- Burp Suite – Perfekt för att manipulera förfrågningar och testa för SSRF genom dess Proxy- och Repeater-funktioner.
- SSRFmap – Ett automatiserat verktyg som testar och exploaterar SSRF-sårbarheter med fördefinierade payloads.
- Gopherus – Genererar payloads för SSRF-attacker genom Gopher-protokollet, användbart för att nå tjänster som inte är HTTP-baserade.
Försvarstips: Validera och sanera alla URL:er på serversidan, använd en whitelist för tillåtna domäner och undvik att låta användare styra förfrågningar till interna nätverk.
4. Falska accesspunkter och WiFi-attacker med Aircrack-ng
Trådlösa nätverk är ofta sårbara för attacker, och genom att sätta upp en falsk accesspunkt kan en angripare lura användare att ansluta till en skadlig nätverksmiljö. Detta är särskilt effektivt på offentliga platser som kaféer eller flygplatser.
Hur fungerar en falsk accesspunkt?
- Angriparen skapar en klon av en befintlig WiFi-hotspot med samma SSID och eventuellt en starkare signal.
- När enheter automatiskt ansluter (p.g.a. sparade nätverk) kan angriparen avlyssna trafik och injicera skadlig kod.
- Offren kan luras att lämna ifrån sig lösenord genom phishing-sidor som imiterar inloggningssidor för nätverket.
En relaterad attack är att använda deauthentication-paket för att tvinga enheter att koppla från det legitima nätverket och ansluta till det falska.
Verktyg för WiFi-attacker:
- Aircrack-ng – Ett kraftfullt verktyg för att snappa upp WPA/WPA2-handskakningar och knäcka lösenord med hjälp av ordlistor eller brute force.
- Fluxion – Automatiserar skapandet av falska accesspunkter och phishing-attacker mot WiFi-användare.
- Wireshark – Används för att analysera trådlös trafik och sniffa paket för att identifiera känslig data.
Försvarstips: Använd VPN på offentliga nätverk, stäng av automatisk anslutning till WiFi och överväg att använda hårdvarubaserade säkerhetsnycklar för autentisering.
5. Zero-Day Exploits – Vad de är och varför de är värdefulla
Zero-Day Exploits är sårbarheter som ännu inte har blivit patchade av utvecklaren och därför kan utnyttjas innan en fix är tillgänglig. Namnet kommer från att utvecklare har "noll dagar" på sig att åtgärda problemet innan det blir känt.
Varför är Zero-Day Exploits så värdefulla?
- Hög framgångsfaktor – Eftersom det inte finns några existerande patchar är de mycket effektiva mot även välskyddade system.
- Eftertraktade på svarta marknaden – Hackargrupper och statliga aktörer betalar stora summor (ibland miljontals kronor) för Zero-Day exploits, särskilt för populära plattformar som Windows, iOS eller Android.
- Kan användas i riktade attacker – Används ofta mot högt prioriterade mål som regeringar, företag eller kritisk infrastruktur.
Verktyg och resurser för att upptäcka Zero-Days:
- ExploitDB – En stor databas med kända exploits som kan ge inspiration för att hitta liknande sårbarheter.
- CVE-meddelanden – Håller koll på dokumenterade sårbarheter och kan indikera vilka system som kan vara nästa mål.
- Fuzzing-verktyg (AFL, radamsa) – Automatiserar letandet efter nya sårbarheter genom att mata program med oväntad data och övervaka krascher.
Försvarstips: Använd intrångsdetekteringssystem (IDS), håll system uppdaterade och implementera least privilege-principer för att minimera skadan från en Zero-Day-attack.
Avslutande tankar
Dessa fem attacktekniker visar hur mångsidiga och kreativa angripare kan vara när de utnyttjar sårbarheter. För pentestare och säkerhetsproffs är det avgörande att inte bara förstå hur dessa attacker fungerar utan också hur man kan förebygga dem. Genom att simulera dessa tekniker i kontrollerade miljöer kan man stärka försvar och skydda system innan de hamnar i fel händer.