
Automatisierter SSH-basierter Scanner und Patcher für Linux-Kernel-LPE-Schwachstellen CVE-2026-43284 und CVE-2026-43500, mit Multi-Host-Erkennung, Erkennung von Privilege Escalation und Mitigation durch Modul-Blacklisting.
Haftungsausschluss: Dieses Tool ist ausschließlich für legitime interne Sicherheitsaudits konzipiert. Die Verwendung ohne Genehmigung auf Systemen, die nicht Ihnen gehören, ist ein Verstoß. Entwickelt von Gagaltotal666 - GhostGTR666.
Dieses Tool identifiziert und mitigiert zwei Local Privilege Escalation (LPE)-Schwachstellen im Linux-Kernel:
f4c50a4034e6 vom 2026-05-05)/etc/modprobe.d/| Funktion | Beschreibung |
|---|---|
| Multi-Host-Scanner | Scannt gesamte Subnetze (CIDR) oder spezifische IP-Listen parallel |
| TCP-Ping-Erkennung | Automatische Erkennung aktiver Hosts vor SSH (überspringbar mit --skip-discovery) |
| Deep Audit | Analyse von Kernel-Version, Modulstatus, Upstream-Patch, Privilegienstufe |
| Schwachstellenbewertung | Automatische Statusklassifizierung: VULNERABLE, MITIGATED, LIKELY_PATCHED, POSSIBLY_SAFE, MODULE_NOT_LOADED |
| Automatisierte Mitigation | Blacklist der Module, Entladen und Leeren des Page-Cache mit einem einzigen --patch |
| Zero-Touch-Sudo-Injection | Automatische Passwort-Injektion über sudo -S — keine NOPASSWD-Konfiguration erforderlich |
| Intelligente Authentifizierungserkennung | Automatische Erkennung von Privilege Escalation (root, sudo NOPASSWD, sudo mit Passwort) |
| CLI-Validierung | Vorabprüfung auf Tippfehler, Validierung der SSH-Key-Datei (verhindert falsche known_hosts) |
| Parallele Ausführung | Thread-Pool für Scans und SSH-Operationen (Standard: 20 Worker) |
| JSON-Berichterstattung | Export vollständiger Audit-Ergebnisse im JSON-Format |
| Ansprechende Ausgabe | Farbige Ausgabe + PrettyTable-Zusammenfassung (automatischer Fallback, wenn Bibliothek fehlt) |
| Signalbehandlung | Sauberes Herunterfahren über SIGINT/SIGTERM |
Python 3.8 oder höher
Bibliotheken: paramiko, colorama, prettytable
python3 -m venv .venv
source .venv/bin/activate
# Repository klonen
git clone https://github.com/gagaltotal/dirtyfrag-scanner.git
cd dirtyfrag-scanner
# Abhängigkeiten installieren
pip install -r requirements.txt
# oder
pip install paramiko colorama prettytable

Erkennt Schwachstellen, ohne etwas auf dem Zielserver zu ändern.
# Mit Passwort
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user ghostgtr666 --password 'server@02!'
# Mit SSH-Key
python3 dirtyfrag_scanner.py --subnet 10.134.205.0/24 --user root --key ~/.ssh/id_rsa
# Mit beiden (Passwort-Fallback, wenn Key fehlschlägt)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user admin --password 'pass' --key ~/.ssh/id_rsa
# Spezifische IPs scannen (ohne Discovery)
python3 dirtyfrag_scanner.py --hosts 192.168.1.10,192.168.1.20 --user admin --password 'pass'
Führt Audit durch und wendet direkt Mitigation auf verwundbare Server an.
# Patch mit Passwort (AUTO-SUDO-INJEKTION, OHNE NOPASSWD ERFORDERLICH)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user ghostgtr666 --password 'server@02!' --patch
# Patch mit Root-Login
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --patch
# Patch mit benutzerdefinierten Workern (schnelleres Scannen)
python3 dirtyfrag_scanner.py --subnet 192.168.0.0/16 --user admin --password 'pass' --patch --workers 50
--subnet CIDR CIDR-Subnetz scannen (z. B. 192.168.1.0/24)
--hosts IP[,IP,...] Spezifische IPs scannen (kommagetrennt, ohne Leerzeichen)
--user BENUTZERNAME SSH-Benutzername (erforderlich)
--password PASSWORT SSH-Passwort (in Anführungszeichen setzen, wenn Sonderzeichen enthalten)
--key PFAD Pfad zum SSH-Private-Key (z. B. ~/.ssh/id_rsa, nicht known_hosts!)
--port PORT Benutzerdefinierter SSH-Port (Standard: 22)
--timeout SEKUNDEN SSH-Connect-Timeout (Standard: 10, max: 300)
--skip-discovery TCP-Ping-Erkennung überspringen, direkt SSH zu allen IPs
--workers NUM Anzahl paralleler SSH-Worker (Standard: 20, min: 1, max: 100)
--patch Mitigation auf verwundbare Hosts anwenden
--output DATEI Audit-Ergebnisse in JSON-Datei speichern
Dieses Tool ist für den Einsatz in verschiedenen SSH-Serverumgebungen konzipiert, ohne dass sudoers geändert werden muss:
Direkter Root (empfohlen)
--user root --key ~/.ssh/id_rsa --patch
Sudo NOPASSWD
--user ubuntu --key ~/.ssh/id_rsa --patch
/etc/sudoers bereits mit NOPASSWD konfiguriertsudo -nSudo mit Passwort-Injektion (Zero-Touch) ⭐
--user ubuntu --password 'mypass' --patch
/etc/sudoers: ALL=(ALL) ALLsudo -S -p ''Hybrid (Key + Passwort)
--user ubuntu --key ~/.ssh/id_rsa --password 'mypass' --patch
Wenn das Flag --patch verwendet wird, führt das Tool die folgenden Schritte nacheinander aus:
/etc/modprobe.d/dirtyfrag.conf löschen (falls vorhanden)/etc/modprobe.d/dirtyfrag.conf schreiben:
install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false
chmod 644 auf die Konfigurationsdateirmmod esp4 (überspringen, wenn nicht geladen)rmmod esp6 (überspringen, wenn nicht geladen)rmmod rxrpc (überspringen, wenn nicht geladen)echo 3 > /proc/sys/vm/drop_cachesHinweis: Wenn Module nach rmmod weiterhin geladen sind, wird der Benutzer darüber informiert, dass möglicherweise ein Neustart erforderlich ist.
──────────────────────────────────────────────────────────
Host 1/2: 10.134.205.163 (ubuntu-web-01)
──────────────────────────────────────────────────────────
OS : Ubuntu 22.04.4 LTS
Kernel : 6.8.0-111-generic
Priv : user
CVE-2026-43284 (xfrm-ESP) [POSSIBLY_SAFE]
esp4 geladen : nein
esp6 geladen : nein
Mitigation : NICHT angewendet
Upstream-Patch : NICHT enthalten (<6.15)
CVE-2026-43500 (RxRPC) [VULNERABLE]
rxrpc geladen : JA
Mitigation : NICHT angewendet
Hinweis: Es existiert noch kein Upstream-Patch — Mitigation ist die EINZIGE Lösung
[✓] Mitigation erfolgreich angewendet!
[Privilegienprüfung] OK (verwendet: sudo (Auto-Passwort))
[Zielpfad bereinigen] OK
[Modprobe-Konfiguration schreiben] OK
[Geschriebene Konfiguration verifizieren] OK (3 Einträge)
[Dateiberechtigungen setzen] OK
[esp4-Modul entladen] Übersprungen (nicht geladen oder bereits entfernt)
[esp6-Modul entladen] Übersprungen (nicht geladen oder bereits entfernt)
[rxrpc-Modul entladen] Entladen
[Page-Cache leeren] OK
[Abschließende Verifizierung] Konfigurationsdatei gültig
[Abschließende Verifizierung] Alle verwundbaren Module entladen
[Ergebnis] Mitigation erfolgreich angewendet
════ ZUSAMMENFASSUNG ════
+----------------+-------------------+------+------------+------------+----------+
| Host | OS/Kernel | Priv | CVE-43284 | CVE-43500 | Gepatcht?|
+----------------+-------------------+------+------------+------------+----------+
| 10.134.205.163 | Ubuntu 22.04.4 | user | POSSIBLY_S | VULNERABLE | JA ✓ |
| 10.134.205.164 | Ubuntu 22.04.4 | user | VULNERABLE| VULNERABLE | FEHLGESCHLAGEN ✗ |
| 10.134.205.165 | Debian 12 | root | MITIGATED | MITIGATED | — |
+----------------+-------------------+------+------------+------------+----------+
════ STATISTIKEN ════
Gescannte Hosts : 3
Fehler : 0
Verwundbar 43284 : 1
Verwundbar 43500 : 2
Mitigationen OK : 1
Mitigationen FEHLGESCHLAGEN: 1
└─ 1 fehlgeschlagen wegen unzureichender Privilegien
Dauer : 12,4s
Verwenden Sie das Flag --output, um vollständige Audit-Ergebnisse zu speichern:
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user admin --password 'pass' --output report.json
{
"scan_time": "2026-05-12 14:23:45",
"tool": "DirtyFrag Scanner v1.0",
"cves": ["CVE-2026-43284", "CVE-2026-43500"],
"total_hosts": 3,
"results": [
{
"host": "10.134.205.163",
"hostname": "ubuntu-web-01",
"os": "Ubuntu 22.04.4 LTS",
"kernel": "6.8.0-111-generic",
"kernel_v": [6, 8, 0],
"is_root": false,
"cve_43284": {
"status": "POSSIBLY_SAFE",
"esp4_loaded": false,
"esp6_loaded": false,
"mitigation_applied": false,
"upstream_patched": false
},
"cve_43500": {
"status": "VULNERABLE",
"rxrpc_loaded": true,
"mitigation_applied": false
},
"patch_applied": true,
"patch_msg": "...",
"error": null
}
]
}
# FALSCH
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa.pub
# RICHTIG (Private Key verwenden, nicht .pub)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
Die angegebene Datei ist kein Private Key. Prüfen Sie:
.pub-Datei (Public Key)known_hosts-Datei-----BEGIN PRIVATE KEY----- oder -----BEGIN RSA PRIVATE KEY-----# FALSCH
python3 dirtyfrag_scanner.py --user ghostgtr666--password 'pass' --subnet 192.168.1.0/24
# RICHTIG
python3 dirtyfrag_scanner.py --user ghostgtr666 --password 'pass' --subnet 192.168.1.0/24
Der Benutzer hat keinen sudo-Zugriff, oder das Passwort wurde bei Bedarf nicht angegeben:
# Option 1: Direkt Root verwenden
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --patch
# Option 2: Passwort für Auto-Injektion von sudo bereitstellen
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user admin --password 'pass' --patch
# Option 3: NOPASSWD in /etc/sudoers konfigurieren
echo 'admin ALL=(ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers
Erhöhen Sie --timeout:
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user admin --password 'pass' --timeout 30
Einige Distributionen kompilieren den Kernel ohne esp4/esp6/rxrpc-Module. Manuell prüfen:
# Auf dem Zielhost
cat /proc/cmdline | grep -i module
lsmod | grep -E 'esp4|esp6|rxrpc'
python3 dirtyfrag_scanner.py \
--subnet 192.168.100.0/24 \
--user monitoring \
--password 'monitoring123' \
--workers 30 \
--output full-audit.json
python3 dirtyfrag_scanner.py \
--subnet 10.0.0.0/16 \
--user root \
--key ~/.ssh/prod_rsa \
--patch \
--workers 50 \
--output emergency-patch.json
python3 dirtyfrag_scanner.py \
--hosts 192.168.1.10,192.168.1.20,192.168.1.30 \
--user ubuntu \
--key ~/.ssh/dev_rsa \
--output critical-servers.json
python3 dirtyfrag_scanner.py \
--subnet 192.168.50.0/24 \
--user deploy \
--key ~/.ssh/deploy_ed25519 \
--password 'deploy@backup' \
--patch \
--output deploy-scan.json
Entwickelt von Gagaltotal666 - GhostGTR666
GitHub: github.com/gagaltotal
Haftungsausschluss: Dieses Tool ist ausschließlich für legitime und genehmigte Sicherheitsaudits bestimmt. Der Benutzer ist für die Verwendung dieses Tools verantwortlich.