reverse-engineering-ransomware-encryption-routine
Analisa como o ransomware criptografa arquivos para encontrar falhas que permitam a descriptografia. Ajuda a recuperar dados de ataques de ransomware.
O que ela faz
Esta ferramenta ajuda a analisar como um tipo específico de programa malicioso (ransomware) embaralha seus arquivos. Ela tenta descobrir os métodos secretos usados para embaralhar e se há alguma falha que possa ser explorada para desembaralhar os arquivos sem pagar o resgate.
Quando usar
- ✓Ao testar a segurança de sistemas autorizados.
- ✓Ao analisar programas maliciosos em um ambiente seguro.
- ✓Ao simular ataques para encontrar vulnerabilidades.
Exemplo do que pedir para a IA
“Analise este programa para ver como ele embaralha arquivos e se é possível recuperar os dados.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta examina o código do programa malicioso, procurando por padrões conhecidos de criptografia e possíveis erros. Ela verifica quais funções de embaralhamento são usadas e como as chaves secretas são criadas e protegidas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill reverse-engineering-ransomware-encryption-routineOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/reverse-engineering-ransomware-encryption-routine/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Engenharia Reversa de Rotinas de Criptografia de Ransomware
Visão Geral
Ransomwares modernos usam criptografia híbrida, combinando algoritmos simétricos (AES-256-CBC/CTR, ChaCha20, Salsa20) para criptografar arquivos com algoritmos assimétricos (RSA-2048/4096, Curve25519) para proteção de chaves. A rotina de criptografia geralmente gera uma chave simétrica aleatória por arquivo, criptografa o conteúdo do arquivo e, em seguida, criptografa a chave simétrica com a chave pública do atacante embutida. A engenharia reversa dessas rotinas identifica os algoritmos específicos, métodos de derivação de chaves, vetores de inicialização, padrões de segmentação de arquivos e possíveis falhas de implementação que poderiam permitir a descriptografia sem pagar o resgate. Exemplos notáveis incluem Rhysida (AES-256-CTR + RSA-4096), Qilin.B (AES-256-CTR com AES-NI ou fallback ChaCha20) e Medusa (AES-256 + RSA).
Quando Usar
- Ao realizar testes de segurança autorizados que envolvem engenharia reversa de rotinas de criptografia de ransomware
- Ao analisar amostras de malware ou artefatos de ataque em um ambiente controlado
- Ao conduzir exercícios de equipe vermelha ou engajamentos de teste de penetração
- Ao construir capacidades de detecção com base na compreensão de técnicas ofensivas
Pré-requisitos
- IDA Pro ou Ghidra para desassemblagem estática
- x64dbg/WinDbg para depuração dinâmica
- Python 3.9+ com
pycryptodome,pefile - Compreensão dos algoritmos AES, RSA, ChaCha20, Curve25519
- Conhecimento das funções Windows CryptoAPI e CNG (BCrypt)
- Ambiente de sandbox para execução segura
Conceitos Chave
Modelo de Criptografia Híbrida
O ransomware gera uma chave e um IV AES únicos para cada arquivo. O conteúdo do arquivo é criptografado com essa chave simétrica. A chave simétrica é então criptografada com a chave pública RSA do atacante (embutida no binário ou obtida do C2). A chave criptografada é anexada ou pré-anexada ao arquivo criptografado. Apenas o atacante que detém a chave privada RSA pode descriptografar as chaves simétricas por arquivo.
Identificação de API Criptográfica
Ransomwares do Windows geralmente usam CryptoAPI (CryptAcquireContext, CryptGenKey, CryptEncrypt) ou CNG (BCryptGenerateSymmetricKey, BCryptEncrypt). Alguns usam OpenSSL ou implementações personalizadas. Identificar essas chamadas de API fornece insights imediatos sobre o algoritmo, tamanho da chave e modo de operação.
Falhas de Implementação
Oportunidades de descriptografia surgem de: chaves de criptografia codificadas, PRNG fraco para geração de chaves (usando GetTickCount ou time() como semente), reutilização de IVs entre arquivos, uso do modo ECB, chaves permanecendo na memória após a criptografia e condições de corrida onde as chaves podem ser capturadas durante a criptografia.
Fluxo de Trabalho
Etapa 1: Identificar Funções Criptográficas
#!/usr/bin/env python3
"""Identifica funções criptográficas em arquivos PE de ransomware."""
import pefile
import sys
CRYPTO_APIS = {
# Windows CryptoAPI
"CryptAcquireContextA": "Aquisição de contexto CryptoAPI",
"CryptAcquireContextW": "Aquisição de contexto CryptoAPI",
"CryptGenKey": "Geração de chave",
"CryptDeriveKey": "Derivação de chave",
"CryptEncrypt": "Operação de criptografia",
"CryptDecrypt": "Operação de descriptografia",
"CryptImportKey": "Importação de chave (chave pública?)",
"CryptExportKey": "Exportação de chave",
"CryptGenRandom": "Geração de número aleatório",
"CryptCreateHash": "Criação de hash",
"CryptHashData": "Operação de hash",
# Windows CNG (BCrypt)
"BCryptOpenAlgorithmProvider": "Inicialização de algoritmo CNG",
"BCryptGenerateSymmetricKey": "Geração de chave simétrica CNG",
"BCryptEncrypt": "Criptografia CNG",
"BCryptDecrypt": "Descriptografia CNG",
"BCryptGenerateKeyPair": "Geração de par de chaves CNG",
"BCryptImportKeyPair": "Importação de par de chaves CNG",
# OpenSSL
"EVP_EncryptInit_ex": "Inicialização de criptografia OpenSSL",
"EVP_EncryptUpdate": "Atualização de criptografia OpenSSL",
"EVP_EncryptFinal_ex": "Finalização de criptografia OpenSSL",
"RSA_public_encrypt": "Criptografia RSA OpenSSL",
"AES_set_encrypt_key": "Configuração de chave AES OpenSSL",
# Operações de arquivo
"CreateFileW": "Abertura de arquivo (arquivos de destino)",
"ReadFile": "Leitura de arquivo (antes da criptografia)",
"WriteFile": "Escrita de arquivo (após a criptografia)",
"FindFirstFileW": "Enumeração de arquivos (segmentação)",
"FindNextFileW": "Enumeração de arquivos",
"MoveFileW": "Renomeação de arquivo (mudança de extensão)",
"DeleteFileW": "Exclusão de arquivo (originais)",
}
AES_SBOX = bytes([
0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,
0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
])
CHACHA20_CONSTANT = b"expand 32-byte k"
def analyze_imports(filepath):
…
Perguntas frequentes
O que é ransomware?
Ransomware é um tipo de programa malicioso que bloqueia o acesso aos seus arquivos ou sistema e exige um pagamento (resgate) para liberá-los.
O que é engenharia reversa?
Engenharia reversa é o processo de desmontar algo para entender como funciona, geralmente para recriá-lo ou encontrar falhas.
Posso usar isso para recuperar meus arquivos se fui atacado?
Esta ferramenta é para especialistas em segurança analisarem o malware. Ela pode ajudar a encontrar métodos de recuperação, mas não é uma solução automática para vítimas.
Detalhes
Descrição original do autor
Reverse engineer ransomware encryption routines to identify cryptographic algorithms, key generation flaws, and potential decryption opportunities using static and dynamic analysis.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6191
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC