Привет, анон. Сегодня я расскажу тебе, что такое 21 порт и почему его лучше не держать открытым. Посмотрим, сколько устройств доступны для анонимной авторизации. Я расскажу тебе, как можно автоматизировать поиск и как отсеивать пустые запросы в Shodan. Вся информация предоставлена исключительно в образовательных целях. Что делать с найденной информацией — личный выбор каждого.
Что такое FTP?
FTP – File Transfer Protocol, это широко распространенный протокол который необходим доя передачи файлов. Он необходим чтобы передавать файлы можно было между системами одной сети. Чтобы это сделать человек подключается к серверу с данным протоколом и с помощью каталога что-то скачивает, загружать или удаляет. Также существую более безопасные версии данных протоколов, а именно – FTPS и SFTP
Чтобы получить доступ к серверам с данным протоколом необходимы FTP-клиенты, это специальный программы и их больше множество. Самые популярные из бесплатных это: FilzeZilla, Total Commander, WinSCP и FAR Manager.
Как найти открытые FTP-сервера?
Как ты уже догадался, некоторые файловые серверы являются открытыми. Достаточно просто найти их, проверить каталоги, загрузить/скачать файлы. Для начала проверим Shodan. Для этого используем вот такой запрос:
"230 login successful" port:"21"
На момент написания статьи, было 173220 результатов. Лидер открытых FTP — США с результатом 58320 записей. При желании можно отфильтровать результаты по операционным системам и продуктам. Среди ОС популярны: Linux 3.x, Linux 2.6.x и Windows XP. Среди продуктов vsftpd, Pure-FTPd, pyftpdlib, Microsoft ftpd и ProFTPD.
Конечно, среди выдачи Shodan существует достаточно много пустышек. Поэтому для тех, кто хочет оптимизировать поиск можно написать софт, который будет подключаться к FTP-серверу и анализировать наличие каталогов и их размер. На выходе получаем полноценный список FTP-серверов.
В России ситуация выглядит следующим образом. 10134 результата. Среди компаний лидирует — Mobil-group ltd. Также в списке есть: Rostelecom, Beeline, VimpelCom и REG.RU.
Конечно, чтобы улучшить результаты я советую отбирать конкретные модели по заголовкам и искать конкретные устройства. Например, для работы с Xiaomi-девайсами можно использовать заголовок — "220 Welcome to MI-3 FTP service".
"230 login successful" "220 Welcome to MI-3 FTP service" port:"21"
Список устройств можно существенно расширить. Чтобы лучше разобраться, рекомендую сначала посмотреть устройства: RT-AC66R, RT-AC66U, RT-N66R, RT-N66U, RT-AC56U, RT-N56R, RT-N56U, RT-N14U, RT-N16 и RT-N16R. Можно найти и посмотреть, какие заголовки используются для успешной авторизации без логина и пароля. Вот пример, для одного устройства из списка.
"220 Welcome to ASUS RT-N56R FTP service" "230 Login successful."
Как подключиться к FTP-серверу?
Я покажу на примере FileZilla. Этот клиент имеет простой и понятный интерфейс. В нашем случае достаточно указать IP. После этого нажимаем "Быстрое соединение" и получаем каталоги, которые доступны на FTP-сервере.
Среди файлов можно найти очень много разной информации: конфиги, бэкапы, доступы, учетки, загрузки, данные клиентов, документация, фото и т.д. Тут важно разделять личные и корпоративные FTP. Нужно быть готовым, что в первом случае часто будут попадаться фото котиков и записи с детских утренников, во втором более серьезная информация. Что делать с данными — личный выбор каждого.
Заключение
Все понимают, что критично оставлять открытым 21 порт. Тем не менее, сотни тысяч устройств доступны для анонимного доступа. Я показал, как можно достаточно просто найти файловые хранилища и получить доступ к файлам. Для более серьезной и масштабной работы можно существенно оптимизировать процесс поиска. Очень просто фильтровать сервера по наличию данных и размеру. Также можно оптимизировать поиск для конкретных папок или файлов. Но это уже другая история