Шесть месяцев dwell time на пропатченном устройстве. Не на забытом в серверной хламе - на Firepower в федеральном ведомстве США. По данным CISA (advisory AR26-113A), компрометация произошла до сентября 2025 года. Патчи для CVE-2025-20333 и CVE-2025-20362 накатили, прошивку обновили, устройство перезагрузили - всё по процедуре. В марте 2026-го атакующие из UAT-4356 через бэкдор FIRESTARTER повторно развернули LINE VIPER. Без эксплуатации какой-либо уязвимости. Устройство считалось чистым.
Когда разбираешь механику загрузки ASA через Ghidra по lina-бинарю и руками ковыряешь CSP_MOUNT_LIST - причина на поверхности: graceful shutdown - тот самый момент, когда имплант перезаписывает загрузочную конфигурацию. А после boot восстанавливает её до чистого состояния. Элегантно и мерзко одновременно.
Разбираю, как FIRESTARTER закрепляется в LINA-процессе, манипулирует Cisco Service Platform и остаётся невидимым для штатного мониторинга.
Цепочка initial access: CVE-2025-20333 и CVE-2025-20362
UAT-4356 (она же Storm-1849, оператор кампании ArcaneDoor) использовала связку двух уязвимостей для проникновения на интернет-доступные Cisco Firepower и Secure Firewall. Обе затрагивают VPN web server в Cisco Secure Firewall ASA и FTD.CVE-2025-20333 - buffer overflow (CWE-120). CVSS 9.9 (Critical), вектор
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H. Нужны валидные VPN-учётные данные (PR:L), но при успешной эксплуатации - RCE с полным воздействием за пределами скоупа атакуемого компонента (S:C - Scope Changed). CISA SSVC: Act - патчить немедленно, technical impact: total, эксплуатация не автоматизируема. EPSS на май 2026: 0.2514, percentile 96.21% - top 5% по вероятности эксплуатации.CVE-2025-20362 - missing authorization (CWE-862). CVSS 6.5 (Medium), вектор
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N. Аутентификация не нужна (PR:N), автоматизируема (CISA SSVC: Automatable: yes). EPSS: 0.4408, percentile 97.56% - выше, чем у CVE-2025-20333, именно потому что credentials не требуются.Связка: CVE-2025-20362 обходит авторизацию без учётных данных, CVE-2025-20333 даёт RCE от root. Обе добавлены в CISA Known Exploited Vulnerabilities 25 сентября 2025 года с дедлайном для федеральных агентств - 26 сентября. Один день (Emergency Directive ED 25-03). Вектор атаки по MITRE ATT&CK - Exploit Public-Facing Application (T1190, Initial Access).
Затронутые устройства (по данным CSOnline): серии Firepower 1000, 2100, 4100, 9300, 1200, 3100, 4200; Secure Firewall 1200, 3100, 4200 - все с интернет-доступным WebVPN или management-интерфейсом, работающие на ASA или FTD.
[Применимо: внешний пентест, устройства с exposed WebVPN/ASDM до установки патчей сентября 2025. На устройствах без WebVPN/management на внешнем интерфейсе - вектор не работает]
После получения root-доступа UAT-4356 разворачивала LINE VIPER - user-mode shellcode loader, перехватывающий механизмы аутентификации устройства (Network Device Authentication - T1556.004). Через LINE VIPER операторы создавали нелегитимные VPN-сессии, собирали конфигурацию, административные учётные данные, сертификаты и приватные ключи. Дальше на устройство ставился FIRESTARTER - основной механизм персистентности. По данным HivePro, на legacy-устройствах дополнительно разворачивался буткит RayInitiator - persistence на уровне ROMMON (ROMMONkit, T1542.004).
Персистентный бэкдор Cisco ASA: как FIRESTARTER живёт внутри LINA
FIRESTARTER - Linux ELF-бинарник, заточенный под работу внутри LINA-процесса. LINA - ядро Cisco ASA: инспекция пакетов, VPN-сервисы, enforcement firewall-правил. Когда разбираешьlina через Binwalk и Ghidra, видно, что это монолитный бинарь с собственной диспетчеризацией событий. Идеальная среда для имплантации: любая модификация изнутри невидима для высокоуровневых диагностических команд ASA.show version показывает штатную версию прошивки. show running-config - тишина. Syslog - тоже тишина. FIRESTARTER хранит копию в /opt/cisco/platform/logs/var/log/svc_samcore.log (имя маскируется под штатный лог платформы), а исполняемый бинарь запускается из /usr/bin/lina_cs. Два файловых артефакта - единственные IOC на диске. Негусто для охоты.Манипуляция CSP_MOUNT_LIST: выживание малвари после патча
🔓 Часть контента скрыта: Эксклюзивный контент для зарегистрированных пользователей.
Ключевой механизм персистентности - модификация Cisco Service Platform mount list по пути
Алгоритм FIRESTARTER при graceful shutdown:
Именно поэтому обновление прошивки не помогает: при firmware upgrade устройство выполняет graceful shutdown, FIRESTARTER перехватывает SIGTERM, сохраняется, прописывает автозапуск - и после загрузки на новой прошивке имплант снова активен. Патч закрыл дверь, а гость уже внутри.
/opt/cisco/config/platform/rmdb/CSP_MOUNT_LIST (по данным HivePro). Этот файл определяет, какие компоненты монтируются и запускаются при загрузке ASA/FTD.Алгоритм FIRESTARTER при graceful shutdown:
- Перехватывает сигнал завершения (SIGTERM или SIGHUP) через зарегистрированные callback-функции
- Копирует себя из
/usr/bin/lina_csв резервную локацию/opt/cisco/platform/logs/var/log/svc_samcore.log - Перезаписывает CSP_MOUNT_LIST, добавляя запись для автозапуска бинаря при следующем boot
- После загрузки системы - восстанавливает оригинальный CSP_MOUNT_LIST, убирая следы модификации
Именно поэтому обновление прошивки не помогает: при firmware upgrade устройство выполняет graceful shutdown, FIRESTARTER перехватывает SIGTERM, сохраняется, прописывает автозапуск - и после загрузки на новой прошивке имплант снова активен. Патч закрыл дверь, а гость уже внутри.
[Контекст: CSP_MOUNT_LIST - механизм, специфичный для Firepower/Secure Firewall на FXOS. На legacy ASA 5500-X без FXOS этот вектор не работает - там UAT-4356 использовала RayInitiator для persistence через ROMMON]
Перехват сигналов и закрепление в системе firewall
По данным CISA и анализу CSOnline, FIRESTARTER регистрирует handler'ы на SIGTERM и SIGHUP. Администратор пытается завершить процесс черезkill или устройство получает reload - бэкдор перехватывает сигнал, выполняет процедуру самосохранения и перезапускается.Дополнительно FIRESTARTER:
- Хукает C++ standard library внутри виртуальной памяти LINA-engine, перехватывая обработку WebVPN-запросов
- Заменяет легитимные XML-обработчики WebVPN на модифицированные (Web Shell - T1505.003)
- Применяет time stomping для маскировки временных меток файлов на диске
- Перенаправляет stderr в
/dev/nullдля подавления ошибок
lina_cs работает в фоне, не генерирует логов, не создаёт сетевых аномалий, невидим для стандартной диагностики ASA. Rootkit-уровень сокрытия (T1014) без модификации ядра - за счёт работы внутри доверенного процесса. Зачем ломать ядро, если можно поселиться в процессе, которому все доверяют?Dormant mode: C2 без сетевых аномалий
Вот что отличает FIRESTARTER от типичной малвари на сетевых устройствах - полное отсутствие beaconing. В dormant state: ноль исходящего трафика, ноль логов, ноль поведенческих аномалий. Тишина.Активация - через crafted WebVPN authentication request с «magic packet». Модифицированный WebVPN handler проверяет входящий запрос на наличие жёстко закодированных magic bytes. Есть совпадение - парсит embedded XML-based shellcode и выполняет payload оператора (обычно повторное развёртывание LINE VIPER для hands-on-keyboard операций). Нет совпадения - запрос передаётся штатному обработчику. Легитимные пользователи WebVPN ничего не замечают.
По ATT&CK - Traffic Signaling: Port Knocking (T1205.001): активация импланта через специфический паттерн в трафике.
Критический момент: этот путь ре-входа не требует эксплуатации CVE. Полностью пропатченное устройство, скомпрометированное до окна патчей, остаётся доступным бессрочно через magic packet. По данным CISA, подтверждённый dwell time в одной организации - более шести месяцев. IBM X-Force фиксирует среднее время от публикации CVE до устранения в организации - 29 месяцев. Для CVE-2025-20333 и CVE-2025-20362 CISA дала один день. Разрыв между реальностью и ожиданиями - на два порядка. Двадцать девять месяцев против одного дня. Задумайтесь.
Детекция FIRESTARTER: CLI, YARA, анализ памяти
Требования к окружению для диагностики
- Доступ: enable-mode к CLI устройства (ASA mode) или SSH с правами admin
- Для YARA: рабочая станция Linux/macOS,
yara>= 4.x, disk image устройства или core dump - Для анализа памяти: Volatility 3, профиль для Linux (FXOS - Linux-based), на станции аналитика >= 8 ГБ RAM
- Устройство изолировать до начала форензики. Reboot или shutdown без предварительного сбора доказательств могут активировать процедуру самосохранения FIRESTARTER и уничтожить volatile-артефакты. Сначала дамп - потом действия.
Код:
ciscoasa# show kernel process | include lina_cs
lina_cs отсутствует.Файловые IOC для проверки через shell-доступ (expert mode на FTD, root shell на ASA):
Код:
ls -la /usr/bin/lina_cs
ls -la /opt/cisco/platform/logs/var/log/svc_samcore.log
grep -i lina /opt/cisco/config/platform/rmdb/CSP_MOUNT_LIST
На non-lockdown FTD можно временно остановить
lina_cs - но это не ремедиация, а containment. Полное удаление требует reimage.[Ограничение:
show kernel process доступна только в ASA mode. На FTD в native mode - доступ через expert mode или FMC. В lockdown mode прямой shell недоступен - нужен core dump. IDS/IPS типа Snort/Suricata не детектируют dormant FIRESTARTER, потому что в спящем состоянии нет трафика для инспекции]Лабораторная среда для воспроизведения
Требования к окружению
- Виртуализация: EVE-NG Professional или GNS3 >= 2.2 с поддержкой ASAv/FTDv
- Образ: Cisco ASAv 9.x (уязвимая версия, до патчей сентября 2025) или FTDv с FXOS
- Хост: минимум 16 ГБ RAM (ASAv - 2 ГБ RAM, 1 vCPU; плюс хостовая ОС и инструменты анализа), 4 vCPU, 50 ГБ свободного места на SSD
- Анализ: Ghidra >= 11.0 или IDA Pro для разбора lina-бинаря, Binwalk для образов прошивки, Volatility 3 для memory dumps
- Сеть: изолированный виртуальный сегмент, WebVPN настроен и доступен с хоста атакующего. Никакого NAT наружу
Подход к лабораторному разбору persistence-механизма (без эксплуатации CVE):
- Разворачиваем ASAv в EVE-NG, настраиваем WebVPN на внешнем интерфейсе
- Через expert mode изучаем структуру CSP_MOUNT_LIST на чистом устройстве - фиксируем штатные записи, формат, порядок монтирования при boot
- Извлекаем lina-бинарь (
/asa/bin/lina), анализируем через Ghidra: ищем обработчики WebVPN XML-запросов, смотрим диспетчеризацию в секции.text - Моделируем persistence: создаём тестовый ELF с signal handler на SIGTERM, прописываем его в CSP_MOUNT_LIST, выполняем
reload- проверяем автозапуск - Тестируем hard power cycle: отключаем VM, запускаем - убеждаемся, что CSP_MOUNT_LIST не модифицирован, тестовый бинарь не запущен
Ограничения техники и что ломает персистентность
Что НЕ удаляет Cisco ASA бэкдор FIRESTARTER:- Установка патчей - закрывает initial access (CVE-2025-20333, CVE-2025-20362), но не трогает уже установленный имплант
- Обновление прошивки - CSP_MOUNT_LIST модифицируется при graceful shutdown, имплант восстанавливается
- Graceful reboot (
reload) - SIGTERM перехватывается, бэкдор сохраняет себя - Остановка процесса (
kill) - временная мера, перезапуск через signal handler
- Hard power cycle - физическое отключение от ВСЕХ источников питания (включая резервные, UPS) минимум на 60 секунд. Graceful shutdown не происходит, signal handler не срабатывает, CSP_MOUNT_LIST не модифицируется. CISA предупреждает: возможна коррупция базы данных и проблемы с загрузкой. Грубо, но работает.
- Полный reimage - единственный рекомендованный Cisco метод. Стирает flash, устанавливает чистый образ. Именно это советует Cisco Talos.
| Условие | Действие |
|---|---|
| Устройство было internet-facing с WebVPN до сентября 2025 | Высокий риск - выполнить проверку IOC |
|
Код:
| Скомпрометировано - изолировать, собрать core dump, reimage |
Файлы /usr/bin/lina_cs или svc_samcore.log найдены | Скомпрометировано - reimage |
| IOC не обнаружены, но устройство было exposed | Низкий-средний риск - мониторить, рассмотреть reimage превентивно |
| Устройство не было доступно извне | Низкий риск - штатный патчинг |
Отдельная рекомендация CSOnline по усилению управления: переход на TACACS+ через TLS 1.3 для аутентификации на сетевых устройствах и строгий аудит legacy-аккаунтов, которые часто становятся path of least resistance для lateral movement.
Маппинг на MITRE ATT&CK
| Этап | Техника ATT&CK | Роль в цепочке FIRESTARTER |
|---|---|---|
| Initial Access | Exploit Public-Facing Application (T1190) | CVE-2025-20333 + CVE-2025-20362 через WebVPN |
| Persistence | Web Shell (T1505.003) | Модификация WebVPN XML handler'ов |
| Persistence | ROMMONkit (T1542.004) | RayInitiator на legacy-устройствах |
| Defense Evasion | Patch System Image (T1601.001) | Транзиентная модификация CSP_MOUNT_LIST |
| Defense Evasion | Indicator Removal (T1070) | Восстановление CSP_MOUNT_LIST после boot, time stomping |
| Defense Evasion | Rootkit (T1014) | Скрытие от штатных диагностических команд |
| C2 | Port Knocking (T1205.001) | Magic packet через WebVPN для активации |
| Credential Access | Network Device Authentication (T1556.004) | LINE VIPER: сбор кредов, сертификатов, ключей |
Это набор техник state-sponsored группы с глубоким знанием internal'ов Cisco ASA. По данным NCSC-UK (бюллетень «Defending against China-nexus covert networks of compromised devices» от 23 апреля 2026 - тот же день, что публикация FIRESTARTER MAR), кампания вписывается в устойчивый тренд: China-nexus группы целенаправленно бьют по периметровым сетевым устройствам. CrowdStrike в Global Threat Report 2025 фиксирует рост активности China-nexus adversaries на 150% за 2024 год, а 79% атак в целом проходят без malware-файлов на диске. FIRESTARTER с его fileless execution через LINA - прямая иллюстрация.
Формулировка «пропатчил - значит защищён» для сетевых устройств больше не работает. FIRESTARTER доказал это не в теории: шесть месяцев на пропатченном Firepower - задокументированный факт из advisory CISA AR26-113A. Я разбираю прошивки Cisco не первый год, и CSP_MOUNT_LIST - далеко не единственная точка закрепления, которую можно эксплуатировать на FXOS. Механизм TCL-скриптов в startup-config, модификация EEM-applet'ов, подмена бинарей в
/asa/scripts/ - всё это потенциальные вектора persistence, пока не засвеченные в public advisories. После любого инцидента на периметровом устройстве нужен не патч и даже не graceful reimage, а полная ревизия загрузочной цепочки - от ROMMON до userspace. Организации, которые ограничиваются
reload и считают вопрос закрытым, рискуют повторить сценарий того федерального ведомства. Тренд понятен: APT-группы вкладываются в persistence на edge-устройствах именно потому, что там слепая зона - ни EDR, ни SIEM, ни стандартная процедура IR не покрывают FXOS на уровне, достаточном для обнаружения транзиентных модификаций загрузочных конфигураций. Если хочешь повторить анализ CSP_MOUNT_LIST и разобрать поведение LINA при shutdown в контролируемой инфре - на HackerLab есть задачи по сетевым устройствам, где эти механизмы можно пощупать без последствий.