От Unknown порта до контроля над Cargador хранилищем
Сегодня расскажем про кейс когда простой анализ Unknown порта может привести к обнаружению критичной уязвимости и как мы смогли получить полный контроль над файловым хранилищем Cargador в результате анализа внешней инфраструктуры одного из наших клиентов.

Введение
Nmap считается одним из незаменимых инструментов для сканирования портов и определения сервисов, но всегда ли стоит доверяться его результатам? Разберем в этой статье случай когда простой анализ неизвестного порта может привести к реальной критичной уязвимости.
Пробы Nmap
Наверняка приходилось сталкиваться с подобными результатами Nmap:
PORT STATE SERVICE VERSION 4080/tcp open lorica-in? 11443/tcp open ssl/http nginx 45431/tcp open unknown
Это связано с тем, что у Nmap отсутсвует проба (probed) для подтверждения выявленного сервиса и тогда сервис указывается как Unknown или определен на основе данных из базы IANA (table).
Первым делом - поиск
Самое первое что стоит сделать - это провести банальный поиск. Если осуществлять поиск по порту 4080, то можно найти много ложных наводок, поэтому будем искать с комбинацией портов:

Искать можно как и по Google, так и по Github, Shodan, Fofa если в Google поиск не дал результатов. Очень часто можно найти полезную информацию именно по комбинации портов, либо по дополнительным сервисам работающим на проверяемом ресурсе.
Эксплуатация
После изучения документации выяснилось, что данные порты используются для публикации проприетарного файлового хранилища Cargador, но по умолчанию отсутствует аутентификация по сертификату. С этой точки нам остается только:
- Зарегистрироваться в Cerebrohq.
- Загрузить клиент для настройки подключения к файловому хранилищу.
- Указать сервер и порты в соответствии с документацией.
- Получить доступ к загрузке, удалению и чтению всех файлов в хранилище.

Можно свободно создавать ссылки на файлы для дальнейшей загрузки и распространения в целях злоупотребления хранилищем:

В результате довольно простого поиска изначально неизвестный порт привел к реальной уязвимости позволяющей: загружать, удалять, читать файлы в хранилище.
Заключение
Не стоит всегда полагаться на результаты Nmap и игнорировать с виду неизвестный порт. Именно этот порт может оказаться критичным. Помимо простого поиска и изучения документации можно использовать утилиты вроде nc (netcat), telnet, фаззинг.
Метаскан помогает решить проблему недоверенных портов и наладить процесс определения назначения каждого порта, что позволяет максимально снизить поверхность атаки на внешнем периметре.