Как стать автором
Поиск
Написать публикацию
Обновить

Как взломают ваш Postgres

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров15K

Все знают что плохо оставлять дефолтные пароли. Но что произойдет если поднять PostgreSQL позабыв о безопасности? Нас взломают? Как быстро взломают?

Я развернул PostgreSQL, настроил сборку логов и ниже расскажу что будет (спойлер — вас очень быстро похекают).

Настройка лабы

Я развернул постгрес с дефолтным паролем по официальной инструкции с dockerhub. Я это сделал через платформу defbox.io, запустив лабу PostgreSQL, но это можно сделать и самому выполнив вот такую команду:

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres

Если вы не любите докер то можно сделать вот так:

apt install -y postgresql postgresql-contrib
systemctl start postgresql.service
cd /etc/postgresql/14/main/
echo "host  all      all      0.0.0.0/0      md5" >> pg_hba.conf
echo "log_statement = all" >> /etc/postgresql/14/main/postgresql.conf
sed -i -e 's/#listen_addresses/listen_addresses/g' postgresql.conf
sed -i -e 's/localhost/*/g' postgresql.conf

Дефбокс еще поднимает эластик и настраивает файлбит с аудитбитом.

Взлом

Через 11 часов после запуска лабы я получаю вот такое письмо:

Наш постгрес успешно подключен к ботнету ?
Наш постгрес успешно подключен к ботнету ?

Первым делом я удалил нашу базу данных. Кстати, в этом же письме дали хорошие инструкции по тому что делать если вы храните семейные фото во взломанной БД и ни в коем случае не хотите их терять:

https://docs.digitalocean.com/products/droplets/how-to/recovery/recovery-iso/

Еще дают советы о том что делать если вы совсем не хотите удалять свой сервер — вкратце надо:

  1. Проверить auth.log найти подозрительные логины

  2. Поменять пароли для всех пользователей

  3. Найти малварь в списке процессов

  4. Найти исполняемый файл конкретной малвари у вас на сервере

  5. С помощью антивируса удалить малварь

  6. Надеяться что все ок

Я инструкциям следовать не стал и сразу удалил сервер, мне он больше не нужен, все логи должны у меня быть.

Расследование

Сразу смотрим в логи постгреса, который записывает все команды:

Странная команда сразу видна в логах
Странная команда сразу видна в логах

Полностью команда выглядит вот так:

Команда закодирована в base64
Команда закодирована в base64

Ниже декодированный base64:

Что происходит на скриншотах выше:

  1. Хакер находит постгрес к которому можно сбрутфорсить учетку

  2. Используя постгрес он скачивает скрипт и подключает виртуальную машину к ботнету.

  3. Наш постгрес попадает в дружную семью майнеров, брутфорсеров и ддосеров интернетов.

  4. ????

  5. Профит (но не для нас)

Итог

Итоговый таймлайн выглядит примерно так:

15.50 — Развернули постгрес

22.32 — Постгрес взломали и подключили к ботнету

03.00 — Пришло письмо с абузой от провайдера

08.00 — Мы удалили сервер

Мы подняли распространенную БД по самому популярному способу из Гугла — запустив докер контейнер по официальной инструкции. Нас взломали за 7 часов.

Довольно очевидно что нужно было делать чтобы не попасть в глупую ситуацию:

  1. Не использовать дефолтные пароли

  2. Харденить (в мерках разумного) свои системы

Теги:
Хабы:
Всего голосов 17: ↑13 и ↓4+12
Комментарии27

Публикации

Ближайшие события