DEBIDO RANSOMWARE

16/12/2025

DEBIDO RANSOMWARE

AVISO LEGAL: Esta codigo destina-se exclusivamente a fins educacionais e de pesquisa em segurança cibernética. A reprodução, distribuição ou uso dessas técnicas sem autorização explícita é ilegal e antiético. Este material visa ajudar profissionais de segurança a entender ameaças para melhor defendê-las.

📋 Visão Geral Arquitetural

O "DEBIDO RANSOMWARE" é um malware modular escrito em Python que implementa três funcionalidades principais em sequência:

  1. Coleta e exfiltração de dados (Information Stealer)

  2. Estabelecimento de persistência (Persistence Mechanism)

  3. Criptografia destrutiva de arquivos (Destructive Ransomware)

Vamos dissecar cada componente meticulosamente.

🔗 MÓDULO 1: 

persistence.py - Mecanismo de Persistência

Objetivo Principal

Garantir a execução automática do malware em cada inicialização do sistema Windows.

  • Verificação de plataforma: O malware só ativa em sistemas Windows, retornando silenciosamente em outros sistemas.

  • Autolocalização: Obtém o caminho absoluto do próprio script em execução

  • Preparação de caminho: Define o diretório TEMP do usuário como destino da cópia

  • Uso de variáveis de ambiente: %TEMP% expande para C:\Users\[User]\AppData\Local\Temp

  • Autoduplicação: Copia-se para o diretório TEMP usando copy2 que preserva metadados

  • Verificação de localização: Evita cópias desnecessárias se já estiver em TEMP

  • Caminho de inicialização: Acessa a pasta Startup do usuário atual

  • Nome enganoso: Usa "WindowsUpdateHelper.lnk" para disfarçar como componente legítimo

  • Script PowerShell: Cria um atalho usando COM objects

  • WindowStyle = 7: Executa minimizado (janela oculta)

  • WorkingDirectory: Define o diretório TEMP como working directory

  • Descrição enganosa: "Windows Update Helper" para parecer legítimo

  • Execução oculta:

    • -ExecutionPolicy Bypass: Ignora políticas de execução do PowerShell

    • -WindowStyle Hidden: Executa sem interface gráfica

    • stdout=subprocess.DEVNULL: Suprime saída padrão

    • stderr=subprocess.DEVNULL: Suprime erros

    • timeout=15: Timeout de 15 segundos

Técnicas de Evasão Identificadas:

  1. Uso de diretório TEMP: Área comum para arquivos legítimos

  2. Nome de arquivo benigno: "WindowsUpdateHelper"

  3. Execução silenciosa: Sem interface gráfica

  4. Bypass de Execution Policy: Contorna restrições do PowerShell

📊 MÓDULO 2: 

grabber_file.py - Coletor de Dados e Exfiltrador

Objetivo Principal

Coletar informações sensíveis do sistema, capturar screenshot, compactar arquivos locais e exfiltrar para um servidor Discord via Webhook.

Estrutura de Dados e Constantes

  • Ponto de exfiltração: Webhook Discord ativo (já expirado/removido para esta análise)

  • Vetor de comando e controle: Usa infraestrutura legítima (Discord) para evitar bloqueios

  • Extensões de valor: Foco em documentos, imagens, código-fonte, bancos de dados

  • Cobertura ampla: 30+ extensões comuns

Função: coletar_info_sistema()

Coleta de Identificação do Sistema:

  • Obtém nome do host para identificação única

IP Local (Técnica Avançada):

  • Técnica engenhosa: Conecta-se ao DNS do Google (8.8.8.8) via UDP para descobrir o IP de saída

  • Vantagem: Funciona mesmo sem conexão à internet ativa

IP Público via API Externa:

Análise de Armazenamento

  • Módulo psutil: Biblioteca poderosa para informações de sistema

  • Converte para GB: /(1024**3) converte bytes para gigabytes

  • Coleta completa: Todos os pontos de montagem

Processos em Execução (Top 5 por CPU):

  • Iteração de processos: psutil.process_iter() com atributos específicos

  • Tratamento de exceções: Ignora processos que terminam ou são inacessíveis

  • Ordenação por uso de CPU: Identifica processos mais ativos

  • Limite de 5 processos: Minimiza tamanho do relatório

Usuários Ativos:

  • Sessões ativas: Identifica quem está logado no sistema

  • Timestamp convertido: Data/hora de início da sessão

Função: capturar_screenshot()

  • Biblioteca PIL/Pillow: ImageGrab.grab() captura tela inteira

  • Nome com timestamp: screenshot_YYYYMMDD_HHMMSS.png

  • Salva no diretório atual: Local temporário para processamento

Função: criar_zip_do_diretorio_atual()

  • Varredura do diretório atual: os.listdir(".")

  • Filtro por extensão: Usa EXTENSOES_ALVO definido anteriormente

  • Apenas arquivos: Ignora diretórios

  • Compactação eficiente: ZIP_DEFLATED para compressão

  • Nome com timestamp: backup_local_YYYYMMDD_HHMMSS.zip

  • Manutenção de estrutura: Preserva nomes originais

Função: formatar_mensagem_discord()

Estrutura de Embed do Discord:

  • Design profissional: Usa cores, thumbnails e footer

  • Aviso educacional: Tentativa de justificar uso

  • Estruturado em fields: Organização lógica da informação

Formatação dos Campos:

  • 7 campos categorizados: Sistema, Disco, Processos, Geolocalização, Hardware, Usuários, Data

  • Links ativos: Google Maps com coordenadas

  • Formatação limpa: Emojis e organização visual

Função: enviar_para_discord()

  • Upload múltiplo: Suporta screenshot + arquivo ZIP

  • MIME types corretos: image/png e application/zip

  • Tupla de upload: (nome, arquivo_binário, tipo_mime)

  • Envio único: JSON + arquivos em uma requisição

  • Timeout longo: 60 segundos para uploads grandes

Função: run_grabber() - Fluxo Principal

  • Verificação de conexão: Se não obtém IP local, assume falha

  • Fluxo sequencial: Coleta → Screenshot → ZIP → Upload

  • Artefatos temporários: Remove arquivos criados localmente

  • Tentativa de limpeza: Evita deixar rastros no sistema

💀 MÓDULO 3: 

rans.py - Mecanismo de Criptografia Destrutiva

Objetivo Principal

Corromper arquivos de forma irreversível usando múltiplas camadas de criptografia e manipulação de bytes.

Constantes e Configurações

  • Extensão de marcação: Arquivos corrompidos recebem .debido

  • Identificação visual: Facilita verificação do ataque

  • Arquivos de valor: 22 extensões comuns

  • Ampla cobertura: Documentos, mídia, código, bancos de dados

  • Evitação de sistema: Ignora diretórios críticos

  • Prevenção de brick: Evita corromper sistema operacional

  • Diretórios do Windows: Protege integridade do sistema

Função: corrupt_data() - Núcleo da Corrupção

  • Arquivos pequenos: Substitui completamente por bytes aleatórios

  • Limite de 100 bytes: Arquivos muito pequenos são trivialmente corrompidos

Análise das Camadas de Corrupção:

  1. Adição Modular (73):

    • Altera primeiros 100 bytes

    • (byte + 73) % 256 garante permanência no range 0-255

    • Operação reversível teoricamente (subtrair 73), mas combinada com outras camadas torna-se impossível

  2. XOR com 0xFF (NOT binário):

    • Centro do arquivo (50 bytes)

    • byte ^ 0xFF inverte todos os bits

    • Reaplicar XOR restauraria, mas outras camadas impedem

  3. Multiplicação Modular (×7):

    • Últimos 100 bytes

    • (byte * 7) % 256 - multiplicação modular não é inversível facilmente devido a perda de informação

  4. Sobrescrita Aleatória:

    • ~10% do arquivo aleatoriamente

    • struct.unpack('I', os.urandom(4))[0] gera posição aleatória de 32 bits

    • Substituição direta com os.urandom(1)[0]

Eficácia: A combinação de múltiplas transformações não-lineares e sobrescritas aleatórias torna a recuperação praticamente impossível sem backup.

Função: encrypt_and_corrupt()

Fluxo de Criptografia:

  1. Geração de chaves: 32 bytes (256 bits) - AES-256

  2. IV (Initialization Vector): 16 bytes para GCM

  3. Modo GCM (Galois/Counter Mode): Autenticação integrada

  4. Saída: IV (16) + Tag (16) + Ciphertext (variável)

  5. Corrupção final: Aplica corrupt_data() no resultado

Características:

  • Chaves descartadas: Não são salvas, tornando decifragem impossível

  • Autenticação: GCM fornece integridade

  • Corrupção pós-criptografia: Destrói até a estrutura criptográfica

Função: destroy_file()

  • 5 iterações: Aplica criptografia+corrupção 5 vezes consecutivas

  • Processamento completo: Lê, processa, sobrescreve

  • Renomeação: Adiciona extensão .debido

  • Feedback: Mensagem de confirmação no console

Função: percorrer_diretorio()

Algoritmo de Varredura:

  1. Lista diretório atual: os.listdir()

  2. Arquivos:

    • Verifica extensão contra EXTENSOES_ALVO

    • Ignora arquivos já corrompidos (.debido)

    • Chama destroy_file()

  3. Diretórios:

    • Verifica contra DIRETORIOS_PROIBIDOS

    • Ignora diretórios que começam com $ (sistema)

    • Recursão profunda

  4. Tratamento de erros: Ignora permissões insuficientes

Função: criar_aviso()

  • Arquivo de resgate: Informa sobre o ataque

  • Aviso educacional: Tenta justificar como exemplo

  • Codificação UTF-8: Suporte a caracteres especiais

Função: run_ransomware()

  • Orquestração simples: Varredura → Aviso

  • Diretório atual: Começa do local de execução

⚙️ MÓDULO 4: 

main.py - Controlador Principal

Estrutura de Execução

  • Cabeçalho informativo: Declara propósito educacional

  • Aviso explícito: Tentativa de mitigar uso malicioso

  • Importação dinâmica: Importa módulo quando necessário

  • Validação de sucesso: Se falha a coleta, aborta

  • Sequenciamento: Passo 1 de 3

  • Persistência silenciosa: Sem validação de sucesso

  • Independente da coleta: Executa mesmo se coleta falhar parcialmente

  • Confirmação manual: Requer interação explícita do usuário

  • Proteção contra execução acidental: String exata "SIM"

  • Importação tardia: Carrega módulo de ransomware apenas se necessário

🔍 TÉCNICAS DE OFUSCAÇÃO E EVASÃO

1. Uso de Infraestrutura Legítima

  • Discord Webhooks para C2 (Comando e Controle)

  • APIs públicas para geolocalização (ip-api.com, ipify.org)

2. Nomes Enganosos

  • "WindowsUpdateHelper.lnk" no Startup

3. Execução Silenciosa

  • PowerShell com -WindowStyle Hidden

  • Supressão de stdout/stderr

  • Timeouts para evitar hanging

4. Respeito a Limites do Sistema

  • Ignora diretórios críticos do Windows

  • Tratamento de exceções para processos/diretórios inacessíveis

5. Auto-limpeza

  • Remove arquivos temporários (screenshot, ZIP)

  • Cópia para TEMP em vez de locais suspeitos

🛡️ VETORES DE DETECÇÃO E PROTEÇÃO

Indicadores de Comprometimento (IOCs)

  1. Artefatos de Sistema:

    • %TEMP%\<script_name>.py

    • %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\WindowsUpdateHelper.lnk

    • Arquivos com extensão .debido

  2. Comportamentos:

    • Processo Python executando PowerShell com parâmetros ocultos

    • Conexões para Discord Webhooks a partir de sistemas corporativos

    • Múltiplos arquivos sendo renomeados simultaneamente

  3. Redes:

    • Requisições para discord.com/api/webhooks/*

    • Consultas a ip-api.com e api.ipify.org

Medidas de Proteção

1.      Preventivas

2 .    Detectivas

  1. Corretivas:

    • Restaurar de backups offline

    • Usar ferramentas de recuperação de arquivos

    • Reinstalar sistema se comprometimento grave

📈 ANÁLISE DE IMPACTO

Potencial Destrutivo

  1. Alto: Para usuários finais sem backups

  2. Moderado: Em ambientes corporativos com proteções básicas

  3. Baixo: Contra sistemas com EDR (Endpoint Detection and Response)

Fatores Limitantes

  1. Confirmação manual necessária para ransomware

  2. Não propaga automaticamente

  3. Foco em usuário atual (não escala para rede)

  4. Detectável por soluções antivírus modernas

🧠 REFLEXÕES ÉTICAS E LEGAIS

Dilemas Éticos

  1. Dual-use Technology: Código para defesa pode ser usado para ataque

  2. Responsabilidade do Pesquisador: Como compartilhar conhecimento sem facilitar crimes

  3. Consentimento: Testes só em sistemas próprios ou autorizados

Conformidade Legal

  • CFAA (EUA): Proíbe acesso não autorizado a sistemas

  • GDPR (UE): Protege dados pessoais coletados

  • Lei Carolina Dieckmann (BR): Criminaliza invasão de dispositivos

Boas Práticas para Pesquisadores

  1. Ambientes Isolados: VMs, sandboxes, laboratórios dedicados

  2. Documentação Clara: Propósitos educacionais explícitos

  3. Nenhum Dano Real: Sempre em sistemas controlados

  4. Responsabilidade: Não compartilhar com pessoas não qualificadas

🎯 CONCLUSÃO

O "DEBIDO RANSOMWARE" representa uma implementação educacional completa de malware, demonstrando:

  1. Modularidade em design de malware

  2. Técnicas modernas de persistência e evasão

  3. Mecanismos destrutivos complexos

  4. Exfiltração de dados via canais legítimos

Para profissionais de segurança, entender essas técnicas é fundamental para:

  • Desenvolver melhores defesas

  • Criar regras de detecção mais eficazes

  • Educar usuários sobre ameaças

  • Implementar políticas de segurança adequadas

A linha entre pesquisador de segurança e criminoso é definida pela ética, legalidade e responsabilidade. Conhecimento em segurança cibernética deve ser usado para proteger, nunca para prejudicar.



Codigo Aberto


Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora