Не стоит пренебрегать старыми-добрыми хакерскими тактиками. Ведь люди наступают на те же грабли и продолжают пренебрегать элементарными правилами безопасности. Как говорится, страна ждет героев, но рожают — идиотов.
Некоторые горе-кодеры ошибочно думают, что если разместить сервера на субдоменах, это спрячет их от чужих глаз. И если основной сайт может поддерживаться в относительном порядке, то на субдоменах может творится полнейший бардак. Чем мы и воспользуемся c помощью таких утилит, как sublist3r и dnscan. Или можем просто использовать онлайн-решение от
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Крупные сервисы — не исключение. И сегодня мы продемонстрируем это на примере privnote.
Privnote — крупный сервис одноразовых записок. Как то раз у автора статьи возникла проблема. Он купил товар, который ему отдали через privnote, но забыл его сохранить. Продавец долго не выходил на связь — ведь товар то он уже отдал. А товар автору был ой как нужен.
И тут автору пришла в голову мысль а почему бы ему не потестить на проникновение сам privnote?
Для начала автор решил просканить сам сайт в помощью с помощью dirbuster и всех остальных сканеров что естественно ему не дало ощутимых результатов.
Ну что попробуем просканить сервер nmap может какие порты открыты есть, но нечего кроме 80,443 мы не находим.
Далее автор пошел искать поддомены с помощью сервиса
Для просмотра ссылки необходимо нажать
Вход или Регистрация
и обнаружил сервер, который его заинтересовал:git.privnote.com
с IP 190.0.137.208
Там его уже ждало много чего интересного
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Автор обнаружил, что на этом IP работало 24. Ну вот теперь можно и позабавиться!
После не больших исследований пришел автор к выводу что диапазоны айпишников:
190.0.137.192/28
190.0.137.208/28
принадлежат одной и той же компании. Ну что дергаем все домены и начинаем веселиться)
Просканив один из доменов dirbuster_ом находим панельку управления какими то шопами.
Вооружаемся софтом GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool и начинаем сканить все post и get запросы на sql injection.
Мой совет для всех новичков при начале сканирование обязательно добавляем аргументы --level=5 --risk=3 --batch --beep
--level=5 --risk=3 - sqlmap будет сканить на полную мощь
--batch - автоматизирует все нажатия
--beep - сообщит звуком если чего найдет
И о чудо слышим звук счастья и видим скулю.
Скуля вышла только blind выйти из нее не вышло но нечего страшного, и так сойдёт.
Далее двигаемся по бд находим таблицы с юзерами и там нас ждет ещё один сюрприз!
Пароли находятся в отрытом виде! Зайдя в админку не было не одного способа пролить шелл. Ушел один вечер но безуспешно.
Ну что же сканим дальше, отсканив все айпишники находим интересную панельку с Gitea и начинаем перебирать все логины и пароли к ней.
Через пару минут есть первый успешный результат) Автор начинает радоваться так как слышал про очень интересную CVE-2020-14144.
Но автора и тут ждала беда так как для успешного финала у юзера должны быть активны git hooks.
Сам эксп Gitea 1.7.5 - Remote Code Execution
Подробно как его использовать Exploiting CVE-2020-14144 - GiTea Authenticated Remote Code Execution using git hooks
Ну что же, ищем дальше. Перебираем дальше пароли, очередной раз логинемся с другой учетки и видим что у нас есть админ права!!!
Спешно набираем в свой консоле nc -lvp 555 запускаем экп и видим что мы на сервере.
Начинаем копать сервер на всякие интересные файлы параллельно запустив
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Полазив в самом Gitea не одной репы связанной с privnote не находим.
Ничего интересного нет. А давай ка попробуем сделать вот такую вот команду ssh [email protected] и видим что пошел конект, значит мы в локальной сети!
Перебираем логины с паролями, но тут мимо автора пролетела розовая птица обломинго. Введя первый же пароль видим Host key verification failed.
Не прокатит значит нам побрутить ssh так как вход только по ключю. Исследуем остальные сервера, выходит ещё на парочку пролиться но без видимого результата.
Всё, больше нет не каких зацепок, и смысла дальше куда то лезть.
И приходит в голову еще одна идея, а не попробовать ли залогиниться в почте к тому юзеру, у которого был админ доступ к Gitea.
И действительно мы залогинены! И видим интересный каталог в почте.
Видим что нашему юзеру перенаправляться все письма от:
[email protected]
Заходим на
Для просмотра ссылки необходимо нажать
Вход или Регистрация
вводим эту почту и начинаем подбирать пароли. Безуспешно.Ну что же, последне что можно придумать сбрасываем пароль, ловим письмо и надеемся что нас не быстро спалят.
Письмо приходит, логинемся в aws . Работа с aws заслуживает отдельной статьи но это чуть позже.
Ломав голову сутки автор пришел к выводу что к их серверам ему не как не подключиться, так как при создании сервера создается файл ключей wasay.pem и его негде не достать.
Пришлось поизвиваться но все таки смог он сделать snapshots примонтировать его к диску, диск подключить к свой впс которую он создал на aws и выкачать все файлы сервера.
Работа сделана, можно расслабиться. Game over. Мы выиграли.
Что могу сказать по поводу этого сервиса. Ребята действительно молодцы, после прочтения записка удаляется и её не восстановить.
В бд кроме вот таких вот записей нечего нет:
В логах сервера тоже не какая инфа не хранится:
В некоторых логах были конечно ip но это они не обещали не хранить:
И так заключение истории, всю жизнь меня терзали сомнения что контора privnote хранит все логи, все это кем то читается и используется если пришлось.
На практике все оказалось на оборот, ребята действительно молодцы. Слово свое держат.
Эта статья подтверждает, что при желании можно поломать всё.