На assessment'е устойчивости к ransomware одного производственного объекта мы стартовали с assumed breach - скомпрометированная учётка инженера АСУ ТП на Level 3 по Purdue. Через четыре часа читали holding registers ПЛК, модифицировали значения на тестовом стенде и показывали заказчику, как ransomware-оператор мог бы заблокировать линию. Из трёх инструментов OT-мониторинга два показали чистый dashboard. Третий зафиксировал аномалию - спустя два часа после того, как мы уже сидели на контроллерах. По данным IBM X-Force, 70% инцидентов, расследованных X-Force в 2024 году, затронули критическую инфраструктуру. Ransomware в OT - не вопрос «если», а вопрос «насколько далеко пройдёт атакующий до того, как кто-то заметит».
Бизнес-логика атаки: почему ransomware целится в промышленные системы
Ransomware-операторы целенаправленно расширяют scope с IT на OT-сегменты. Мотивация проста до неприличия: остановка производственной линии стоит десятки тысяч долларов в час, и собственник такого объекта платит выкуп куда охотнее, чем владелец зашифрованного файлового сервера. По данным Verizon DBIR 2025, медианный выкуп ransomware - $46 000, но для промышленных объектов с непрерывным циклом эта сумма - часы простоя, а не дни переговоров.По данным Dragos 2025 (процитированным Zero Networks), количество ransomware-групп, атакующих OT/ICS, выросло на 60% за 2024 год. Атаки на промышленный сектор увеличились на 87% год к году - manufacturing лидирует четвёртый год подряд. Данные ransomware.live подтверждают тренд: группа Play в начале июня 2026 года публикует жертв из Manufacturing (Corley Manufacturing, США) и Agriculture/Food Production (Urschel, США) каждую неделю.
Kill chain ransomware-атаки на OT разворачивается по предсказуемому маршруту:
- Initial access в IT-сегмент - фишинг, скомпрометированный VPN, exploit публичного приложения (Exploit Public-Facing Application, T1190, Initial Access). По данным Mandiant M-Trends 2025, exploits - вектор номер один (38% расследований).
- Lateral movement по корпоративной сети - кража credentials, SMB relay, Exploitation of Remote Services (T1210, Lateral Movement). CrowdStrike фиксирует среднее время lateral movement в 62 минуты после initial access; рекорд - 51 секунда.
- Переход через DMZ в OT - через historian-сервер, инженерную рабочую станцию с двумя сетевыми интерфейсами или jump host подрядчика.
- Распространение внутри OT-сегмента - от historian до HMI, от HMI до engineering workstation, от EWS до контроллера.
- Impact - шифрование historian/HMI (классический ransomware) или манипуляция с контроллерами (продвинутый вариант типа TRITON).
Assumed breach: серый ящик как стандарт OT-пентеста
[Применимо: внутренний пентест, grey box, после согласования с инженерами АСУ ТП]
В IT-пентесте black box - стандартная стартовая позиция. В OT - нет. Причины сугубо практические: сканирование production-контроллеров без подготовки может уронить оборудование. SYN-скан Siemens S7-300 без
--max-rate способен вызвать 22 минуты простоя - контроллер перестаёт отвечать на запросы HMI, оператор жмёт аварийную остановку. Поэтому OT ICS пентест для оценки устойчивости к ransomware чаще проводится в формате assumed breach.На практике это выглядит так:
- Пентестер получает учётную запись уровня инженера АСУ ТП или оператора SCADA (low-priv credentials)
- Точка старта - Level 3 по Purdue (production management): historian-сервер, engineering workstation или DMZ-сегмент между IT и OT
- Цель - продемонстрировать, насколько глубоко ransomware-оператор может проникнуть с аналогичной стартовой позицией
Decision tree для grey box OT-сценария
Перед запуском активных действий стоит проверить:- Какие сетевые сегменты доступны с выданной учётной записи? Есть ли маршрут из IT VLAN в OT VLAN?
- Historian-сервер: какая ОС (Windows Server 2012 R2 встречается до сих пор), какой SCADA-продукт (Wonderware, OSIsoft PI, AVEVA), патч-левел?
- Engineering workstation: есть ли dual-homing (два сетевых интерфейса - один в IT, второй в OT)?
- Remote access: активные VPN-туннели подрядчиков? SSH на публичных адресах? RDP без NLA?
- Какие OT-мониторинговые средства установлены (Claroty, Dragos Platform, Nozomi Guardian) - и на каких именно сегментах?
Lateral movement из IT в OT: три вектора распространения ransomware
Historian-сервер как точка перехода
Historian (OSIsoft PI, Wonderware, AVEVA) - база данных, которая собирает данные с ПЛК и отдаёт их в корпоративную сеть для отчётности. По Purdue это Level 3 - зона, которая общается и с IT (Level 4-5), и с OT (Level 1-2). Historian почти всегда крутится на Windows Server с SQL-бэкендом, часто с устаревшими патчами. По данным IBM X-Force 2025, среднее время между публикацией CVE и устранением в организации - 29 месяцев. Двадцать девять.Пентест historian-а - это, по сути, стандартный Windows-пентест: проверка SMB-шар, дефолтных учёток SQL Server (
sa с пустым паролем встречается до сих пор), незапатченного RDP, отсутствия LAPS. По данным Zero Networks, каждый четвёртый пентест OT-среды обнаруживает дефолтные credentials (Default Accounts, T1078.001, Initial Access).Ограничение вектора: если сегментация между historian и OT VLAN реализована через промышленный firewall с whitelist-правилами - вектор не работает. Но в 65% OT-сред, по тем же данным, обнаруживаются insecure remote access conditions - сегментация нарушена или отсутствует.
Инженерная станция с dual-homing
Engineering workstation (EWS) - компьютер с TIA Portal (Siemens) или Studio 5000 (Allen-Bradley). EWS часто имеет два сетевых интерфейса: один в корпоративной сети для обновлений и почты, второй - прямое подключение к OT-сегменту для загрузки проектов в контроллеры.Для ransomware-оператора скомпрометированная EWS - прямой маршрут в OT без прохождения firewall. Lateral movement к EWS из IT-сети идёт через стандартные TTPs: кража credentials через Network Sniffing (T1040) в plaintext-протоколах Modbus/DNP3, Exploitation of Remote Services (T1210) или RDP с перехваченными учётными данными.
Ограничение вектора: если EWS изолирована в выделенном VLAN с доступом только через jump host с MFA - lateral movement останавливается. На практике такая конфигурация встречается реже, чем dual-homing. Гораздо реже.
VPN и jump host подрядчика
Vendor remote access - одна из самых типичных дыр. Подрядчик Siemens или Schneider получает VPN-доступ для удалённой диагностики, и этот доступ остаётся активным месяцами после окончания работ. По данным Dragos (цитируемым Zero Networks), SSH с публичными маршрутизируемыми адресами обнаружен у 45% OT-организаций. Забытый VPN-туннель подрядчика - подарок для атакующего, который даже не надо заворачивать.SCADA security тестирование: fingerprinting протоколов перед ударом
[Применимо: внутренний пентест, grey/white box, после получения доступа к OT VLAN]Попав в OT-сегмент, пентестер выстраивает baseline - выясняет, какие устройства общаются друг с другом, какие протоколы используются, какие function codes летят по сети. Пассивная разведка - единственный безопасный способ сделать это в production.
Wireshark на зеркалированном порту (SPAN) коммутатора OT-сегмента показывает полную картину без отправки единого пакета:
Код:
modbus # весь Modbus TCP (порт 502)
modbus.func_code == 3 # Read Holding Registers - штатный опрос
modbus.func_code == 6 # Write Single Register - команда управления
modbus.func_code == 16 # Write Multiple Registers - пакетная запись
s7comm # Siemens S7 (порт 102)
dnp3 # DNP3 (порт 20000)
enip # EtherNet/IP (порт 44818)
Для DNP3 существует Secure Authentication (SA), но инсталляции с включённым SA - единичные проценты. EtherNet/IP (CIP) для Allen-Bradley разбирается через фильтр
enip - видны CIP-сервисы и типы connected/unconnected messages.Что ищем при passive recon для ransomware-сценария:
- Какие хосты общаются с ПЛК напрямую - потенциальные точки перехвата управления
- Частота опроса регистров - baseline для безопасного активного тестирования (если SCADA опрашивает раз в секунду, 100 дополнительных запросов уронят контроллер)
- Web-интерфейсы HMI на нестандартных портах (8080, 8443) - часто с дефолтными паролями
- Broadcast-трафик, раскрывающий топологию сегмента
Симуляция ransomware impact: что можно и чего нельзя трогать
Запретная зона: production-контроллеры
Запись в holding registers production-ПЛК, отправка Stop-команд (Service Stop, T1489), модификация ladder-логики - всё это запрещено без исключений. TRITON (2017) перепрограммировал SIS-контроллер (Safety Instrumented System) на нефтехимическом заводе - ошибка в payload вызвала аварийную остановку и привела к обнаружению. Если бы payload отработал чисто, атакующий отключил бы защитные механизмы перед ударом по DCS. Повезло.Industroyer (2016) использовал легитимные function codes промышленных протоколов (IEC 60870-5-101/104, IEC 61850, OPC DA) для размыкания выключателей украинских подстанций. Дополнительный DoS-модуль эксплуатировал CVE-2015-5374 в Siemens SIPROTEC - специально сформированные пакеты на порт 50000/UDP вызывали отказ защитных реле (CWE-19, затронуты SIPROTEC 4, SIPROTEC Compact, EN100 Ethernet module). Оба инцидента объясняют, почему пентестер не воспроизводит impact на боевом оборудовании. Никогда.
Безопасная демонстрация на production
С письменного согласия заказчика допустимо:- Чтение holding registers через Modbus TCP (function code 0x03) - read-only операция, безопасная при разумном rate
- Fingerprinting ПЛК через Redpoint NSE-скрипты (
s7-info.nse,modbus-discover.nse) с жёстким--max-rate 5 - Скриншоты web-интерфейсов HMI с дефолтными учётками
- Перехват и демонстрация Modbus-команд в plaintext (Network Sniffing, T1040)
Тестовый стенд для impact-демонстрации
Требования к окружению: Kali Linux 2024.x+, Nmap 7.94+, Metasploit Framework 6.x (активно поддерживается, rapid7/metasploit-framework), Python 3.8+ (для PLCScan), 4 GB RAM минимум. Для эмуляции - OpenPLC Runtime или GRFICSv3 (обновлённая версия представлена на ICS Cybersecurity Conference 2025). Изолированная сеть без маршрутизации в production.На стенде можно демонстрировать полный impact: запись в регистры (Transmitted Data Manipulation, T1565.002), остановку контроллера (T1489), модификацию логики, шифрование historian-базы и HMI-проекта.
Bash:
# Fingerprinting Siemens S7 на тестовом стенде (НЕ production)
nmap -Pn -sT -p 102 --script s7-info --max-rate 5 192.168.1.10
# Обнаружение Modbus-устройств в тестовом сегменте
nmap -Pn -sT -p 502 --script modbus-discover --max-rate 5 192.168.1.0/24
--max-rate обязателен - промышленные контроллеры обрабатывают сетевые запросы в одном потоке с циклом управления, перегрузка блокирует scan cycle.Защита промышленных систем от ransomware: почему стандартные EDR и SIEM слепы
Стандартный IT-стек защиты не работает в OT по архитектурным причинам. Не по организационным, не по бюджетным - именно по архитектурным:| Средство защиты | Почему не работает в OT | Альтернатива |
|---|---|---|
| EDR (CrowdStrike Falcon, SentinelOne, Elastic EDR) | ПЛК и HMI-панели не поддерживают агентов. RTU работает на RTOS. Historian на Windows - единственная точка, где EDR теоретически возможен | OT NDR: Claroty, Dragos Platform, Nozomi Guardian - пассивный мониторинг сетевого трафика |
| SIEM (Splunk, Elastic, MaxPatrol SIEM) | Нет event source от ПЛК. Modbus/DNP3 не генерируют логи аутентификации, потому что аутентификации нет | Deep packet inspection промышленных протоколов на уровне OT NDR |
| Сетевая сегментация (VLAN, firewall) | Firewall между IT и OT часто имеет слишком широкие правила. EWS с dual-homing обходит firewall полностью | Micro-segmentation с whitelist-правилами на уровне отдельных устройств |
| MFA | ПЛК и SCADA не поддерживают MFA. Modbus не имеет концепции пользователя. OPC-UA поддерживает сертификаты, но PKI на единицах процентов инсталляций | Jump host с MFA как единственная точка входа |
OT NDR (Claroty, Dragos, Nozomi) решают часть проблем: разбирают промышленные протоколы на уровне function codes и алертят на аномалии. Но и у них есть ограничения, которые вылезают именно на пентесте:
- Baseline-зависимость: OT NDR учит «нормальный» трафик. Если атакующий действует медленно и использует те же function codes, что легитимный SCADA-сервер - детекция затруднена. На том assessment'е, с которого я начал статью, мы именно так и прошли - тихо, теми же командами, что и штатный опрос.
- Blind spots при passive deployment: сенсор видит только трафик на SPAN-порту. Если коммутатор access-уровня не зеркалирует трафик - EWS-to-PLC коммуникация невидима.
- Encryption gap: OPC-UA с TLS шифрует payload - passive NDR видит метаданные соединения, но не содержимое команд.
net_firewall_susp_network_scan_by_ip.yml детектит аномальные сканы, opencanary_portscan_syn_scan.yml ловит SYN-сканирование. Но для OT-специфичных действий (Modbus write с нового IP в нерабочие часы) публичных Sigma-правил нет - их приходится писать под конкретную инсталляцию или полагаться на OT NDR.Чеклист: оценка устойчивости OT к ransomware
[Формат для включения в отчёт по итогам пентеста]
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Последние два года я наблюдаю одну и ту же картину: компании ставят OT NDR, получают dashboard с asset inventory - и считают себя защищёнными. На пентесте выясняется, что сенсор стоит на SPAN ядрового коммутатора, но трафик между EWS и ПЛК идёт через access-уровень и в SPAN не попадает. Или что historian с Windows Server 2012 R2 без патчей - единственный хост, где мог бы работать EDR, но агент не установлен, "чтобы не повлиять на performance". Это не безопасность - это галочка в отчёте для руководства.
Ransomware-группы вроде Play публикуют жертв из manufacturing каждую неделю. Тренд 2026 года, по оценкам Dragos и GuidePoint Security - не просто шифрование IT-данных, а целенаправленное давление через угрозу остановки производства. Пентест OT ICS систем в формате ransomware resilience - проверка конкретного сценария, который разворачивается прямо сейчас. И по моему опыту, вопрос не в том, есть ли у компании Purdue-модель на бумаге. Вопрос - остановится ли атакующий на Level 3 или пройдёт до контроллера за те же четыре часа, что и мы на assessment'е. Проверьте свой historian
nmap --script smb-vuln* -p 445 - если он отвечает на SMB без патчей, у вас та же проблема.
Последнее редактирование модератором: