Как мы восстановили бизнес клиента после атаки шифровальщика за 18 часов
Пятница, 23:14. У клиента упала 1С, на файловом сервере появились файлы с расширением .babuk и записка: 4.2 BTC или прощай данные. К субботнему вечеру компания уже принимала заказы. Рассказываю поэтапно — что именно мы делали, что сработало, что нет, и где нам просто повезло.
Я Евгений Сергеевич Семёнов, руковожу ITfresh. С 2010 года — IT-аутсорсинг для компаний до 50 рабочих мест в Москве. За 15 лет практики через мои руки прошло около двадцати инцидентов с шифровальщиками. Этот — самый показательный за последние два года. Поэтому разобрал его во всех деталях.
Клиент и инфраструктура
Заказчик — оптовик, продаёт стройматериалы по Москве и области. 35 рабочих мест в офисе на Складочной, ещё 12 удалёнщиков на торговых точках. Серверный парк на момент атаки выглядел так:
- HV-01 — Hyper-V на Windows Server 2019, 256 GB RAM, два массива RAID10. Пять виртуалок: контроллер домена, файловый сервер, сервер 1С, MSSQL, RDS-ферма.
- NAS-01 — Synology RS3621xs+ на 96 ТБ, промежуточное хранилище для бэкапов Veeam.
- BACKUP-LTO — внешний LTO-8 с ротацией картриджей. Последний цикл — два месяца назад. Ленты лежали в сейфе у директора в кабинете.
- Mikrotik CCR2004 в роли маршрутизатора, фаервол по портам, VPN L2TP/IPSec для удалёнщиков.
Сразу скажу: до инцидента этот клиент у нас не обслуживался. Технический директор позвонил по рекомендации в 23:38 — через 24 минуты после начала атаки.
Как разворачивались события
Хронология — восстановлена позже из логов Windows и Mikrotik:
- 17:42 — сотрудник склада Мария И. открыла вложение в письме, замаскированном под акт сверки от контрагента. Файл назывался
Акт_сверки_03.2026.pdf.exe. Дроппер. - 17:43–22:30 — пять часов тишины. Дроппер не шумел: просто прописал persistence через
HKCU\Software\Microsoft\Windows\CurrentVersion\Runи запланированную задачу. За это время атакующие через C2-канал изучили сеть, выгребли хеши локальных аккаунтов черезmimikatz, подобрали пароль к сервисной учёткеsvc_backup— а она, по классической ошибке, имела права доменадмина. - 22:30 — через psexec под учёткой svc_backup на все машины домена развернули полезную нагрузку. Babuk — семейство не новое, но с обновлённым крипто-стэком.
- 23:00–23:14 — параллельное шифрование. За 14 минут зашифровано около 4.7 ТБ: файловый сервер, базы 1С и MSSQL, все рабочие станции, которые не выключили на ночь.
- 23:14 — оператор не открыл номенклатуру в 1С, увидел на рабочем столе
How_To_Restore_Your_Files.txt, позвонил техдиру.
Первые 30 минут: остановить кровь
Когда подключился по защищённому каналу — через свой резервный VPN, не клиентский, на скомпрометированный лезть нельзя — первым делом я не стал ничего восстанавливать. Это классическая ошибка инхаус-команды: сразу тянуть из бэкапов. Сначала — изоляция.
Алгоритм первого получаса:
- На 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" - На Hyper-V остановил все виртуальные машины через
Stop-VM -Force— чтобы шифровальщик не продолжал работу, если ещё не закончил. - Физически выдернул патч-корд из Synology, не отправляя в shutdown: ОС была нужна для форензик-анализа.
- Контроллер домена был отключён — загрузил его в 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 у клиента была — формально. По факту:
- Veeam Backup & Replication крутился внутри того же домена, под доменной учёткой с правами доменадмина. Репозиторий — Synology по SMB. Атакующие зашифровали и его. Все бэкапы за 30 дней — уничтожены.
- Снапшоты Synology — настроены, retention 7 дней. Но злоумышленники не добрались до web-интерфейса DSM — пароля у них не было. Снапшоты уцелели. Это нас и спасло.
- LTO-картриджи — последний полный бэкап от 17 февраля 2026 года, два месяца назад. Единственный по-настоящему иммутабельный носитель.
Решение: восстанавливаемся из снапшотов 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. Восстановление 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 или скрытые учётки. Поступил иначе:
- Поднял чистый домен с нуля на Server 2022.
- Из старого NTDS.dit (вытащил его из снапшота NAS) выгрузил список пользователей и групп, импортировал через PowerShell:
# Экспорт со старого 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
}
Все пользователи получили временные пароли с обязательной сменой при первом входе. Реквизиты разослал через 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 мин |
Что сделано после: профилактика
За три недели после инцидента мы полностью перестроили защиту. Ключевые изменения:
- Иммутабельный репозиторий Veeam. Отдельный Linux-сервер с Hardened Repository, доступ только через xinetd на специальный порт, авторизация исключительно по ключу. Файлы закрываются immutable-флагом на 14 дней.
- Wazuh SIEM. Агент развернули на всех серверах и рабочих станциях. Правило: больше 100 изменений файлов в минуту — алерт плюс автоблокировка пользовательской сессии. Сам сервер Wazuh — на отдельной виртуалке вне домена.
- MFA через Microsoft Authenticator на VPN, RDP-Gateway и все административные входы.
- Тейринг администраторов по модели Microsoft: Tier 0 (доменадмины) — только с выделенных терминалов, Tier 1 (серверы), Tier 2 (рабочие станции).
- Запрет SMBv1, отключение PowerShell v2, ASR-правила Defender через GPO.
- Изолированная сеть для бэкапов — отдельный VLAN, видит только резервный сервер и хранилища.
- Ежеквартальный SureBackup-прогон — автоматический скрипт восстанавливает виртуалки в изолированную лабораторию и проверяет загружаемость.
Главные выводы для собственника бизнеса
Если дочитали до этого места, уже понятно: дело не в шифровальщике. Шифровальщик — это симптом. Корневые причины этой атаки:
- Слабый пароль у сервисной учётки с правами доменадмина — и вообще такой учётке эти права не нужны.
- Резервный сервер сидел в том же домене, что и продакшн.
- MFA не было нигде, кроме интернет-банка.
- Сотрудники ни разу не проходили обучение по распознаванию фишинга.
- Последний 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 с интернета, обучение сотрудников по фишингу.
