Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-49144 — PoC CVE-2025-49144 | Kitploit
Tools/GitHubGitHub/vr00mm/cve-2025-49144
Privilege EscalationPersistenzmechanismenExploitationCommand and ControlSocial EngineeringLernen & BildungRed TeamingPayload-EntwicklungBinary-Exploitation
GitHubvr00mm/cve-2025-49144

CVE-2025-49144

PoC CVE-2025-49144

62vor 1 JahrNoch 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
Repository anzeigen

Notepad++ Binary Planting PoC (CVE-2025-49144)

⚠️ NUR ZU BILDUNGSZWECKEN
Dieser Code dient Bildungs- und Forschungszwecken, um Schwachstellen im Zusammenhang mit Binary Planting zu verstehen. Verwenden Sie ihn nur in kontrollierten Umgebungen mit entsprechender Autorisierung.

📋 Übersicht

Dieses Proof of Concept demonstriert die Binary-Planting-Schwachstelle im Notepad++-Installer (CVE-2025-49144), auf die in GHSA-9vx8-v79m-6m24 verwiesen wird. Die Schwachstelle ermöglicht es einem Angreifer, SYSTEM-Rechte zu erlangen, indem er eine schädliche ausführbare Datei namens regsvr32.exe im selben Verzeichnis wie den Notepad++-Installer platziert.

🎯 Details zur Schwachstelle

  • Ziel: Notepad++-Installer (alle Versionen vor v8.8.2)
  • Methode: Binary Planting über eine schädliche regsvr32.exe
  • Grundursache: Notepad++-Installer rufen System-Binaries wie regsvr32 auf, ohne absolute Pfade anzugeben
  • Auswirkung: Wenn ein Benutzer den Installer ausführt, lädt das System die schädliche Datei automatisch mit SYSTEM-Rechten, wodurch ein Angreifer die vollständige Kontrolle über das Zielsystem erlangt
  • Angriffsvektor: Social Engineering oder Clickjacking, um Benutzer dazu zu bringen, sowohl den legitimen Installer als auch eine schädliche ausführbare Datei in dasselbe Verzeichnis herunterzuladen (in der Regel der Download-Ordner)

🏗️ Architektur

Der PoC besteht aus mehreren Komponenten, die zusammenarbeiten:

root@kitploit:~
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ Notepad++       │    │ Malicious        │    │  Reverse Shell  │
│ Installer       │───▶│ regsvr32.exe     │───▶│   (PowerShell)  │
│ (searches for   │    │ (CGO binary)     │    │  with SYSTEM    │
│  regsvr32.exe)  │    │                  │    │  privileges     │
└─────────────────┘    └──────────────────┘    └─────────────────┘

Kernkomponenten

🔧 Technische Merkmale

🛡️ Tarnungstechniken

  • String-Verschleierung: Der PowerShell-Pfad wird XOR-kodiert, um eine statische Erkennung zu vermeiden
  • Entkoppelte Prozesse: Erstellt unabhängige Prozesse, die die Beendigung des übergeordneten Prozesses überleben
  • Token-Impersonation: Erhöht Privilegien durch Diebstahl von SYSTEM-Tokens
  • Process Hollowing: Injiziert Code in legitime Windows-Prozesse

🌐 Netzwerkfunktionen

  • TCP-Keep-Alive: Hält dauerhafte Verbindungen durch Firewalls aufrecht
  • Verbindungswiederholung: Automatische Wiederverbindung mit konfigurierbaren Verzögerungen
  • Timeout-Behandlung: Nicht blockierende Socket-Operationen mit angemessenen Timeouts
  • Ratenbegrenzung: Verhindert Verbindungs-Spam und Erkennung

💻 Systemintegration

  • CGO-Integration: Nahtlose Go-C-Interoperabilität für Systemaufrufe
  • Maskierung ausführbarer Dateien: Imitiert das Verhalten der legitimen regsvr32.exe
  • Multithreading: Separate Threads für die Verarbeitung von stdin/stdout/stderr
  • Fehlerbehandlung: Saubere Verarbeitung von Verbindungsfehlern und Prozessbeendigungen
  • Ressourcenverwaltung: Ordnungsgemäße Bereinigung von Handles, Sockets und Speicher

🚀 Build-Anleitung

Voraussetzungen

root@kitploit:~
# Go installieren (1.24+)
# MinGW-w64 für die CGO-Kompilierung installieren
# Git für die Versionsverwaltung installieren

Kompilierung

root@kitploit:~
# Repository klonen
git clone https://github.com/Vr00mm/CVE-2025-49144
cd CVE-2025-49144

# Als ausführbare Datei bauen (maskiert als regsvr32.exe)

# Für maximale Tarnung (Debug-Informationen entfernen)
go build -ldflags="-s -w" -o regsvr32.exe

# Für die Entwicklung (mit Debug-Symbolen)
go build -o regsvr32_debug.exe

📖 Verwendung

Binary Planting (primärer Angriffsvektor)

root@kitploit:~
# 1. Schädliche regsvr32.exe im selben Verzeichnis wie den Notepad++-Installer platzieren
# In der Regel der Download-Ordner, in den Benutzer den Installer herunterladen
copy regsvr32.exe "C:\Users\%USERNAME%\Downloads\"

# 2. Benutzer lädt den offiziellen Notepad++-Installer in den Download-Ordner herunter
# 3. Wenn der Benutzer den Installer ausführt, sucht dieser zuerst im aktuellen Verzeichnis nach regsvr32.exe
# 4. Der Installer findet und führt unsere schädliche regsvr32.exe mit SYSTEM-Rechten aus

# 5. Auf eingehende Reverse-Shell-Verbindung lauschen
ncat -tlnp 4445

🔍 Angriffsablauf

root@kitploit:~
sequenceDiagram
    participant User
    participant Attacker
    participant Downloads
    participant NotepadInstaller
    participant MaliciousRegsvr32
    participant SystemProcess

    User->>Downloads: Download Notepad++ installer
    Attacker->>Downloads: Place malicious regsvr32.exe (social engineering)
    User->>NotepadInstaller: Run installer from Downloads folder
    NotepadInstaller->>Downloads: Search for regsvr32.exe in current directory
    Downloads->>MaliciousRegsvr32: Find malicious regsvr32.exe first
    NotepadInstaller->>MaliciousRegsvr32: Execute with SYSTEM privileges
    MaliciousRegsvr32->>MaliciousRegsvr32: Create detached process
    MaliciousRegsvr32->>SystemProcess: Enumerate SYSTEM processes
    SystemProcess->>MaliciousRegsvr32: Steal token from winlogon/services
    MaliciousRegsvr32->>MaliciousRegsvr32: Create PowerShell with SYSTEM token
    MaliciousRegsvr32->>Attacker: Establish reverse connection
    MaliciousRegsvr32->>NotepadInstaller: Continue with legitimate regsvr32 functionality
    Attacker->>SystemProcess: Execute commands as SYSTEM

🎓 Bildungsaspekte

Demonstrierte Sicherheitskonzepte

  1. Binary Planting

    • Unsicheres Verhalten des Suchpfads für ausführbare Dateien
    • Privilegienerweiterung durch Installer-Schwachstellen
    • Social-Engineering-Angriffsvektoren
  2. Privilegienerweiterung

    • Token-Impersonationsmethoden
    • Diebstahl von Prozess-Tokens
    • Erlangung von SYSTEM-Zugriff
  3. Persistenzmechanismen

    • Erstellung entkoppelter Prozesse
    • Nachahmung von Dienstprozessen
    • Logik zur Verbindungswiederholung
  4. Netzwerkprogrammierung

    • Implementierung einer Reverse Shell
    • Socket-Programmierung in C
    • Plattformübergreifende Netzwerkkommunikation
  5. CGO-Programmierung

    • Go-C-Interoperabilität
    • Systemnahe Programmierung in Go
    • Sprachübergreifende Integration

Lernziele

  • Verstehen, wie Binary-Planting-Schwachstellen funktionieren
  • Etwas über unsichere Suchpfade für ausführbare Dateien in Installern lernen
  • Windows-Privilegienerweiterung durch Installer-Fehler untersuchen
  • Social-Engineering-Angriffsvektoren studieren
  • CGO-Programmierung und sprachübergreifende Integration üben
  • Sichere Programmierung und Schwachstellenanalyse üben

🛡️ Erkennung und Gegenmaßnahmen

Erkennungsmethoden

root@kitploit:~
# Auf verdächtige regsvr32-Nutzung überwachen
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104}

# Auf ungewöhnliche Netzwerkverbindungen prüfen
netstat -ano | findstr ":4445"

# Prozesserstellung überwachen
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4688}

Gegenmaßnahmen

  • Sofortmaßnahme: Upgrade auf Notepad++ v8.8.2 oder höher, das beim Aufruf ausführbarer Dateien wie regsvr32 explizit absolute Pfade festlegt
  • Anwendungs-Whitelisting: Verwenden Sie Tools wie AppLocker oder Windows Defender Application Control
  • Überprüfung ausführbarer Dateien: Implementieren Sie die Überprüfung digitaler Signaturen für alle ausführbaren Dateien
  • Pfadvalidierung: Stellen Sie sicher, dass Anwendungen vollständige Pfade zu Systemdienstprogrammen verwenden
  • Least Privilege: Führen Sie Anwendungen mit den minimal erforderlichen Berechtigungen aus
  • Netzwerküberwachung: Überwachen Sie auf ungewöhnliche ausgehende Verbindungen
  • Endpoint-Erkennung: Setzen Sie EDR-Lösungen ein, um Process Hollowing zu erkennen
  • Konfigurationsprüfung: Vermeiden Sie die Ausführung von Installern aus benutzerbeschreibbaren Verzeichnissen wie dem Download-Ordner

⚖️ Rechtliche und ethische Aspekte

⚠️ Wichtige Haftungsausschlüsse

  • Autorisierung erforderlich: Nur in Umgebungen verwenden, die Ihnen gehören oder für die Sie eine ausdrückliche Testgenehmigung besitzen
  • Bildungszweck: Dieser Code ist für Lern- und Sicherheitsforschungszwecke konzipiert
  • Keine böswillige Absicht: Nicht für unbefugten Zugriff oder illegale Aktivitäten bestimmt
  • Verantwortungsvolle Offenlegung: Melden Sie gefundene Schwachstellen über die richtigen Kanäle

Ethische Richtlinien

  1. Verantwortungsvolle Nutzung: Nur für legitime Sicherheitstests und Bildung verwenden
  2. Kein unbefugter Zugriff: Niemals ohne Erlaubnis gegen Systeme einsetzen
  3. Ordentliche Namensnennung: Nennen Sie die ursprünglichen Forscher und Entdecker der Schwachstellen
  4. Wissensaustausch: Teilen Sie Erkenntnisse verantwortungsvoll mit der Sicherheitscommunity

🔧 Fehlerbehebung

Häufige Probleme

Verbindungsfehler

root@kitploit:~
# Prüfen, ob der Port verfügbar ist
netstat -ano | findstr ":4445"

# Firewall-Einstellungen überprüfen
netsh advfirewall firewall show rule name=all | findstr "4445"

Build-Fehler

root@kitploit:~
# Sicherstellen, dass CGO aktiviert ist
set CGO_ENABLED=1

# MinGW-Installation prüfen
gcc --version

# Überprüfen, ob die Go-Installation CGO unterstützt
go env CGO_ENABLED

Fehler bei der Token-Erlangung

  • Stellen Sie sicher, dass das Programm mit ausreichenden Rechten ausgeführt wird
  • Prüfen Sie, ob SYSTEM-Prozesse für den Token-Diebstahl verfügbar sind
  • Überprüfen Sie die Kompatibilität der Windows-Version
  • Hinweis: Diese Schwachstelle betrifft alle Notepad++-Versionen vor v8.8.2, daher sollte der PoC auf einer breiten Palette von Installationen funktionieren

📚 Referenzen

  • CVE-2025-49144 Repository
  • Notepad++ Security Advisory GHSA-9vx8-v79m-6m24
  • NVD CVE-2025-49144
  • MITRE ATT&CK T1574.007 - Path Interception by PATH Environment Variable
  • MITRE ATT&CK T1134 - Access Token Manipulation
  • Microsoft Documentation - Secure Binary Loading

📄 Lizenz

Dieses Projekt wird zu Bildungszwecken unter der MIT-Lizenz veröffentlicht. Einzelheiten finden Sie in der Datei LICENSE.


Denken Sie daran: Dieses Tool dient ausschließlich Bildungs- und autorisierten Testzwecken. Befolgen Sie stets die Praktiken der verantwortungsvollen Offenlegung und respektieren Sie rechtliche Grenzen.

Tool herunterladen
DateiZweckZeilen
main.goEinstiegspunkt, verarbeitet die regsvr32-Ausführung~80
winbind.hHaupt-Header mit Funktionsdeklarationen~45
main.cZentraler Reverse-Shell-Starter und Erstellung entkoppelter Prozesse~75
shell.cShell-Handler mit verschleierter PowerShell-Ausführung~120
process.cToken-Erlangung und Erstellung von SYSTEM-Prozessen~195
socket.cNetzwerkverbindung mit TCP-Keep-Alive~85
threads.cI/O-Threading zwischen Socket und Pipes~60
utils.cEingabevalidierung und Ratenbegrenzung~35
obfuscate.cTechniken zur Verschleierung des PowerShell-Pfads~70