· 13 мин чтения

Криптомайнер на сервере компании: как обнаружить, удалить и не допустить повторения

Криптомайнер на сервере компании: как обнаружить, удалить и не допустить повторения

Меня зовут Семёнов Евгений Сергеевич, я уже 15 лет руковожу АйТи Фреш — IT-аутсорсингом для офисов до 50 рабочих мест в Москве. За это время через моих инженеров прошло около 40 серверов с криптомайнерами разной степени запущенности. В этой статье — конкретный кейс из практики марта 2026-го: торговая компания, сервер 1С, загрузка 100% круглые сутки. Расскажу, как мы нашли проблему за 15 минут, устранили за 2 часа и что сделали, чтобы это не повторилось.

Звонок: «1С работает в 10 раз медленнее, чем месяц назад»

Мне позвонил IT-директор торговой компании, которая занимается оптовыми поставками промтоваров, — дело было в понедельник утром. У них в офисе на Шаболовке 32 рабочих места, и сервер 1С физически находится прямо в их серверной. Звонок был полон отчаяния: проведение документа в 1С УТ вместо привычной 1 секунды вдруг стало занимать 15-20 секунд! Бухгалтерия, конечно, криком кричит, продажи остановились, а директор, я слышал, был готов рвать на себе волосы.

Я не стал терять ни минуты, взял с собой одного из инженеров, и уже через час мы были на месте. Первым делом подключились к серверу по RDP под админской учёткой и сразу же открыли диспетчер задач. И знаете, какая картина нам предстала? Процессор Intel Xeon E-2236 (у него 6 ядер и 12 потоков) был загружен на все 100%! При этом в 1С активно работали всего четверо пользователей. А график загрузки за последний час вообще был похож на ровную полку в 99%, без единого провала, даже ночью.

Как опытный системщик, я сразу понял, в чём дело. Обычный, здоровый сервер 1С, рассчитанный на 30 пользователей, в нормальном режиме загружает свой CPU где-то на 15-30%. Даже при закрытии месяца бывают пики, но не выше 60%. А вот такая постоянная «полка» в 99% — это явный признак либо зависшего процесса, либо чего-то совсем чужеродного. Мы тут же открыли вкладку «Подробности» в диспетчере задач, отсортировали всё по загрузке CPU. И что вы думаете? На самой первой строчке красовался процесс WindowsHostHelper.exe, который единолично отъедал аж 91% процессора. Имя, конечно, выглядело как системное, но я-то знаю: на здоровом Windows Server такого процесса быть не должно. Классическая маскировка, одним словом.

Подтверждение: что именно делает подозрительный процесс

Сразу убивать процесс нельзя — сначала надо понять, что он делает, откуда запущен и нет ли механизма автоперезапуска. Открыл командную строку с правами администратора и посмотрел детали:

PS C:\> Get-Process WindowsHostHelper | Format-List *

  Name        : WindowsHostHelper
  Id          : 4128
  Path        : C:\ProgramData\WindowsHostService\bin\WindowsHostHelper.exe
  StartTime   : 02.03.2026 03:14:22
  CPU         : 154892,73
  Threads     : {...12 потоков...}
  Modules     : {WindowsHostHelper.exe, ntdll.dll, ...}

Запущен из C:\ProgramData\WindowsHostService\ — папка, которой по умолчанию в Windows Server нет, и которая не создаётся легитимными приложениями. Стартовое время — 2 марта в 3:14 ночи. Сейчас 31 марта. То есть майнер крутится 29 дней, накопив на счётчике CPU больше 154 тысяч секунд (это 42 часа чистого процессорного времени).

Проверил, с кем он общается:

PS C:\> Get-NetTCPConnection -OwningProcess 4128

  LocalAddress  LocalPort  RemoteAddress       RemotePort  State
  10.0.10.5     49321      176.124.107.214     14444       Established

Активное соединение с IP 176.124.107.214 на порту 14444 — это типичный порт для пулов Monero (XMR). Whois IP-адреса показал, что это сервер в Германии, известный как пул для XMRig-майнеров. Диагноз подтвердился: на сервере работает криптомайнер, добывающий Monero и отдающий результат в чужой пул.

Поиск механизмов перезапуска

Важно помнить: прежде чем мы нажмём кнопку «убить процесс» и начнём удалять файлы, нужно обязательно найти всё, что может его перезапускать. Иначе через 5 минут он вернётся, как ни в чём не бывало! Вот что я проверил в первую очередь:

1. Запланированные задачи:

PS C:\> Get-ScheduledTask | Where-Object {$_.TaskPath -notlike "\Microsoft\*"} | Format-Table TaskName, TaskPath, State

  TaskName              TaskPath           State
  WindowsHostMonitor    \Microsoft\Windows  Ready
  WindowsHostUpdater    \                   Running

Нашёл две задачи. Первая — каждые 5 минут проверяет, запущен ли майнер, и если нет — запускает. Вторая — раз в сутки скачивает свежую версию с командного сервера. Обе создал злоумышленник.

2. Службы Windows:

PS C:\> Get-Service | Where-Object {$_.DisplayName -like "*Helper*" -or $_.DisplayName -like "*Host Service*"}

  Status   Name                DisplayName
  Running  WinHostHlpr        Windows Host Helper Service

Ещё один механизм — служба, которая стартует при загрузке системы. Тоже создана злоумышленником, но имя выглядит «системным».

3. Автозагрузка через реестр:

PS C:\> Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Run

  WindowsHostHelper : C:\ProgramData\WindowsHostService\bin\WindowsHostHelper.exe

И третий — стандартный ключ реестра автозагрузки. Тройная страховка: даже если убрать одно, два других перезапустят майнер. Видно, что злоумышленник опытный.

Зачистка инфраструктуры

Порядок зачистки важен — сначала отключаем все механизмы перезапуска, потом убиваем процесс и только потом удаляем файлы:

# 1. Удаляем запланированные задачи
PS C:\> Unregister-ScheduledTask -TaskName "WindowsHostMonitor" -Confirm:$false
PS C:\> Unregister-ScheduledTask -TaskName "WindowsHostUpdater" -Confirm:$false

# 2. Останавливаем и удаляем службу
PS C:\> Stop-Service -Name "WinHostHlpr" -Force
PS C:\> sc.exe delete WinHostHlpr

# 3. Удаляем ключ автозапуска
PS C:\> Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" `
       -Name "WindowsHostHelper"

# 4. Убиваем процесс
PS C:\> Stop-Process -Id 4128 -Force

# 5. Удаляем файлы майнера
PS C:\> Remove-Item -Path "C:\ProgramData\WindowsHostService\" -Recurse -Force

После этого открыл диспетчер задач — загрузка CPU мгновенно упала до 8%. Зашёл в 1С, провёл тестовый документ — секунда. Бухгалтерия выдохнула, директор перестал нервничать. Но работа далеко не закончена — нужно понять, как майнер попал на сервер, и закрыть эту дыру. Иначе через неделю всё повторится.

Расследование: точка входа

Я полез в журнал событий безопасности Windows и отфильтровал записи по событию 4624, что означает успешный вход в систему. При этом меня интересовал только тип логона 10, или Remote Interactive, — то есть входы по RDP:

PS C:\> Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624;StartTime=(Get-Date).AddDays(-35)} `
       | Where-Object {$_.Message -like "*Logon Type:*10*"} `
       | Select-Object TimeCreated, @{N='Account';E={$_.Properties[5].Value}}, `
                       @{N='SourceIP';E={$_.Properties[18].Value}} `
       | Group-Object SourceIP | Sort-Object Count -Descending | Select-Object -First 10

Картина оказалась шокирующей. За месяц на сервер было 14 700 успешных RDP-логинов с IP-адресов из Бразилии, Вьетнама, Нигерии и Болгарии. То есть кто-то методично подбирал пароль, и в какой-то момент подобрал. Проверил неудачные попытки (событие 4625) — 2.3 миллиона за месяц. Брутфорс работал постоянно, и в итоге пароль был подобран.

Дальше выяснилось, что у клиента:

Знаете, это типичная история для многих небольших компаний. Они когда-то «попросили IT-шника на удалёнке настроить, чтобы можно было работать из дома». IT-шник, конечно, настроил, убедился, что всё работает, и благополучно забыл. А злоумышленники тем временем круглосуточно сканируют интернет, ищут открытые 3389 порты и ждут, пока кто-нибудь не попадётся.

Закрытие дыры: как мы переделали удалённый доступ

Мы не стали тянуть. В тот же день мы полностью переделали схему удалённого доступа для клиента. Изначально мы закладывали на это 3 часа работы, но справились даже быстрее — уложились реально в 2.5:

  1. Закрыли проброс RDP с роутера в интернет. Никаких 3389 наружу больше нет, точка.
  2. Развернули WireGuard на роутере Mikrotik. 7 пользователей (директор, главбух, кладовщик, 4 менеджера) получили персональные конфиги. Подключение к VPN, и уже из VPN — RDP к серверу. На каждое подключение — отдельный ключ, можно отозвать.
  3. Переименовали учётку Administrator в нестандартное имя (по политике безопасности АйТи Фреш — что-то вроде adm-itfresh-svnv). Старое имя оставлено, но отключено — это ловушка.
  4. Сменили все админские пароли на 18-символьные с генератором. Сохранили в Bitwarden, поделились с клиентом через защищённую ссылку.
  5. Включили блокировку учётки после 5 неудачных попыток на 30 минут (групповая политика «Account Lockout Threshold»).
  6. Включили журнал безопасности с увеличенным размером (1 ГБ) и настроили выгрузку в SIEM (у клиента — Wazuh).
  7. Установили мониторинг загрузки CPU через Zabbix — алерт инженеру, если CPU >70% дольше 30 минут вне рабочих часов.

Конечно, такая работа стоит денег. Клиенту наши разовые работы обошлись в 28 000 рублей. До этого они платили нам почасовку, но уже на следующей неделе, осознав всю серьёзность ситуации, подписали договор абонентского обслуживания. Теперь это 95 000 руб./мес — потому что они поняли, что инфраструктура, оставленная без присмотра, обходится в десятки раз дороже.

Признаки майнера на сервере: чек-лист для самопроверки

На всякий случай, если вы вдруг подозреваете, что на вашем сервере завёлся майнер, вот что можно проверить буквально за 5 минут. Уверяю, с этим справится любой админ:

ПризнакЧто проверитьНорма
Загрузка CPUДиспетчер задач, график за последние суткиДолжны быть провалы ночью и в обеденное время
Температура сервераiDRAC/iLO/IPMI или термодатчикиНа 5-15 °C выше базового уровня — повод проверить
Странные процессыGet-Process отсортировать по CPUВ топе должны быть знакомые: 1cv8.exe, sqlservr.exe, agntsrvc
Подозрительные подключенияGet-NetTCPConnectionНе должно быть исходящих на порты 3333, 5555, 7777, 14444
Папки в ProgramDatadir C:\ProgramData /ADТолько папки с именами известных программ
Запланированные задачиGet-ScheduledTaskБез задач с подозрительными именами вне Microsoft\Windows
Скачки потребления электричестваСчётчик электроэнергии по сервернойСтабильное потребление, без скачков на 30-50%

Как мы предотвращаем майнеры у клиентов АйТи Фреш

Кстати, о защите. Каждый наш клиент АйТи Фреш, который находится на абонентском обслуживании, автоматически получает базовый пакет защиты серверов от компрометации. Это не какая-то отдельная услуга, а просто часть нашей стандартной абонентки. Например, для офиса на 25 ПК с одним сервером это стоит 90 000 руб./мес. И вот что туда входит:

Я понимаю, может показаться, что я тут рекламируюсь, — но, поверьте, без этих базовых вещей любой сервер, который хоть как-то доступен из интернета, заражается буквально за пару месяцев. Это не вопрос «если» это случится, это вопрос «когда». А мы просто делаем так, чтобы это «когда» наступило максимально нескоро и было под полным контролем.

Подозреваете майнер на своём сервере? Позвоните прямо сейчас

Итак, если ваш сервер вдруг начал капризничать: тормозит, греется как утюг, ест много электричества, а вы не понимаете, в чём дело, — это вполне может быть майнер. Не тяните! Я лично или один из моих опытных инженеров приедет к вам в офис в Москве в течение 2-4 часов, проведёт полную диагностику, найдёт и, главное, удалит майнер, а потом закроет все точки входа, чтобы такое больше не повторилось. Экстренный выезд стоит от 12 000 руб., а если вы уже на абонентке — это без доплат.

Телефон: +7 903 729-62-41 (звоните сейчас, отвечу лично)
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы про криптомайнеры на серверах

Как понять, что на сервере работает криптомайнер?
Главный признак — постоянная загрузка CPU 90-100% при отсутствии реальной работы пользователей. На сервере 1С это особенно заметно: ночью нагрузка должна быть минимальной, а майнер держит её на максимуме круглосуточно. Также повышается температура, шумят кулеры, растут счета за электричество.
Опасен ли майнер для данных компании?
Сам майнер не крадёт данные, его задача — генерировать криптовалюту. Но факт его установки означает, что злоумышленник получил доступ к серверу. И через эту же дыру он может загрузить шифровальщик, скачать базы или подменить документы. Поэтому майнер — всегда сигнал о компрометации.
Как майнер попадает на сервер компании?
Три основных пути: открытый RDP с слабым паролем, уязвимости в публично доступных сервисах (старая 1С-публикация, веб-сайт компании на сервере, веб-морда видеонаблюдения), и физический доступ через флэшку. В 70% случаев в моей практике — это именно RDP.
Нужно ли переустанавливать сервер после обнаружения майнера?
Если майнер установлен недавно, точка входа понятна и других следов компрометации нет — достаточно зачистки и закрытия дыры. Если злоумышленник имел доступ долго (недели и месяцы), есть смысл переустанавливать ОС с нуля и восстанавливать данные из проверенного бэкапа — нельзя гарантировать, что не остался скрытый бэкдор.
Сколько стоит чистка сервера от майнера?
В АйТи Фреш разовая зачистка с поиском точки входа и базовым харденингом — от 12 000 руб. Полное расследование инцидента с переустановкой ОС и восстановлением — от 35 000 руб. Клиентам на абонентке инцидент закрывается без доплат.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.