Неизвестный злоумышленник атакует десятки тысяч неаутентифицированных серверов Redis с целью установки криптомайнера. Хакер использовал малоизвестную технику, чтобы заставить серверы записывать данные в произвольные файлы.
По словам экспертов из ИБ-компании Censys, процесс эксплуатации заключается в том, чтобы настроить Redis для записи своей файловой базы данных в каталог, содержащий какой-либо метод для авторизации пользователя (например, добавление SSH-ключа) или запуска процесса (например, через «cron»).
Злоумышленник сохранил вредоносные записи crontab в файл «/var/spool/cron/root», что привело к выполнению сценария оболочки, размещенного на удаленном сервере.
Сценарий предназначен для выполнения следующих действий:
- Завершить процессы, связанные с безопасностью и системным мониторингом;
- Очистить файлы журналов и истории команд;
- Добавить новый SSH-ключ в файл «author_keys» root-пользователя, чтобы получить удаленный доступ;
- Отключить брандмауэр iptables;
- Установить инструменты сканирования, например masscan;
- Установить и запустить приложение для майнинга криптовалюты XMRig
Сообщается, что SSH-ключ был установлен на 15 526 из 31 239 неаутентифицированных серверов Redis, то есть почти на 50% всех неаутентифицированных серверов Redis в Интернете. Однако, служба Redis должна работать с root-правами доступа, чтобы злоумышленник мог записывать файлы в каталог cron.
Страны с открытыми серверами Redis
Отчет Censys также показал, что в Интернете существует около 350 675 служб баз данных Redis, охватывающих 260 534 уникальных хоста. На 39 405 открытых серверах Redis отсутствует какая-либо аутентификация, и потенциальная утечка может раскрыть более 300 ГБ данных.
Чтобы уменьшить угрозу, пользователям рекомендуется:
- включить аутентификацию клиента;
- настроить Redis для запуска только на внутренних сетевых интерфейсах;
- переименовать команду CONFIG, чтобы предотвратить её злоупотребление;
- настроить брандмауэры для приема соединений Redis только с доверенных хостов.
Redis — Резидентная система управления базами данных класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ — значение». Используется как для баз данных, так и для реализации кэшей, брокеров сообщений.