· 13 мин чтения

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

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

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

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

Я взял с собой одного из инженеров и через час был на месте. Подключились к серверу через RDP под админской учёткой и сразу открыли диспетчер задач. Картина: процессор Intel Xeon E-2236 (6 ядер, 12 потоков) загружен на 100%. При этом активных пользователей в 1С — 4 человека. На графике загрузки за последний час — ровная полка 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%

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

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

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

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

Если у вас сервер тормозит, греется, потребляет много электричества и вы не понимаете почему — это может быть майнер. Я лично или один из моих инженеров приедет к вам в офис в Москве в течение 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 подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.