Pular para o conteúdo
Skillpedia
Análise e planilhas35 mil · #6099

performing-malware-persistence-investigation

Faz seu agente procurar como programas maliciosos continuam ativos. Ele investiga os métodos usados para que o programa não seja removido após reiniciar.

O que ela faz

Esta ferramenta investiga como programas maliciosos (malware) se escondem em computadores Windows e Linux para continuar funcionando mesmo após reinicializações. Ela procura por 'portas dos fundos' que o malware pode usar para se manter ativo e com acesso ao sistema.

Quando usar

  • ✓Quando você suspeita que um vírus ou malware está ativo no seu computador.
  • ✓Após remover um vírus, para garantir que ele não volte.
  • ✓Para verificar se há programas desconhecidos iniciando automaticamente no seu sistema.

Exemplo do que pedir para a IA

“Verifique se há programas maliciosos que iniciam automaticamente no meu computador.”

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/performing-malware-persistence-investigation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-malware-persistence-investigation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa configurações importantes do sistema (como o Registro no Windows) e tarefas agendadas. Ela procura por entradas que pareçam suspeitas ou que não deveriam estar lá, indicando a presença de malware.

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-malware-persistence-investigation

Ou baixe só o arquivo:

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

Investigando Persistência de Malware

Quando Usar

  • Ao investigar como o malware mantém presença em um sistema comprometido após reinicializações.
  • Durante a resposta a incidentes para identificar todos os mecanismos de persistência para remediação completa.
  • Para caça a ameaças (threat hunting) para descobrir entradas de inicialização automática não autorizadas em endpoints.
  • Ao analisar o comportamento de malware para entender sua estratégia de persistência.
  • Para verificar se toda a persistência foi removida após a remediação de um incidente.

Pré-requisitos

  • Imagem forense ou acesso ao sistema em tempo real com privilégios administrativos.
  • Autoruns (Sysinternals) para enumeração de persistência no Windows.
  • RegRipper para análise offline do registro.
  • Compreensão dos mecanismos de persistência do Windows e Linux.
  • Regras YARA para escanear locais de persistência.
  • Linha de base de entradas de inicialização automática conhecidas e boas para comparação.

Fluxo de Trabalho

Passo 1: Enumerar Persistência no Registro do Windows

# Extrair hives do registro da imagem forense
mount -o ro,loop,offset=$((2048*512)) /cases/case-2024-001/images/evidence.dd /mnt/evidence

# Principais locais de persistência no registro
python3 << 'PYEOF'
from Registry import Registry
import json

results = {'registry_persistence': []}

# Análise do hive SYSTEM
system_reg = Registry.Registry("/cases/case-2024-001/registry/SYSTEM")
select = system_reg.open("Select")
current = select.value("Current").value()
cs = f"ControlSet{current:03d}"

# Serviços (persistência muito comum)
services = system_reg.open(f"{cs}\\Services")
for svc in services.subkeys():
    try:
        start_type = svc.value("Start").value()
        image_path = ""
        try:
            image_path = svc.value("ImagePath").value()
        except:
            pass
        # Tipos de inicialização: 0=Boot, 1=System, 2=Auto, 3=Manual, 4=Disabled
        if start_type in (0, 1, 2) and image_path:
            svc_type = svc.value("Type").value() if svc.values() else 0
            results['registry_persistence'].append({
                'location': f'HKLM\\SYSTEM\\{cs}\\Services\\{svc.name()}',
                'type': 'Service',
                'value': image_path,
                'start_type': start_type,
                'timestamp': str(svc.timestamp())
            })
    except Exception:
        pass

# Análise do hive SOFTWARE
sw_reg = Registry.Registry("/cases/case-2024-001/registry/SOFTWARE")

# Chaves de execução da máquina
run_keys = [
    "Microsoft\\Windows\\CurrentVersion\\Run",
    "Microsoft\\Windows\\CurrentVersion\\RunOnce",
    "Microsoft\\Windows\\CurrentVersion\\RunServices",
    "Microsoft\\Windows\\CurrentVersion\\RunServicesOnce",
    "Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run",
    "Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run",
    "Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce",
]

for key_path in run_keys:
    try:
        key = sw_reg.open(key_path)
        for value in key.values():
            results['registry_persistence'].append({
                'location': f'HKLM\\SOFTWARE\\{key_path}',
                'type': 'Run Key',
                'name': value.name(),
                'value': str(value.value()),
                'timestamp': str(key.timestamp())
            })
    except Exception:
        pass

# Análise do NTUSER.DAT
import glob
for ntuser in glob.glob("/cases/case-2024-001/registry/NTUSER*.DAT"):
    try:
        user_reg = Registry.Registry(ntuser)
        user_run_keys = [
            "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
            "Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce",
            "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Startup",
        ]
        for key_path in user_run_keys:
            try:
                key = user_reg.open(key_path)
                for value in key.values():
                    results['registry_persistence'].append({
                        'location': f'HKCU\\{key_path}',
                        'type': 'User Run Key',
                        'name': value.name(),
                        'value': str(value.value()),
                        'timestamp': str(key.timestamp()),
                        'hive': ntuser
                    })
            except Exception:
                pass
    except Exception:
        pass

print(f"Total de entradas de persistência no registro: {len(results['registry_persistence'])}")
for entry in results['registry_persistence']:
    print(f"  [{entry['type']}] {entry.get('name', '')} -> {entry.get('value', '')[:100]}")


…
Perguntas frequentes

O que são 'mecanismos de persistência'?

São métodos que um malware usa para garantir que ele seja executado novamente, mesmo que o computador seja reiniciado. Pense neles como formas de o malware se 'esconder' e 'recomeçar'.

Preciso ser um especialista em computadores para usar isso?

Não. A ferramenta foi projetada para ser usada por pessoas que precisam investigar a segurança, mesmo sem conhecimento técnico profundo em programação ou sistemas operacionais.

Isso remove o malware?

A ferramenta identifica onde o malware está se escondendo. A remoção em si pode exigir outras ações ou ferramentas especializadas, mas saber onde procurar é o primeiro passo crucial.

Detalhes

Descrição original do autor

Systematically investigate all persistence mechanisms on Windows and Linux systems to identify how malware survives reboots and maintains access.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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