Communitygithub.com

Análise do Registro do Windows para Artefatos

Extraia e analise hives do Registro do Windows com ferramentas como RegRipper, python-registry e outras.

O que é Análise do Registro do Windows para Artefatos?

Esta skill capacita agentes de IA e profissionais de segurança a investigarem artefatos do Registro do Windows a partir de imagens forenses ou hives extraídos. Ela oferece um fluxo de trabalho completo, desde a extração segura dos arquivos de hive (SAM, SYSTEM, SOFTWARE, NTUSER.DAT e UsrClass.dat) até a análise automatizada e manual de artefatos críticos. A skill é projetada para ambientes de análise forense como SIFT Workstation e utiliza ferramentas consagradas como RegRipper, por meio de seus plugins para autorun, UserAssist, MRU, USBSTOR e rede, além de bibliotecas como python-registry para investigação programática. Entre os casos de uso típicos estão: identificação de mecanismos de persistência de malware, reconstrução de atividades do usuário (execução de programas, arquivos recentes, URLs digitadas), detecção de software não autorizado e investigação de exfiltração de dados via USB. A skill também orienta a correlação de timestamps de registro com outros artefatos forenses e a geração de resumos estruturados de achados, otimizando a análise de incidentes e investigações internas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-windows-registry-for-artifacts

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Análise do Registro do Windows para Artefatos faz?

Quando Usar

  • Ao investigar atividades de usuário em um sistema Windows durante um incidente
  • Para identificar mecanismos de autorun/persistência usados por malware
  • Ao rastrear software instalado, dispositivos USB e conexões de rede
  • Durante investigações de ameaças internas para reconstruir ações do usuário
  • Para correlacionar timestamps do registro com outros artefatos forenses

Pré-requisitos

  • Imagem forense ou arquivos de hive extraídos
  • RegRipper, Registry Explorer (Eric Zimmerman) ou python-registry
  • Acesso aos locais dos hives do registro (SAM, SYSTEM, SOFTWARE, NTUSER.DAT, UsrClass.dat)
  • Compreensão da estrutura do Registro do Windows (hives, chaves, valores)
  • SIFT Workstation ou ambiente de análise forense

Fluxo de Trabalho

Etapa 1: Extrair Hives do Registro da Imagem Forense

# Montar a imagem forense como somente leitura
mkdir /mnt/evidence
mount -o ro,loop,offset=$((2048*512)) /cases/case-2024-001/images/evidence.dd /mnt/evidence

# Copiar hives do sistema
cp /mnt/evidence/Windows/System32/config/SAM /cases/case-2024-001/registry/
cp /mnt/evidence/Windows/System32/config/SYSTEM /cases/case-2024-001/registry/
cp /mnt/evidence/Windows/System32/config/SOFTWARE /cases/case-2024-001/registry/
cp /mnt/evidence/Windows/System32/config/SECURITY /cases/case-2024-001/registry/
cp /mnt/evidence/Windows/System32/config/DEFAULT /cases/case-2024-001/registry/

# Copiar hives específicos do usuário
cp /mnt/evidence/Users/*/NTUSER.DAT /cases/case-2024-001/registry/
cp /mnt/evidence/Users/*/AppData/Local/Microsoft/Windows/UsrClass.dat /cases/case-2024-001/registry/

# Copiar logs de transação (para recuperação de hives sujos)
cp /mnt/evidence/Windows/System32/config/*.LOG* /cases/case-2024-001/registry/logs/

# Hash de todos os hives extraídos
sha256sum /cases/case-2024-001/registry/* > /cases/case-2024-001/registry/hive_hashes.txt

Etapa 2: Analisar com RegRipper para Extração Automatizada de Artefatos

# Instalar RegRipper
git clone https://github.com/keydet89/RegRipper3.0.git /opt/regripper

# Executar RegRipper contra NTUSER.DAT (perfil do usuário)
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/NTUSER.DAT \
   -f ntuser > /cases/case-2024-001/analysis/ntuser_report.txt

# Executar contra o hive SYSTEM
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SYSTEM \
   -f system > /cases/case-2024-001/analysis/system_report.txt

# Executar contra o hive SOFTWARE
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SOFTWARE \
   -f software > /cases/case-2024-001/analysis/software_report.txt

# Executar contra o hive SAM (contas de usuário)
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SAM \
   -f sam > /cases/case-2024-001/analysis/sam_report.txt

# Executar plugins específicos
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/NTUSER.DAT \
   -p userassist > /cases/case-2024-001/analysis/userassist.txt

perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SYSTEM \
   -p usbstor > /cases/case-2024-001/analysis/usbstor.txt

Etapa 3: Extrair Entradas de Persistência e Autorun

# Usando python-registry para extração direcionada
pip install python-registry

python3 << 'PYEOF'
from Registry import Registry

# Abrir hive SOFTWARE
reg = Registry.Registry("/cases/case-2024-001/registry/SOFTWARE")

# Verificar chaves Run (inicialização automática)
autorun_paths = [
    "Microsoft\\Windows\\CurrentVersion\\Run",
    "Microsoft\\Windows\\CurrentVersion\\RunOnce",
    "Microsoft\\Windows\\CurrentVersion\\RunServices",
    "Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run",
    "Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run"
]

for path in autorun_paths:
    try:
        key = reg.open(path)
        print(f"\n=== {path} (Última Modificação: {key.timestamp()}) ===")
        for value in key.values():
            print(f"  {value.name()}: {value.value()}")
    except Registry.RegistryKeyNotFoundException:
        pass

# Verificar serviços instalados
key = reg.open("Microsoft\\Windows NT\\CurrentVersion\\Svchost")
print(f"\n=== Grupos Svchost ===")
for value in key.values():
    print(f"  {value.name()}: {value.value()}")
PYEOF

# Verificar NTUSER.DAT para autorun específico do usuário
python3 << 'PYEOF'
from Registry import Registry

reg = Registry.Registry("/cases/case-2024-001/registry/NTUSER.DAT")

user_autorun = [
    "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
    "Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce",
    "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartupApproved\\Run"
]

for path in user_autorun:
    try:
        key = reg.open(path)
        print(f"\n=== {path} (Última Modificação: {key.timestamp()}) ===")
        for value in key.values():
            print(f"  {value.name()}: {value.value()}")
    except Registry.RegistryKeyNotFoundException:
        pass
PYEOF

Etapa 4: Analisar Artefatos de Atividade do Usuário

# Extrair dados do UserAssist (histórico de execução de programas com codificação ROT13)
python3 << 'PYEOF'
from Registry import Registry
import codecs, struct, datetime

reg = Registry.Registry("/cases/case-2024-001/registry/NTUSER.DAT")

ua_path = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist"
key = reg.open(ua_path)

for guid_key in key.subkeys():
    count_key = guid_key.subkey("Count")
    print(f"\n=== {guid_key.name()} ===")
    for value in count_key.values():
        decoded_name = codecs.decode(value.name(), 'rot_13')
        data = value.value()
        if len(data) >= 16:
            run_count = struct.unpack('<I', data[4:8])[0]
            focus_count = struct.unpack('<I', data[8:12])[0]
            timestamp = struct.unpack('<Q', data[60:68])[0] if len(data) >= 68 else 0
            if timestamp > 0:
                ts = datetime.datetime(1601,1,1) + datetime.timedelta(microseconds=timestamp//10)
                print(f"  {decoded_name}: Execuções={run_count}, Foco={focus_count}, Último={ts}")
            else:
                print(f"  {decoded_name}: Execuções={run_count}, Foco={focus_count}")
PYEOF

# Extrair Documentos Recentes (listas MRU)
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/NTUSER.DAT \
   -p recentdocs > /cases/case-2024-001/analysis/recentdocs.txt

# Extrair URLs digitadas (navegador)
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/NTUSER.DAT \
   -p typedurls > /cases/case-2024-001/analysis/typedurls.txt

# Extrair caminhos digitados no Explorer
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/NTUSER.DAT \
   -p typedpaths > /cases/case-2024-001/analysis/typedpaths.txt

Etapa 5: Extrair Informações do Sistema e Rede

# Nome do computador e versão do SO do hive SYSTEM
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SYSTEM \
   -p compname > /cases/case-2024-001/analysis/system_info.txt

# Interfaces de rede e configuração
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SYSTEM \
   -p nic2 >> /cases/case-2024-001/analysis/system_info.txt

# Histórico de redes sem fio
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SOFTWARE \
   -p networklist > /cases/case-2024-001/analysis/network_history.txt

# Configuração de fuso horário
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SYSTEM \
   -p timezone > /cases/case-2024-001/analysis/timezone.txt

# Horário de desligamento
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SYSTEM \
   -p shutdown > /cases/case-2024-001/analysis/shutdown.txt

# Software instalado a partir das chaves Uninstall
perl /opt/regripper/rip.pl -r /cases/case-2024-001/registry/SOFTWARE \
   -p uninstall > /cases/case-2024-001/analysis/installed_software.txt

Conceitos-Chave

ConceitoDescrição
Hive do RegistroArquivo binário que armazena uma seção do registro (SAM, SYSTEM, SOFTWARE, NTUSER.DAT)
MRU (Usados Recentemente)Listas que rastreiam arquivos, comandos e termos de pesquisa acessados recentemente
UserAssistEntradas de registro codificadas em ROT13 que rastreiam a execução de programas com timestamps
ShimCacheCache de compatibilidade de aplicativos que registra programas executados
AmCacheHistórico detalhado de execução incluindo hashes SHA-1 de executáveis
BAM/DAMModerador de Atividade de Fundo/Área de Trabalho que rastreia execução de programas no Win10+
Last Write TimeTimestamp em chaves do registro indicando quando foram modificadas pela última vez
Logs de transaçãoArquivos de diário que permitem recuperar o estado do registro após desligamento inadequado

Ferramentas e Sistemas

FerramentaPropósito
RegRipperExtração automatizada de artefatos do registro com arquitetura de plugins
Registry ExplorerFerramenta GUI de Eric Zimmerman para análise interativa do registro
python-registryBiblioteca Python para análise programática de hives do registro
RECmdFerramenta de linha de comando de Eric Zimmerman para análise do registro
yarpYet Another Registry Parser para análise baseada em Python
AppCompatCacheParserAnalisador dedicado de ShimCache/AppCompatCache
AmcacheParserFerramenta dedicada de análise do AmCache.hve
ShellBags ExplorerFerramenta especializada para análise de artefatos ShellBag

Cenários Comuns

Cenário 1: Investigação de Persistência de Malware Extrair hives SOFTWARE e NTUSER.DAT, verificar todas as chaves Run/RunOnce em busca de entradas não autorizadas, examinar serviços por adições suspeitas, verificar chaves de registro de tarefas agendadas, correlacionar timestamps de autorun com a linha do tempo de execução do malware.

Cenário 2: Reconstrução de Atividade do Usuário Analisar UserAssist para histórico de execução de programas, examinar RecentDocs para arquivos acessados, verificar TypedPaths para navegação no Explorer, extrair ShellBags para padrões de acesso a pastas, construir uma linha do tempo da atividade do usuário ao redor da janela do incidente.

Cenário 3: Detecção de Software Não Autorizado Analisar chaves Uninstall para todos os aplicativos instalados, comparar com a linha de base de software aprovado, verificar BAM/DAM para programas executados recentemente que não estão na lista aprovada, examinar AppCompatCache para evidências de execução mesmo após a desinstalação.

Cenário 4: Investigação de Exfiltração de Dados via USB Extrair entradas USBSTOR do hive SYSTEM para dispositivos conectados, correlacionar números de série dos dispositivos com MountedDevices, verificar MountPoints2 do NTUSER.DAT para acesso do usuário a mídias removíveis, examinar logs SetupAPI para timestamps de primeira conexão.

Formato de Saída

Resumo da Análise do Registro:
  Sistema: DESKTOP-ABC123 (Windows 10 Pro Build 19041)
  Fuso Horário: Eastern Standard Time (UTC-5)
  Último Desligamento: 2024-01-18 23:45:12 UTC

  Entradas de Autorun:
    HKLM Run:     5 entradas (1 suspeita: "updater.exe" -> C:\ProgramData\svc\updater.exe)
    HKCU Run:     3 entradas (todas legítimas)
    Serviços:     142 entradas (2 desconhecidas: "WinDefSvc", "SysMonAgent")

  Atividade do Usuário (NTUSER.DAT):
    Programas UserAssist:  234 entradas
    Documentos Recentes:     89 entradas
    URLs Digitadas:          45 entradas
    Caminhos Digitados:     12 entradas

  Dispositivos USB Conectados:
    - Kingston DataTraveler (Serial: 0019E06B4521) - Primeira: 2024-01-10, Última: 2024-01-18
    - WD My Passport (Serial: 575834314131) - Primeira: 2024-01-15, Última: 2024-01-15

  Software Instalado:     127 aplicativos
  Achados Suspeitos:      3 itens sinalizados para revisão

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Habilidades Relacionadas