analyzing-linux-elf-malware
Permite que seu agente analise programas maliciosos em sistemas Linux. Ele investiga ameaças como vírus e programas que roubam informações.
O que ela faz
Esta ferramenta ajuda a analisar programas maliciosos (malware) feitos para sistemas Linux. Ela examina arquivos suspeitos para entender o que eles fazem, como roubam informações ou atacam outros sistemas.
Quando usar
- ✓Quando um servidor Linux foi invadido e arquivos estranhos foram encontrados.
- ✓Ao investigar um programa que rouba criptomoedas em um servidor Linux.
- ✓Para entender como um programa malicioso ataca contêineres (como Docker) em um ambiente de nuvem.
Exemplo do que pedir para a IA
“Analise este arquivo suspeito encontrado em meu servidor Linux.”
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 outras ferramentas para olhar dentro do arquivo suspeito. Ela verifica suas propriedades, procura por textos escondidos e observa o que ele tenta fazer quando é executado em um ambiente seguro.
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 analyzing-linux-elf-malwareOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-linux-elf-malware/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.
Analisando Malware ELF do Linux
Quando Usar
- Um servidor ou contêiner Linux foi comprometido e binários ELF suspeitos foram encontrados
- Analisando botnets Linux (Mirai, Gafgyt, XorDDoS), mineradores de criptomoedas ou ransomware
- Investigando malware que ataca infraestrutura em nuvem, contêineres Docker ou pods Kubernetes
- Engenharia reversa de rootkits e módulos de kernel Linux
- Analisando malware multiplataforma compilado para arquiteturas Linux x86_64, ARM ou MIPS
Não use para análise de binários PE do Windows; use PEStudio, Ghidra ou IDA para malware do Windows.
Pré-requisitos
- Ghidra ou IDA com suporte a ELF do Linux para desassemblagem e descompilação
- VM de análise Linux (Ubuntu 22.04 recomendado) com ferramentas de desenvolvimento instaladas
- strace, ltrace e GDB para análise dinâmica e depuração
- readelf, objdump e nm do GNU binutils para inspeção estática
- Radare2 para triagem rápida de binários e análise scriptada
- Docker para execução de malware isolada baseada em contêineres
Fluxo de Trabalho
Passo 1: Identificar Propriedades do Binário ELF
Examine o cabeçalho ELF e as propriedades básicas:
# File type identification
file suspect_binary
# Detailed ELF header analysis
readelf -h suspect_binary
# Section headers
readelf -S suspect_binary
# Program headers (segments)
readelf -l suspect_binary
# Symbol table (if not stripped)
readelf -s suspect_binary
nm suspect_binary 2>/dev/null
# Dynamic linking information
readelf -d suspect_binary
ldd suspect_binary 2>/dev/null # Only on matching architecture!
# Compute hashes
md5sum suspect_binary
sha256sum suspect_binary
# Check for packing/UPX
upx -t suspect_binary
# Python-based ELF analysis
from elftools.elf.elffile import ELFFile
import hashlib
with open("suspect_binary", "rb") as f:
data = f.read()
sha256 = hashlib.sha256(data).hexdigest()
with open("suspect_binary", "rb") as f:
elf = ELFFile(f)
print(f"SHA-256: {sha256}")
print(f"Class: {elf.elfclass}-bit")
print(f"Endian: {elf.little_endian and 'Little' or 'Big'}")
print(f"Machine: {elf.header.e_machine}")
print(f"Type: {elf.header.e_type}")
print(f"Entry Point: 0x{elf.header.e_entry:X}")
# Check if stripped
symtab = elf.get_section_by_name('.symtab')
print(f"Stripped: {'Yes' if symtab is None else 'No'}")
# Section entropy analysis
import math
from collections import Counter
for section in elf.iter_sections():
data = section.data()
if len(data) > 0:
entropy = -sum((c/len(data)) * math.log2(c/len(data))
for c in Counter(data).values() if c > 0)
if entropy > 7.0:
print(f" [!] High entropy section: {section.name} ({entropy:.2f})")
Passo 2: Extrair Strings e Indicadores
Procure por IOCs (Indicadores de Comprometimento) embutidos e pistas de funcionalidade:
# ASCII strings
strings suspect_binary > strings_output.txt
# Search for network indicators
grep -iE "(http|https|ftp)://" strings_output.txt
grep -iE "([0-9]{1,3}\.){3}[0-9]{1,3}" strings_output.txt
grep -iE "[a-zA-Z0-9.-]+\.(com|net|org|io|ru|cn)" strings_output.txt
# Search for shell commands
grep -iE "(bash|sh|wget|curl|chmod|/tmp/|/dev/)" strings_output.txt
# Search for crypto mining indicators
grep -iE "(stratum|xmr|monero|pool\.|mining)" strings_output.txt
# Search for SSH/credential theft
grep -iE "(ssh|authorized_keys|id_rsa|shadow|passwd)" strings_output.txt
# Search for persistence mechanisms
grep -iE "(crontab|systemd|init\.d|rc\.local|ld\.so\.preload)" strings_output.txt
# FLOSS for obfuscated strings (if available)
floss suspect_binary
Passo 3: Analisar Chamadas de Sistema e Uso de Bibliotecas
Identifique quais chamadas de sistema e bibliotecas o malware utiliza:
# List imported functions (dynamically linked)
readelf -r suspect_binary | grep -E "socket|connect|exec|fork|open|write|bind|listen"
# Trace system calls during execution (in isolated VM only)
strace -f -e trace=network,process,file -o strace_output.txt ./suspect_binary
# Trace library calls
ltrace -f -o ltrace_output.txt ./suspect_binary
# Key system calls to watch:
# Network: socket, connect, bind, listen, accept, sendto, recvfrom
# Process: fork, execve, clone, kill, ptrace
# File: open, read, write, unlink, rename, chmod
# Persistence: inotify_add_watch (file monitoring)
Passo 4: Análise Dinâmica com GDB
Depure o malware para observar o comportamento em tempo de execução:
# Iniciar GDB com o binário
gdb ./binario_suspeito
…
Perguntas frequentes
Posso usar isso para analisar vírus de Windows?
Não, esta ferramenta é feita apenas para programas maliciosos de Linux (arquivos ELF). Para Windows, você precisa de outras ferramentas.
Preciso instalar muitas coisas para usar?
Sim, você precisará de algumas ferramentas de análise de segurança e um ambiente Linux configurado para fazer uma análise completa.
O que é um arquivo 'ELF'?
ELF (Executable and Linkable Format) é o formato padrão para programas executáveis, arquivos objeto e bibliotecas compartilhadas em sistemas Linux e outros sistemas Unix.
Detalhes
Descrição original do autor
Analyze malicious Linux ELF binaries — botnets, cryptominers, ransomware, and rootkits targeting Linux servers, containers, and cloud infrastructure — through static analysis, dynamic tracing, and reverse engineering of x86_64 and ARM samples. Use when investigating Linux malware, triaging a suspicious ELF binary, assessing a compromised Linux server, or analyzing container-targeted malware. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5457
- 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