reverse-engineering-malware-with-ghidra
Faz seu agente analisar programas maliciosos em baixo nível. Ele estuda o código de máquina para entender como o malware opera. É útil para investigar ameaças complexas e desconhecidas.
O que ela faz
Este programa ajuda a investigar como um software malicioso (vírus, etc.) funciona por dentro. Ele examina o código do programa para entender suas ações, como se comunica, quais segredos ele tenta roubar ou como ele se esconde.
Quando usar
- ✓Quando um antivírus alerta sobre um programa suspeito e você quer entender o que ele faz.
- ✓Para descobrir como um programa malicioso envia informações para um servidor.
- ✓Para encontrar senhas ou chaves escondidas dentro de um programa.
Exemplo do que pedir para a IA
“Analise este arquivo suspeito para descobrir como ele se comunica com seu servidor.”
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
O programa usa uma ferramenta chamada Ghidra para ler o código de programas que já foram compilados (transformados em linguagem de máquina). Ele mostra o código de uma forma que um humano pode entender, permitindo a análise.
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-malware-with-ghidraOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/reverse-engineering-malware-with-ghidra/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 Malware com Ghidra
Quando Usar
- Análise estática e dinâmica identificaram funcionalidades suspeitas que exigem um entendimento mais profundo no nível do código.
- Você precisa fazer engenharia reversa de protocolos de comunicação C2 (Comando e Controle), algoritmos de criptografia ou ofuscação personalizada.
- Entender o mecanismo exato de exploração ou a vulnerabilidade visada por uma amostra de malware.
- Extrair dados de configuração codificados (endereços C2, chaves de criptografia, IDs de campanha) embutidos no código compilado.
- Desenvolver regras YARA precisas ou assinaturas de detecção baseadas em padrões de código únicos.
Não use para triagem inicial de amostras desconhecidas; realize análise estática com PEStudio e análise comportamental com Cuckoo primeiro.
Pré-requisitos
- Ghidra 11.x instalado (baixe em https://ghidra-sre.org/) com JDK 17+
- VM de análise isolada da rede de produção (host Windows ou Linux)
- Familiaridade com linguagem assembly x86/x64 e convenções da API do Windows
- Arquivos de símbolos PDB para DLLs do sistema Windows para melhorar a precisão da descompilação
- Repositório de scripts Ghidra (ghidra_scripts) para tarefas de análise automatizada
- Referência secundária: IDA Free ou Binary Ninja para validação cruzada dos resultados da análise
Fluxo de Trabalho
Passo 1: Criar Projeto e Importar Binário
Configure um projeto Ghidra e importe a amostra de malware:
1. Launch Ghidra: ghidraRun (Linux) or ghidraRun.bat (Windows)
2. File -> New Project -> Non-Shared Project -> Select directory
3. File -> Import File -> Select malware binary
4. Ghidra auto-detects format (PE, ELF, Mach-O) and architecture
5. Accept default import options (or specify base address if known)
6. Double-click imported file to open in CodeBrowser
7. When prompted, run Auto Analysis with default analyzers enabled
Análise headless para automação:
# Run Ghidra headless analysis with decompiler
/opt/ghidra/support/analyzeHeadless /tmp/ghidra_project MalwareProject \
-import suspect.exe \
-postScript ExportDecompilation.py \
-scriptPath /opt/ghidra/scripts/ \
-deleteProject
Passo 2: Identificar Funções Chave e Pontos de Entrada
Navegue pelo binário para localizar seções críticas de código:
Navigation Strategy:
━━━━━━━━━━━━━━━━━━━
1. Start at entry point (OEP) - follow execution from _start/WinMain
2. Check Symbol Tree for imported functions (Window -> Symbol Tree)
3. Search for cross-references to suspicious APIs:
- VirtualAlloc/VirtualAllocEx (memory allocation for injection)
- CreateRemoteThread (remote thread injection)
- CryptEncrypt/CryptDecrypt (encryption operations)
- InternetOpen/HttpSendRequest (C2 communication)
- RegSetValueEx (persistence via registry)
4. Use Search -> For Strings to find embedded URLs, IPs, and paths
5. Check the Functions window sorted by size (large functions often contain core logic)
Atalhos de teclado do Ghidra para navegação eficiente:
G - Go to address
Ctrl+E - Search for strings
X - Show cross-references to current location
Ctrl+Shift+F - Search memory for byte patterns
L - Rename label/function
; - Add comment
T - Retype variable
Ctrl+L - Retype return value
Passo 3: Analisar Código Descompilado
Use o descompilador do Ghidra para entender a lógica das funções:
// Example: Ghidra decompiler output for a decryption routine
// Analyst renames variables and adds types for clarity
void decrypt_config(BYTE *encrypted_data, int data_len, BYTE *key, int key_len) {
// XOR decryption with rolling key
for (int i = 0; i < data_len; i++) {
encrypted_data[i] = encrypted_data[i] ^ key[i % key_len];
}
return;
}
// Analyst actions in Ghidra:
// 1. Right-click parameters -> Retype to correct types (BYTE*, int)
// 2. Right-click variables -> Rename to meaningful names
// 3. Add comments explaining the algorithm
// 4. Set function signature to propagate types to callers
Passo 4: Rastrear Lógica de Comunicação C2
Siga o caminho do código de comunicação de rede:
Analysis Steps for C2 Protocol Reverse Engineering:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Find InternetOpenA/WinHttpOpen call -> trace to wrapper function
2. Follow data flow from encrypted config -> URL construction
3. Identify HTTP method (GET/POST), headers, and body format
4. Locate response parsing logic (JSON parsing, custom binary protocol)
5. Map the C2 command dispatcher (switch/case or jump table)
6. Document the command set (download, execute, exfiltrate, update, uninstall)
…
Perguntas frequentes
Preciso ser um programador experiente para usar isso?
É útil ter algum conhecimento básico de como os computadores entendem instruções (linguagem de assembly) e como os programas interagem com o sistema operacional, mas a ferramenta Ghidra ajuda a tornar o código mais legível.
Posso usar isso para criar vírus?
Esta ferramenta é para entender e analisar softwares maliciosos existentes, não para criá-los. O objetivo é a defesa e a segurança.
O que é 'engenharia reversa'?
É o processo de desmontar algo (neste caso, um programa de computador) para entender como ele foi construído e como funciona, sem ter o projeto original.
Detalhes
Descrição original do autor
Reverse engineers malware binaries using NSA''s Ghidra disassembler and decompiler to study internal logic, cryptographic routines, C2 protocols, and evasion techniques at the assembly and pseudo-C level. Use when static or dynamic analysis flags suspicious functionality needing deeper code review, such as reversing C2 protocols, encryption algorithms, custom obfuscation, or a sample''s exploit me
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6190
- 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