Исследователь в перчатках склонился над разобранным сетевым устройством Cisco ASA в ночной лаборатории. Диагностический монитор отображает красный текст с кодом уязвимости и шестнадцатеричный дамп...


Шесть месяцев 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: выживание малвари после патча​

🔓 Часть контента скрыта: Эксклюзивный контент для зарегистрированных пользователей.


[Контекст: 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-артефакты. Сначала дамп - потом действия.
Первичная проверка - одна команда на CLI:
Код:
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
Наличие любого из файлов - повод для немедленного реагирования. CISA опубликовала два YARA-правила для обнаружения FIRESTARTER в disk images и memory dumps.

На 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 наружу
Воспроизведение полной цепочки - только в рамках авторизованного исследования. PoC-код для CVE-2025-20333 и CVE-2025-20362 публично не доступен на момент написания.

Подход к лабораторному разбору persistence-механизма (без эксплуатации CVE):
  1. Разворачиваем ASAv в EVE-NG, настраиваем WebVPN на внешнем интерфейсе
  2. Через expert mode изучаем структуру CSP_MOUNT_LIST на чистом устройстве - фиксируем штатные записи, формат, порядок монтирования при boot
  3. Извлекаем lina-бинарь (/asa/bin/lina), анализируем через Ghidra: ищем обработчики WebVPN XML-запросов, смотрим диспетчеризацию в секции .text
  4. Моделируем persistence: создаём тестовый ELF с signal handler на SIGTERM, прописываем его в CSP_MOUNT_LIST, выполняем reload - проверяем автозапуск
  5. Тестируем hard power cycle: отключаем VM, запускаем - убеждаемся, что CSP_MOUNT_LIST не модифицирован, тестовый бинарь не запущен
Ценность лабы не в воспроизведении эксплойта, а в понимании, как CSP_MOUNT_LIST взаимодействует с жизненным циклом процессов при graceful vs hard shutdown. Это знание напрямую транслируется в forensic-проверки на production. Потренировавшись «на кошках» в EVE-NG, потом на живом железе будешь знать, что искать.

Ограничения техники и что ломает персистентность​

Что НЕ удаляет 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.
Decision tree при подозрении на компрометацию:

УсловиеДействие
Устройство было internet-facing с WebVPN до сентября 2025Высокий риск - выполнить проверку IOC
Код:
show kernel process \[/TD]
 [TD]include lina_cs
даёт вывод
Скомпрометировано - изолировать, собрать 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 AccessExploit Public-Facing Application (T1190)CVE-2025-20333 + CVE-2025-20362 через WebVPN
PersistenceWeb Shell (T1505.003)Модификация WebVPN XML handler'ов
PersistenceROMMONkit (T1542.004)RayInitiator на legacy-устройствах
Defense EvasionPatch System Image (T1601.001)Транзиентная модификация CSP_MOUNT_LIST
Defense EvasionIndicator Removal (T1070)Восстановление CSP_MOUNT_LIST после boot, time stomping
Defense EvasionRootkit (T1014)Скрытие от штатных диагностических команд
C2Port Knocking (T1205.001)Magic packet через WebVPN для активации
Credential AccessNetwork 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 есть задачи по сетевым устройствам, где эти механизмы можно пощупать без последствий.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab