Привет, Хабр!
Сегодня речь пойдет о том, как были найдены уязвимости провайдере, скажем так: example.ua
Ну что ж…
Начнем!
Первый этап: Анализ
Для начала необходимо собрать как можно больше информации о нашей жертве. Ведь, как известно, все дыры не закроешь.
Начнём с поиска возможных поддоменов и связных DN
Запускаем Sublist3r
В процессе сканирования я наткнулся на домен их почтового сервиса mailer.example.ua с которого производилась рассылка писем клиентам.
На нем была возможность свободной регистрации, чем я сразу и воспользовался.
Второй этап: Тестирование сервиса
«Если двери открыты, значит нас внутри ждут!»
На этом сервисе через некоторое время нашлось несколько XSS и CSRF с вероятной возможностью захвата аккаунта и самое вкусное IDOR
Во время изучения сервиса, я обнаружил возможность создавать свои кастомные рассылки и редактировать чужие.
Также помимо этого я мог просматривать чужие рассылки в которой встречались очень sensitive data.
Этого уже были довольно серьезные дыры на угон аккаунта и раскрытие приватной информации, но любопытство вело меня вперёд и я продолжил свои раскопки.
Shell Upload
На сайте есть возможность загрузки собственных файлов, но с некоторыми ограничениями.
Попробуем залить шелл!
Я пытался залить простой php shell, он успешно загружался но я не мог найти путь к файлу. Когда я пытался отправить письмо с этим файлом, у меня вылезала ошибка в коде Yii2, видимо сервис стоит на этом фреймворке.
Немного чёрного колдовства и это ограничение удалось обойти.
Я сгенерировал шелл с помощью утилиты Weevely и переименовал файл как shell.php.jpg, что обычно помогает обмануть большинство не сильно умных фильтров загружаемых файлов. После отправки такого письма ошибки уже не было.
Но я всё ещё не мог найти путь к моему шеллу.
Попытки перебрать директории привели меня к /images/
в нём хранятся все загружаемые файлы на этом сервисе.
Быстрый поиск по имени и я нахожу свой шелл!
Подключаемся и…
На этом можно сдавать уязвимость. Здесь есть выходы к базе данных провайдера, списки клиентов, исходники сайта и много других приятных вещей.
Передал репорт с описанием уязвимости администраторам сайта, и они решили совсем отключить этот сервис. На этом всё, благодарю за внимание!
Author: xalerafera
Edit & rewiew: AlexShmel
podde
Я почему-то в последнем абзаце ожидал реакции в духе "… и они вот уже две недели игнорят мои репорты".
xaleraf4ra Автор
Были такие опасения ) Но к счастью меня связали с разработчиком, и мы исправили уязвимости)