Shodan Search - Bot Telegram API
Life-Hack [Жизнь-Взлом]/ХакингВ этой статье речь пойдет о Телеграм боте, который позволит выполнять поиск устройств в поисковой системе Shodan с вашего смартфона.
В отличие от Google, который ищет в Сети простые сайты,
работает 24 часа в сутки 7 дней в неделю, собирая информацию о 500 млн подключенных устройствах и услугах ежемесячно.
Shodan
работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.
Shodan
«Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так»

В качестве хоста, для бота, я буду использовать Raspberry Pi, с установленной Arch Linux ARM.

Копируем инструмент себе, со страницы разработчика на GitHub.
git clone https://github.com/rubenleon/Bot-Telegram-Shodan

Затем устанавливаем необходимые зависимости:
pacman –S python-pip

pip
— система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python.
pip3 install pyTelegramBotAPI

pyTelegramBotAPI
– библиотека для взаимодействия с bot API Telegram. Bot API - это HTTP-интерфейс, созданный для разработчиков, увлеченных созданием ботов для Telegram.
pip3 install shodan

Чтобы использовать Python для запросов с использованием Shodan API, нам нужно иметь функциональную среду Python, а также установленный модуль Shodan Python.
pacman –S sqlite3

SQLite
— компактная встраиваемая реляционная база данных. Исходный код библиотеки передан в общественное достояние. Является чисто реляционной базой данных.
Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер. Т.е. движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи весь файл, хранящий базу данных, блокируется; ACID [1]-функции достигаются, в том числе за счёт создания файла журнала.
Теперь, необходимо вписать свой API Telegram в файл telegram-key.txt:
nano /home/alarm/…/Bot-Telegram-Shodan/telegram-key.txt
Затем, регистрируемся на сайте: https://www.shodan.io и получаем API Shodan:

Добавляем его в файл:
nano /home/alarm/…/Bot-Telegram-Shodan/shodan-key.txt
Добавим необходимую команду для своего бота:

Запускаем скрипт и проверяем работу Shodan Bot:
python3 start.py

При отправке боту команды /shodan активируется режим сканирования:

Используя примеры, задаем параметры поиска и смотрим, что получилось:
/shodan shodan nginx 2

Получаем стандартный вывод Shodan, только оптимизированный под Telegram.
По умолчанию скрипт позволяет сканировать 20 хостов, но это можно исправить, приобретя у Shodan премиум учетную запись, и немного отредактировав файл в корневой папке инструмента, /setup.py.