· 14 мин чтения

Как мы восстановили бизнес клиента после атаки шифровальщика за 18 часов

В пятницу в 23:14 у клиента остановилась 1С, на файловом сервере появились файлы с расширением .babuk и записка с требованием 4.2 BTC. К субботнему вечеру компания продолжила приём заказов. Рассказываю поэтапно, как мы это сделали, что сработало, а что нет.

Меня зовут Евгений Сергеевич Семёнов, я руковожу ITfresh — мы с 2010 года ведём IT-аутсорсинг компаний до 50 рабочих мест в Москве. За 15 лет в инфраструктурном консалтинге через мои руки прошло около двадцати инцидентов с шифровальщиками. Этот — самый поучительный за последние два года, поэтому решил разобрать его подробно.

Клиент и инфраструктура

Заказчик — оптовая торговая компания, продаёт стройматериалы по Москве и области. 35 рабочих мест в офисе на Складочной, ещё 12 удалёнщиков на торговых точках. Парк серверов на момент инцидента:

Отмечу сразу: компания не была нашим клиентом до инцидента. Меня вызвал технический директор по рекомендации в 23:38 пятницы — спустя 24 минуты после начала атаки.

Как разворачивались события

Хронология следующая (восстановлена позже из логов Windows и Mikrotik):

Первые 30 минут: остановить кровь

Когда я подключился по защищённому каналу через резервный VPN (свой, не клиентский — на скомпрометированный ни в коем случае нельзя), первое, что я сделал — это не начал восстанавливать. Это типичная ошибка инхауса: сразу хочется тащить из бэкапов. Сначала — изоляция.

Алгоритм первого получаса:

  1. На Mikrotik отключил входящий и исходящий трафик от внутренних подсетей в интернет, кроме адресов с моего ноутбука. Команда (по памяти, упрощённо):
    /ip firewall filter
    add chain=forward action=drop src-address=192.168.10.0/24 \
      comment="EMERGENCY: ransomware containment"
    add chain=forward action=accept src-address=192.168.10.5 \
      comment="Admin laptop allowed"
  2. На Hyper-V остановил все виртуальные машины через Stop-VM -Force, чтобы прекратить работу шифровальщика, если он ещё не закончил.
  3. Физически отключил Synology от сети, выдернув патч-корд, не вводя его в shutdown — ОС нужна была для последующего форензик-анализа.
  4. На контроллере домена (он был отключён, но я загрузил его в Safe Mode) сменил пароли всех сервисных аккаунтов, отключил svc_backup, занулил krbtgt дважды (это сбрасывает Kerberos golden tickets, если атакующие их выпустили).

Шаг про krbtgt в малом бизнесе пропускают почти всегда. А зря — атакующие с правами доменадмина в 60% случаев первым делом крадут хеш krbtgt и могут возвращаться в систему даже после смены всех пользовательских паролей.

Идентификация штамма

Параллельно я загрузил образец зашифрованного файла и записку на id-ransomware.malwarehunterteam.com. Подтверждение: Babuk, версия 2024 года с модифицированным ChaCha20. Декриптора в публичном доступе нет — я проверил No More Ransom, базу Emsisoft и запросил знакомых из CERT.

Вердикт: вариант оплаты выкупа отбрасываем. Идём в бэкапы.

Аудит бэкапов: главный момент истины

Здесь начинается часть, ради которой стоит читать этот кейс. Бэкапы у клиента были организованы по схеме 3-2-1 формально, но на практике:

Вывод: восстанавливаемся из снапшотов Synology плюс инкрементная сборка по LTO + журнал транзакций MSSQL.

Восстановление: пошагово

Шаг 1. Чистая среда

Нельзя восстанавливать данные на скомпрометированный гипервизор. У клиента в кладовке стоял старый сервер DL360 Gen9 для тестов — установил на него свежий Windows Server 2022 с полностью новой парольной политикой, MFA на доступ через RD Gateway, отключённым SMBv1 и базовым правилом "белого списка" приложений через AppLocker.

Шаг 2. Восстановление файлового сервера

На Synology подключился через SSH, проверил, что снапшоты Btrfs целы:

ssh admin@192.168.10.250
sudo btrfs subvolume list /volume1/files | grep -i snap
sudo btrfs subvolume snapshot -r \
  /volume1/@syno_snapshot/files/GMT+03-2026.04.17-04.00.01 \
  /volume1/files_restore_safe

Снапшот за 04:00 утра пятницы был чистым — атака произошла после. Перенёс данные через rsync на новый временный файловый сервер на DL360. Объём — 4.7 ТБ, скорость по 10G-линку — около 380 МБ/с. На передачу ушло чуть больше 3 часов.

Шаг 3. Восстановление 1С и MSSQL

Базы 1С были на MSSQL Server 2019. Текущие mdf/ldf зашифрованы. Из снапшота за 04:00 — есть копия mdf-файла, но без транзакционного журнала за рабочий день.

Здесь сработало то, что у клиента давно был настроен log shipping с интервалом 15 минут на отдельную виртуалку, которая жила физически на NAS-01, но в собственном LXC-контейнере с другой учёткой. Атакующие до неё не добрались.

Восстановил БД с применением журналов до 17:35 пятницы — то есть до момента активности дроппера, чтобы не утянуть с собой какие-то изменения от него:

RESTORE DATABASE [unf]
FROM DISK = N'D:\restore\unf_full_20260417_0400.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG [unf]
FROM DISK = N'D:\restore\unf_log_20260417_1730.trn'
WITH STOPAT = '2026-04-17T17:35:00', RECOVERY;

DBCC CHECKDB ([unf]) WITH NO_INFOMSGS;

CHECKDB прошёл без ошибок. Потеря данных составила примерно 6 часов работы — с 17:35 пятницы до момента детекции. По счастью, это был вечер, активные операции уже не вносились, кроме отгрузки на одном складе. Потеряли около 40 строк документов реализации, восстановили вручную по бумажным накладным к понедельнику.

Шаг 4. Active Directory

Контроллер домена был зашифрован, но я не стал его восстанавливать из бэкапа — слишком велик риск, что атакующие имели persistence в виде модифицированных GPO или скрытых учёток. Вместо этого:

# Экспорт со старого NTDS.dit через ntdsutil offline:
# ntdsutil "ac in ntds" "ifm" "create full c:\ifm" q q

# Импорт списка пользователей в новый домен:
Import-Csv users.csv | ForEach-Object {
    New-ADUser -Name $_.Name -SamAccountName $_.SAM `
      -UserPrincipalName "$($_.SAM)@itf-client.local" `
      -AccountPassword (ConvertTo-SecureString "TempP@ss2026!" -AsPlainText -Force) `
      -ChangePasswordAtLogon $true -Enabled $true
}

Все пользователи получили временные пароли, обязательную смену при входе и SMS-уведомление с реквизитами через Telegram-бота, которого я держу для подобных случаев.

Шаг 5. Рабочие станции

33 машины из 35 были скомпрометированы. Восстанавливать их по одной долго и опасно — могут остаться спящие импланты. Решение: ночной скрипт PXE-развёртывания. Образ Windows 11 с Sysprep, преднастроенный с агентом Wazuh и ESET, разлили на все станции к утру субботы. Пользовательские профили подтянулись с файлового сервера через перенаправление папок (Folder Redirection было настроено заранее).

Тайминг по факту

ЭтапВремя началаДлительность
Изоляция и контейнмент23:42 пт40 мин
Идентификация штамма00:22 сб1 ч
Аудит бэкапов01:25 сб1.5 ч
Подготовка чистой среды03:00 сб2 ч
Восстановление файлового сервера05:10 сб3 ч 20 мин
Восстановление БД 1С08:35 сб2 ч
Новый AD и групповые политики10:40 сб3 ч
PXE-развёртывание рабочих станций13:50 сб4 ч (фоновое)
Тестовый запуск, прогон бизнес-процессов16:30 сб1 ч
Итого до полного запуска23:14 пт18 ч 16 мин

Что сделано после: профилактика

За следующие три недели мы перестроили схему безопасности у клиента. Основное:

Главные выводы для собственника бизнеса

Если вы дочитали досюда — вы понимаете: дело даже не в шифровальщике. Шифровальщик это симптом. Корневые причины этой атаки были такие:

  1. Слабый пароль у сервисной учётки с правами доменадмина (а сама учётка вообще не должна была иметь таких прав).
  2. Резервный сервер сидел в том же домене, что и продакшн.
  3. Не было MFA нигде, кроме интернет-банка.
  4. Сотрудники не проходили никакой подготовки по фишингу.
  5. Последний LTO-бэкап был два месяца назад — RPO в 60 дней для торговой компании это катастрофа.

Стоимость инцидента в деньгах: 6 часов потерянных данных вручную восстановили, прямой простой бизнеса — нулевой (атака произошла в нерабочее время), но я выставил счёт за работу 280 тыс. рублей плюс 540 тыс. на новое оборудование и лицензии. Если бы атака случилась в среду в 11 утра — простой стоил бы клиенту 4-5 миллионов в день минимум.

Бесплатный аудит инфраструктуры от ITfresh

За 2 часа на месте я и мой инженер посмотрим вашу инфраструктуру и пришлём отчёт с приоритетным списком уязвимостей. Бесплатно, без обязательств. Подходит для компаний от 10 до 50 рабочих мест в Москве.

Telegram: @ITfresh_Boss
Телефон: +7 903 729-62-41

Часто задаваемые вопросы

Сколько в среднем стоит восстановление после атаки шифровальщика?

Для офиса до 50 рабочих мест — от 16 до 80 человеко-часов работы инженера. Если бэкапы целы и проверены, это 1-2 рабочих дня. Если бэкапы повреждены — может уйти неделя командой из 2-3 человек. Стоимость работ ITfresh — от 4 тыс. ₽ в час в режиме инцидента.

Стоит ли платить выкуп ransomware-атакующим?

Категорически нет. По мировой статистике в 30-40% случаев данные не восстанавливаются даже после оплаты. Кроме того, вы попадаете в "белый список добропорядочных плательщиков" и через 6-12 месяцев вас атакуют снова те же или их партнёры.

Можно ли расшифровать файлы без оплаты?

Иногда да. Сайт No More Ransom (nomoreransom.org) ведёт базу декрипторов для известных штаммов. Сначала идентифицируем семейство через ID Ransomware. Но в 80% случаев для свежих штаммов декриптора нет, поэтому ставка на бэкапы.

Как проверить что мои бэкапы реально работают?

Раз в квартал делайте полное тестовое восстановление в изолированную среду. Veeam SureBackup умеет это автоматизировать. Без проверки бэкап считается несуществующим.

Как защититься от шифровальщика после инцидента?

Минимальный пакет: иммутабельные офлайн-бэкапы (Veeam Hardened Repository или ленты), MFA на привилегированные аккаунты, отключение SMBv1, EDR (Wazuh + ClamAV или коммерческий аналог), сегментация сети, отключение RDP с интернета, обучение сотрудников.