Pular para o conteúdo
Skillpedia
Diversos35 mil · #6191

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/reverse-engineering-ransomware-encryption-routine/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/reverse-engineering-ransomware-encryption-routine/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-routine

Ou 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.md
Conteú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.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6191
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas