Обнаружение crypto miner на Linux
Майнеры криптовалюты — один из самых частых итогов компрометации Linux-сервера. Атакующий получает доступ, скачивает майнер вроде xmrig, подключает его к публичному пулу и превращает ваш CPU-бюджет в чужую прибыль.
В отличие от ransomware, майнеры обычно не ломают хост сразу. Они ведут себя тихо, потребляют ресурсы, маскируются под обычную нагрузку и могут работать неделями, прежде чем кто-то заметит проблему. К этому моменту вы уже платите за это повышенным потреблением compute-ресурсов, деградацией производительности и потерянным временем на реагирование.
Что делает crypto miner на Linux
Типичный сценарий заражения майнером выглядит так:
- атакующий получает shell-доступ или эксплуатирует уязвимый сервис;
- на хост загружается или скачивается бинарь майнера;
- майнер подключается к публичному mining pool по протоколу Stratum;
- процесс остаётся запущенным в фоне и постоянно потребляет CPU или GPU.
Часто встречающиеся семейства майнеров: xmrig, cpuminer, ethminer, nbminer, teamredminer, а также их переименованные и перепакованные варианты.
Почему crypto miner легко пропустить
- Они часто используют легитимные исходящие соединения, а не очевидный C2-трафик.
- Они могут работать под общими именами процессов или запускаться из shell-скриптов.
- Деградация производительности сервера часто списывается на «нагрузку», «бэкапы» или «проблемы базы».
- Сигнатурный AV плохо работает против переименованных бинарей и простых репаков.
Чтобы надёжно ловить майнеры, нужна host-level телеметрия, отвечающая сразу на три вопроса: какой процесс стартовал, куда он подключился и какой домен он резолвил.
Как SecureExec обнаруживает crypto miner
В SecureExec есть встроенное правило crypto_miner.
Linux-агент собирает нужную телеметрию:
- события создания процессов с именем исполняемого файла и полным command line;
- исходящие сетевые соединения с IP-адресом и портом назначения;
- DNS query-события с доменом, который резолвил процесс.
На сервере встроенное правило crypto_miner генерирует алерт, если видит один из следующих сигналов:
- имя процесса совпадает с известным майнером, например
xmrig,cpuminer,ethminer,cgminer,nbminerилиteamredminer; - command line содержит характерные для майнинга паттерны, например
stratum+tcp://,--donate-level,--pool-address,--coin xmrили--algo kawpow; - есть исходящее соединение на характерные для mining pool порты, например
14433,14444или45700; - есть DNS query к известным pool-доменам, таким как
minexmr.com,moneroocean.stream,2miners.com,supportxmr.com,nicehash.comилиethermine.org.
Правило также исключает явный локальный и внутренний трафик: loopback, RFC-1918 private ranges и private IPv6 ranges. Это уменьшает шум от внутренних сервисов.
Почему такой подход работает
Детект майнеров становится значительно сильнее, если объединить несколько низкоуровневых сигналов:
- переименованный майнер может обойти проверку имени процесса, но его command line всё равно выдаст Stratum;
- общее имя процесса может выглядеть безобидно, но DNS query к mining pool уже нет;
- одно сетевое соединение само по себе может быть неоднозначным, но process + DNS + pool port вместе дают high-confidence сигнал.
Это поведенческая детекция, а не статический поиск по сигнатурам.
Что даёт алерт
Когда срабатывает правило crypto_miner, SecureExec показывает контекст, достаточный для быстрого расследования:
- имя процесса и его command line;
- IP-адрес и порт назначения;
- DNS query, предшествовавший соединению;
- родительский процесс и дерево процессов;
- связанные события хоста в Elasticsearch для pivot и расследования.
Это позволяет быстро ответить на главные вопросы: как майнер был запущен, был ли он дропнут другим payload и с какой инфраструктурой он общается.
Почему встроенное правило важно
Большинству команд не хочется писать и тюнить правила для майнеров с нуля. Нужен детект, который работает с первого дня, достаточно opinionated, чтобы быть полезным, и при этом не шумит из-за наивного port-only matching.
SecureExec поставляет правило crypto_miner встроенным, поэтому вы можете начать ловить mining-активность сразу после установки агента.
Попробуйте на своей инфраструктуре
Если вам нужен встроенный детект crypto miner на Linux-серверах без написания собственных правил, в SecureExec это уже есть из коробки.
Попробуйте SecureExec, чтобы обнаруживать crypto miner в реальном времени с видимостью на уровне процессов, DNS и сетевых соединений на ваших Linux-хостах.