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

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-linux-elf-malware/SKILL.md

Mensagem pronta para colar

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

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-linux-elf-malware/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.

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. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5457
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