Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-9491_POC — Proof-of-Concept der CVE-2025-9491 mithilfe unsichtbarer Zeichen in den Argumenten einer Windows-Verknüpfungsdatei (.lnk) | Kitploit
Tools/GitHubGitHub/amperclock/cve-2025-9491_poc
ExploitationPenetrationstestsBinäranalyseLernen & BildungRed TeamingPayload-Entwicklung
GitHubamperclock/cve-2025-9491_poc

CVE-2025-9491_POC

Proof-of-Concept der CVE-2025-9491 mithilfe unsichtbarer Zeichen in den Argumenten einer Windows-Verknüpfungsdatei (.lnk)

Repository anzeigen
18415vor 11 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-9491 LNK-Verschleierungs-PoC

Ein Proof-of-Concept-Werkzeug zur Demonstration der Windows-Verknüpfungsdatei (LNK) Schwachstelle (ZDI-CAN-25373/CVE-2025-9491). Dieses Tool zeigt, wie bösartige Befehlszeilenargumente durch das Einfügen von Leerzeichen-Padding in .lnk-Dateien versteckt werden können.

**Dieses Tool wird ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt. Unautorisierter Zugriff auf Computersysteme ist illegal. Verwenden Sie dieses Tool nur auf Systemen, die Ihnen gehören oder für deren Test Sie ausdrückliche Erlaubnis haben.


Inhaltsverzeichnis

  • Beschreibung
  • Schwachstellendetails
  • Installation
  • Verwendung
    • Erstellungsmodus
    • Verschleierungsmodus
    • Analysemodus
  • Danksagungen

Beschreibung

Dies ist ein Proof-of-Concept-Werkzeug zum Erstellen und Manipulieren von Windows .lnk-Verknüpfungen, um die Schwachstelle CVE-2025-9491 zu demonstrieren. Das Tool ermöglicht Folgendes:

  1. Erstellen neuer verschleierter LNK-Dateien von Grund auf
  2. Verschleiern vorhandener LNK-Dateien durch Hinzufügen von Padding zu ihren Argumenten
  3. Analysieren von LNK-Dateien zur Überprüfung ihres Inhalts

Die Schwachstelle nutzt aus, wie Windows Eigenschaften von Verknüpfungen anzeigt, sodass Angreifer bösartige Befehlszeilenargumente vor Benutzern verbergen können, die die Verknüpfung überprüfen.


Schwachstellendetails

CVE-2025-9491 ist eine Windows-Benutzeroberflächen-Fehlinterpretations-Schwachstelle, die .lnk-Verknüpfungen betrifft. Sie wurde von Trend Micros Zero Day Initiative (ZDI-CAN-25373) entdeckt und wird seit mindestens 2017 von staatlich unterstützten APT-Gruppen ausgenutzt (siehe Danksagungen für weitere Details).

Die Schwachstelle nutzt das Feld "Ziel" mit fester Größe in der Windows-Verknüpfungs-Benutzeroberfläche aus. Durch Auffüllen der Argumente mit Leerzeichen (Leerzeichen, Tabulator, Zeilenvorschub, Wagenrücklauf) kann ein Angreifer bösartige Befehle verstecken und versteckte Payloads ausführen. Dies kann auch zur Umgehung von Erkennung genutzt werden, da Benutzer, die die Verknüpfung überprüfen, nur das aufgefüllte Leerzeichen sehen, nicht den eigentlichen Befehl. EDR-Systeme erhalten eine extrem lange Befehlszeile in der Telemetrie, und wenn sie lang genug ist, geben gängige EPP- oder AV-Lösungen die vollständige Analyse auf.


Installation

Python 3.7 oder höher ist erforderlich.

  1. Repository klonen oder herunterladen:

    git clone https://github.com/amperlcock/CVE-2025-9491_POC.git
    cd CVE-2025-9491_POC
    
  2. Abhängigkeiten installieren:

    Schnelle und einfache Methode, venv wird bevorzugt.
    pip install -r requirements.txt
    
  3. Tool ausführen:

    python main.py --help
    

Verwendung

Das Tool hat drei Hauptmodi: create, obfuscate und parse.

Erstellungsmodus

Erstellt eine neue verschleierte LNK-Datei von Grund auf.

Syntax:

python main.py create -t ZIEL -a ARGUMENTE -o AUSGABE [optionen]

Erforderliche Argumente:

  • -t, --target - Pfad zur ausführbaren Zieldatei
  • -a, --arguments - Argumente, die an die ausführbare Zieldatei übergeben werden
  • -o, --output - Ausgabeziel der LNK-Datei

Optionale Argumente:

  • -c, --charset - Benutzerdefinierter Zeichensatz für Padding (HEX-Format)

    • Standard: 20,09,0A,0B,0C,0D (Leerzeichen, Tabulator, LF, VT, FF, CR)
    • Format: Kommagetrennte HEX-Werte (ohne 0x-Präfix)
  • -s, --padding_size - Anzahl der Padding-Zeichen

    • Standard: 128 (keine bekannte Begrenzung)
    • Typ: Ganzzahl
  • -p, --pattern_type - Padding-Muster-Stil

    • 1 (Standard): Zufälliges Muster – verwendet zufällige Auswahl aus dem Zeichensatz
    • 2: Monomuster – wiederholt das erste Element des Zeichensatzes
    • 3: Zyklisches Muster – durchläuft die Zeichensatzelemente
  • -i, --icon - Pfad zu einem benutzerdefinierten Symbol für die Verknüpfung

    • Standard: Keine (verwendet Standardsymbol)
  • -d, --description - Sichtbare Beschreibung für die Verknüpfung

    • Standard: Keine
  • -v, --verbose - Aktiviert ausführliche Ausgabe

    • Standard: Deaktiviert

Beispiel:

python main.py create -t C:\Windows\System32\cmd.exe -a "/c whoami" -o output.lnk -s 256 -v

Verschleierungsmodus

Fügt Padding zu den Argumenten einer vorhandenen LNK-Datei hinzu.

Syntax:

python main.py obfuscate -i EINGABE -o AUSGABE [optionen]

Erforderliche Argumente:

  • -i, --input - Pfad zur vorhandenen LNK-Datei, die verschleiert werden soll
  • -o, --output - Ausgabeziel der LNK-Datei

Optionale Argumente:

  • -c, --charset - Benutzerdefinierter Zeichensatz für Padding (HEX-Format)

    • Standard: 20,09,0A,0B,0C,0D
    • Format: Kommagetrennte HEX-Werte
  • -s, --padding_size - Anzahl der Padding-Zeichen

    • Standard: 128
    • Typ: Ganzzahl
  • -p, --pattern_type - Padding-Muster-Stil

    • 1 (Standard): Zufälliges Muster
    • 2: Monomuster
    • 3: Zyklisches Muster
  • -v, --verbose - Aktiviert ausführliche Ausgabe

    • Zeigt Dateilade-, Padding-Generierungs- und Speichervorgänge an

Beispiel:

python main.py obfuscate -i benign.lnk -o obfuscated.lnk -s 256 -p 3 -v

Analysemodus

Zeigt den Inhalt einer vorhandenen LNK-Datei an.

Syntax:

python main.py parse -i EINGABE

Erforderliche Argumente:

  • -i, --input - Pfad zur LNK-Datei, die analysiert und angezeigt werden soll

Beispiel:

python main.py parse -i output.lnk

Beispiele

Beispiel 1: Einfache verschleierte Verknüpfung erstellen

python main.py create \
  -t "cmd.exe" \
  -a "/c powershell -Command Get-Process" \
  -o malicious.lnk \
  -s 200 \
  -p 1 \
  -v

Dies erstellt eine Verknüpfung zu cmd.exe mit einem versteckten PowerShell-Befehl, dem 200 zufällige Padding-Zeichen vorangestellt sind.

Beispiel 2: Vorhandene Verknüpfung verschleiern

python main.py obfuscate \
  -i "legitimate.lnk" \
  -o "obfuscated.lnk" \
  -s 512 \
  -c "20,09,0A" \
  -p 2

Dies fügt einer vorhandenen Verknüpfung 512 Zeichen Monomuster-Padding (unter Verwendung von Leerzeichen und Tabulator) hinzu.

Beispiel 3: LNK-Datei überprüfen

python main.py parse -i "suspicious.lnk"

Die Ausgabe zeigt alle Eigenschaften einschließlich versteckter Argumente.

Beispiel 4: Benutzerdefiniertes Zeichensatzmuster

python main.py create \
  -t "powershell.exe" \
  -a "-NoProfile -ExecutionPolicy Bypass -Command 'Get-ChildItem'" \
  -o output.lnk \
  -c "20,09,0A,0B,0C,0D" \
  -s 1024 \
  -p 3 \
  -d "Mein Dokument"

Danksagungen

  • Schwachstellenentdeckung: Trend Micro Zero Day Initiative ZDI-CAN-25373
  • pylnk3-Bibliothek: Strayge und Mitwirkende
  • Ursprüngliche pylnk-Bibliothek: tim-erwin
Tool herunterladen