performing-binary-exploitation-analysis
Faz seu agente analisar programas para encontrar falhas de segurança. Ele ajuda a criar códigos que exploram essas falhas para demonstrar o risco.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em programas de computador (arquivos ELF) que podem permitir que um invasor execute comandos. Ela procura por vulnerabilidades de estouro de buffer e cria pequenos programas (exploits) para demonstrar o problema.
Quando usar
- ✓Ao testar a segurança de um programa com permissão.
- ✓Ao participar de competições de segurança (CTFs).
- ✓Ao verificar se as proteções de um programa contra ataques estão funcionando.
Exemplo do que pedir para a IA
“Analise este programa para encontrar falhas de segurança e crie um exemplo de como explorá-las.”
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 usa utilitários como `checksec` para ver as proteções do programa e `pwntools` para construir os ataques. Ela identifica onde o programa falha e cria um código que aproveita essa falha para executar comandos.
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 performing-binary-exploitation-analysisOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-binary-exploitation-analysis/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.
Realizando Análise de Exploração Binária
Apenas para testes de segurança autorizados e desafios CTF.
Analise binários ELF em busca de vetores de exploração usando checksec, ROPgadget e pwntools para desenvolvimento de buffer overflow e cadeias ROP.
Quando Usar
- Analisando binários ELF durante testes de penetração autorizados para identificar vulnerabilidades de corrupção de memória
- Resolvendo desafios de exploração binária em competições CTF
- Avaliando a eficácia de mitigações de compilador (NX, ASLR, canários de pilha, PIE, RELRO) em binários alvo
- Desenvolvendo exploits de prova de conceito para relatórios de vulnerabilidade para demonstrar o impacto
- Treinando engenheiros de segurança em técnicas de desenvolvimento de exploits para conscientização defensiva
- Validando se os patches de segurança para vulnerabilidades de buffer overflow são eficazes
Não use contra sistemas sem autorização explícita por escrito. Técnicas de exploração binária podem causar instabilidade no sistema e devem ser aplicadas apenas em ambientes controlados (VMs de laboratório, plataformas CTF, pentests autorizados com documentos de escopo).
Pré-requisitos
- Sistema Linux (Ubuntu/Debian recomendado) para desenvolvimento de exploits
- Python 3.8+ com
pwntools(pip install pwntools) - GDB com plugin
pwndbgouGEFpara depuração aprimorada ROPgadgetpara descoberta de gadgets de cadeia ROP (pip install ROPgadget)checksec(incluído com pwntools ou independente viaapt install checksec)- Binário vulnerável alvo compilado para teste (por exemplo, de pwnable.kr, ROP Emporium ou binários de teste personalizados)
- Compreensão básica das convenções de chamada x86/x86_64 e layout da pilha
Fluxo de Trabalho
Etapa 1: Instalar o Kit de Ferramentas de Exploração
# Install pwntools and dependencies
pip install pwntools ROPgadget
# Install GDB with pwndbg plugin
git clone https://github.com/pwndbg/pwndbg
cd pwndbg && ./setup.sh
# Alternatively, install GEF (GDB Enhanced Features)
# bash -c "$(curl -fsSL https://gef.blah.cat/sh)"
# Install supporting tools
sudo apt install -y gdb nasm gcc-multilib libc6-dbg
# Verify installation
python3 -c "from pwn import *; print('pwntools version:', version)"
checksec --version
ROPgadget --version
Etapa 2: Analisar Proteções de Binário com checksec
Antes de escrever qualquer exploit, liste as mitigações de segurança compiladas no binário:
from pwn import *
# Load the target binary
binary_path = "./vulnerable_server"
elf = ELF(binary_path)
# checksec output explains what mitigations are in place
print(f"Architecture: {elf.arch}")
print(f"Bits: {elf.bits}")
print(f"Endianness: {elf.endian}")
print()
# Key security properties
# RELRO: Full = GOT is read-only, Partial = GOT header read-only, No = writable GOT
# Stack Canary: Detects stack buffer overflows via random canary value
# NX (No-eXecute): Prevents executing code on the stack (DEP)
# PIE: Position Independent Executable, randomizes base address
# ASLR: OS-level address randomization (check /proc/sys/kernel/randomize_va_space)
# Also available via command line:
# checksec --file=./vulnerable_server
# Command-line checksec output example:
checksec --file=./vulnerable_server
# RELRO STACK CANARY NX PIE
# Partial RELRO No canary found NX disabled No PIE
# Check ASLR status on the system
cat /proc/sys/kernel/randomize_va_space
# 0 = disabled, 1 = conservative, 2 = full randomization
Etapa 3: Encontrar o Offset do Buffer Overflow
Determine exatamente quantos bytes são necessários para sobrescrever o endereço de retorno:
from pwn import *
context.binary = ELF("./vulnerable_server")
context.log_level = "info"
# Method 1: Use cyclic pattern to find exact offset
# Generate a unique cyclic pattern
pattern_length = 200
pattern = cyclic(pattern_length)
print(f"Generated cyclic pattern of length {pattern_length}")
# Send the pattern to the binary
p = process("./vulnerable_server")
p.sendline(pattern)
p.wait()
# After the crash, read the value in RIP/EIP from core dump or GDB
# Then find the offset:
# For 64-bit: crashed_value = p.corefile.fault_addr
# Or manually from GDB: "info registers rip" after crash
crashed_rip = 0x6161616c # Example value from crash
offset = cyclic_find(crashed_rip)
print(f"Offset to return address: {offset} bytes")
# Method 2: Use GDB with pwndbg to find offset interactively
# In GDB:
# pwndbg> cyclic 200
# pwndbg> run < <(python3 -c "from pwn import *; print(cyclic(200).decode())")
# pwndbg> cyclic -l $rsp (or cyclic -l <value in RIP>)
…
Perguntas frequentes
O que é um arquivo ELF?
É um tipo comum de arquivo executável em sistemas Linux e Unix, como os programas que você roda no seu computador.
O que é 'buffer overflow'?
É uma falha onde um programa tenta escrever mais dados em uma área de memória do que ela pode conter, podendo sobrescrever informações importantes e permitir a execução de código malicioso.
O que é ROP (Return-Oriented Programming)?
É uma técnica avançada usada quando o programa tem proteções que impedem a execução direta de código. Em vez disso, o atacante 'encadeia' pequenos pedaços de código já existentes no programa para realizar a ação desejada.
Detalhes
Descrição original do autor
Analyze ELF binaries for memory-corruption vulnerabilities and build proof-of-concept exploits using pwntools, checksec, and ROPgadget for buffer overflows and ROP chains. Use when a penetration test or CTF challenge requires evaluating compiler mitigations (NX, ASLR, stack canaries, PIE, RELRO) or developing a working exploit to demonstrate impact. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6030
- 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
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC