Все знают что плохо оставлять дефолтные пароли. Но что произойдет если поднять 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/
Еще дают советы о том что делать если вы совсем не хотите удалять свой сервер — вкратце надо:
Проверить auth.log найти подозрительные логины
Поменять пароли для всех пользователей
Найти малварь в списке процессов
Найти исполняемый файл конкретной малвари у вас на сервере
С помощью антивируса удалить малварь
Надеяться что все ок
Я инструкциям следовать не стал и сразу удалил сервер, мне он больше не нужен, все логи должны у меня быть.
Расследование
Сразу смотрим в логи постгреса, который записывает все команды:

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

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

Что происходит на скриншотах выше:
Хакер находит постгрес к которому можно сбрутфорсить учетку
Используя постгрес он скачивает скрипт и подключает виртуальную машину к ботнету.
Наш постгрес попадает в дружную семью майнеров, брутфорсеров и ддосеров интернетов.
????
Профит (но не для нас)
Итог
Итоговый таймлайн выглядит примерно так:
15.50 — Развернули постгрес
22.32 — Постгрес взломали и подключили к ботнету
03.00 — Пришло письмо с абузой от провайдера
08.00 — Мы удалили сервер
Мы подняли распространенную БД по самому популярному способу из Гугла — запустив докер контейнер по официальной инструкции. Нас взломали за 7 часов.
Довольно очевидно что нужно было делать чтобы не попасть в глупую ситуацию:
Не использовать дефолтные пароли
Харденить (в мерках разумного) свои системы