Безопасность сайта Умного голосования
Мы ни на секунду не забываем про вопросы информационной безопасности и не относимся к ним пренебрежительно. Леонид Волков
Первая часть вышла более двух месяцев назад. После второй с сайта убрали Яндекс.Метрику, правда не без говна длинного ответа про «доморощенных экспертов по информационной безопасности и шапочки из фольги». Может после третьей приведут инфраструктуру в порядок.
Сайт Умного Голосования использует API по адресу https://votesmart.appspot.com/api/v1/fiasco
у которого не выключен режим отладки, благодаря чему мы видим ироничный адрес бекэнда http://fiasco.navalny-team.org и список маршрутов.
Помимо возможности листинга директорий на сервере протух SSL-сертификат, но это уж точно не имеет значения: запросы туда и так идут по HTTP.
Берем адрес https://fiasco.navalny-team.org/address/suggest/ из списка маршрутов и получаем ошибку c traceback-ом и настройками сервера.
К слову последняя версия Django — 3.2.6, а под используемую на сайте 2.2.8 есть CVE. Видим настройки подключения к базам данных:
База данных доступна для внешних подключений на порту 5432 для пользователя test. Это PostgreSQL 10.11 (Debian 10.11–1.pgdg90+1).
Судя по таблице cmd_exec с полем cmd_output кто-то уже использовал её для выполнения системных команд. Благо в Metasploit для этого даже есть модуль. Дальше мы можем оказаться внутри контейнера. Информацию по всем контейнерам нам заботливо оставили тут: http://fiasco.navalny-team.org:8888/docker/.
И даже чуть больше тут: http://fiasco.navalny-team.org:9100/metrics
Правда релиз используемой версии был в 2019 году, потому могут сработать многие методики по повышению привилегий и получению контроля за всей системой.
На этом шаге хочется остановиться, ведь не стоит цель навредить, скорее проанализировать, изменилось ли что-нибудь за два прошедших месяца, и обратить внимание на проблемы, которые видны невооруженным взглядом.
Мы всегда читаем и слушаем все, что нам пишут, признаем ошибки и стараемся работать лучше. Леонид Волков
Вместо заключения хочется оставить цитату Алексея Пивоварова:
«Выводы делайте сами».