Информационная безопасность — мое хобби, днем я обычная девушка, а по ночам исследовательница сети в поисках не хороших людей. Вечер пятницы проходил как обычно, серфинг сети с целью поймать что-то интересное, и этот вечер превзошел все мои ожидания.
Небольшая история о большой глупости.
Проникновение
Изучая сайты с анкетами девушек легкого поведения — заметила одну особенность, как правило они представляют десятки сайтов с доменом в формате: dosug-%CITYNAME%.(org|com|etc), и личным кабинетом для публикации анкет.
Что первым делом делает исследователь? Собирает как можно больше информации, что я и сделала, изучила связанные домены, код сайта, ссылки, и перешла к регистрации, десятки сайтов ссылались на один домен amurmedia.ru, при регистрации необходимо было указать номер телефона, и на него придет смс, воспользовавшись номером виртуальной сим-карты стала ждать счастливой смс-ки для дальнейшего изучения.
Ждать пришлось недолго, смс конечно и пришла, но вход был произведен автоматически, и в голове сразу что-то щелкнуло, неужели верификация не так уж и важна на сайте?
Создала анкету, увидела множество полей которые нужно заполнить, и отправила в каждое из них полезную нагрузку в виде кода для XSS, и моему счастью не было предела, страница после отправки формы начала грузить код почти из каждого поля, но это всего-лишь self-XSS.
Загрузила фотографию к анкете, исследовала ссылку на фотографию, она была в виде domain.com/img/%ID%/1.jpg, попробовала подставить чужой ID и конечно же увидела фотографию другого человека. В личном кабинете есть еще функция для загрузки проверочной фотографии, для подтверждения что на этом фото ты, нужно сфотографироваться с листком бумаги на котором написан ID анкеты, и после этого девушка получает статус «проверенной». Как-же может называться проверочная фотография в папке? Перебирая возможные комбинации наткнулась на check1.jpg, и увидела проверочную фотографию которую загрузила, подставила чужок ID и увидела девушку с листком в руках.
Погружение
На почте новое письмо кто-то запустил мой скриптик, вам знакомо то чувство когда появляется небольшая дрожь в руках, от осознания что на твой payload кто-то клюнул? То чувство с которым ты изучаешь лог, а после приходишь с ключом, и дверка открывается?
Ключ оказался слишком простым, в печеньках пароль от админки был лежал на блюдечке, не зашифрованным, одиноко лежащим.
Двери открываются, и вижу полноценную сеть из сотни доменов в списке, их сроки окончания, тысячи анкет, десятки городов, баланс кабинета (сумма шестизначная).
Десятки пунктов меню, множество интересных вещей, но этого мало, и последний пункт — Cloud.
Страница со списком всех используемых серверов, и барабаная дробь — пароли. Да, вот так, администратор для удобства решил хранить все пароли на одной страничке, и не только от серверов, но и от почты,
Вхожу в сервер с базой данных, делаем дампы, изучаем. Пользователей на сайте больше пяти тысяч, анкет еще больше, пароли пользователей все в открытом виде, и кульминация — хэши паролей в таблице с открытыми паролями.
Смотрим папки на сервере с админкой, бэкапы, исходники и прочее. А как-же наши милые девушки с листочками? Пишу: find ./ -name check*.jpg > check более 1000 фотографий.
Изучаем почтовый сервер на Squirel, к домену подключен catch-all, видим что администратор сайта любит сайты знакомств, регистрируется на них с помощью %anything%@domain.com, регистрирует домены на такие адреса, получает письма в которых его
Оповещение для администратора
Меняем пароли рута, блокируем порты с помощью ufw, и
День первый: К вечеру получено письмо от хостера что адрес снова изменен, идем в панель администратора — еще открыт доступ по тому паролю.
День второй: Администратор сменил похищенный пароль, но доступен вход по другим паролям, регистрация закрыта, вход в личный кабинет работает.
День третий: Регистрация и вход не работает, все пароли изменены. Прямой доступ к файлам закрыт.
День четвертый: Все системы работают в штатном режиме.
Изучив исходники на PHP обнаружила пару мест для SQL инъекций, но т.к. доступа к личному кабинету теперь нет, решила дальше не идти.
Администратору написала на все его возможные адреса, с целью поговорить, прояснить некоторые моменты в работе сайта, взять интервью, но не срослось.
Кто вы мистер Джо?
Вычислить кто на самом деле скрывается за целой сетью сайтов интим-услуг оказалось не сложно, парень из Челябинска, который по моему скромному мнению релоцировался в Москву. Данные на него были и в базе данных в числе самых первых зарегистрированных анкет, пользователей, данные были и в почте, парень видно пытался скрыть свою личность, но увы, не вышло.
Можете провести самостоятельное расследование, уверена, будет увлекательно: это некто serwolfer
Выводы
Никому не доверяйте свои данные, особенно если занимаетесь оказанием интим-услуг, спрос на такие данные будет всегда.
Почему так произошло? Все уязвимости были из TOP-10 OWASP, это и межсайтовый скриптинг, и поломанная аутентификация, и раскрытие чувствительных данных. Разработчику было лень фильтровать данные, настраивать доступы к медиа-файлам, бережно относится к регистрации, хэшировать пароли, не желание использовать менеджеры паролей. Это путь меньшего сопротивления, люди часто выбирают его.
Обычным людям, дам совет — не регистрируйтесь на сомнительных сайтах, а если и пришлось, то используйте виртуальные сим-карты, десятиминутные почтовые ящики, и совершенно случайные пароли.
Дампы по запросу отдам в одни хорошие руки, если опишите свою цель: JanePaddington@protonmail.com
Автор: SimpleJane