Привет, друзья! Сегодня я расскажу вам, что такое 21 порт и почему его лучше не держать открытым. Посмотрим, сколько устройств доступны для анонимной авторизации. Я расскажу вам, как можно автоматизировать поиск и как отсеивать пустые запросы в Shodan.
⚠️ Вся информация предоставлена исключительно в образовательных целях. Что делать с найденной информацией — личный выбор каждого.
Что такое FTP?
FTP (File Transfer Protocol) — это популярный протокол для передачи файлов. Его используют для передачи файлов между устройствами в сети. Для этого пользователь подключается к FTP-серверу, просматривает содержимое каталога, что-то скачивает или загружает. Для улучшения безопасности протокола FTP были выпущены FTPS и SFTP.
Для доступа к FTP-серверам используются специальные программы — FTP-клиенты. Их существует достаточно много, а также они могут быть встроены в файловые менеджеры и операционные системы. Среди бесплатных и доступных можно выделить: FileZilla, Total Commander, WinSCP и FAR Manager.
Как найти открытые FTP-сервера?
Как вы уже догадались, некоторые файловые серверы являются открытыми. Достаточно просто найти их, проверить каталоги, загрузить/скачать файлы. Для начала проверим Shodan. Для этого используем вот такой запрос:
"230 login successful" port:"21"
На момент написания статьи, было 91913 результатов. Лидер открытых FTP — США. При желании можно отфильтровать результаты по операционным системам и продуктам. Среди ОС популярны: Linux 3.x, Linux 2.6.x и Windows XP. Среди продуктов vsftpd, Pure-FTPd, pyftpdlib, Microsoft ftpd и ProFTPD.
Конечно, среди выдачи Shodan существует достаточно много пустышек. Поэтому для тех, кто хочет оптимизировать поиск можно написать софт, который будет подключаться к FTP-серверу и анализировать наличие каталогов и их размер. На выходе получаем полноценный список FTP-серверов.
В России ситуация выглядит следующим образом. 4411 результата. Среди компаний лидирует хостинг LLC Baxet. Также в списке есть: 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-AC66R FTP service" "230 Login successful."
Как подключиться к FTP-серверу?
Я покажу на примере FileZilla. Этот клиент имеет простой и понятный интерфейс. В нашем случае достаточно указать IP. После этого нажимаем "Быстрое соединение" и получаем каталоги, которые доступны на FTP-сервере. Скриншоты ниже показывают реальную возможность поиска открытых FTP за несколько минут.
Среди файлов можно найти очень много разной информации: конфиги, бэкапы, доступы, учетки, загрузки, данные клиентов, документация, фото и т.д.
Тут важно разделять личные и корпоративные FTP. Нужно быть готовым, что в первом случае часто будут попадаться фото котиков и записи с детских утренников, во втором более серьезная информация. Что делать с данными — личный выбор каждого. Лично я конвертирую их в деньги.
Заключение
Все понимают, что критично оставлять открытым 21 порт. Тем не менее, десятки тысяч устройств доступны для анонимного доступа. Я показал, как можно достаточно просто найти файловые хранилища и получить доступ к файлам.
Для более серьезной и масштабной работы можно существенно оптимизировать процесс поиска. Очень просто фильтровать сервера по наличию данных и размеру. Также можно оптимизировать поиск для конкретных папок или файлов. Но это уже другая история.
Comments