Технический анализ: угрозы шлюза Cisco ASA и векторы атак WebVPN

Резюме
Наличие логов с указанием путей, таких как /+CSCOL+/ или /+CSCOE+/ , за которыми следуют файлы вроде a1.jar или transfer.js , указывает на активность, направленную специально на шлюзы Cisco Adaptive Security Appliance (ASA ) и Firepower Threat Defense (FTD).
Эти индикаторы не являются случайными ошибками, а указывают на два различных вектора:
- Эксплуатация известных уязвимостей WebVPN (таких как CVE-2020-3452), которые стремятся читать конфиденциальные файлы через переходы по каталогам.
- Выполнение кода или отравление кэшом пытаются внедрить вредоносные полезные нагрузки (JS-скрипты или Java-апплеты) для компрометации удалённых пользовательских сессий.
В статье ниже подробно описаны механизмы этих атак, их техническое значение и требуемые стратегии защиты.
Анатомия атаки через VPN-шлюз
Оборудование безопасности периметра, особенно VPN-концентраторы , такие как Cisco ASA, является основной целью. Они становятся публично раскрытыми по необходимости и ведут критически важные аутентифицированные сессии. Понимание логов требует понимания виртуальной архитектуры этих коробок.
Декодирование «виртуальных» путей
На устройстве Cisco ASA с возможностями Clientless SSL VPN ( WebVPN ) или AnyConnect, система открывает виртуальные каталоги, которые физически не существуют на обычном жёстком диске, но отображаются прошивкой:
- /+CSCOE+/ (Cisco Secure Encrypted): Этот путь используется для обслуживания статических ресурсов портала аутентификации (логотипы, logon.html скрипты входа win.js скрипты обнаружения). Это «публичная» зона перед полной аутентификацией.
- /+CSCOL+/ (Cisco Secure Legacy/Launch): Часто ассоциируется с устаревшими компонентами или запусками Java-апплетов для клиентских VPN-туннелей.
Когда вы видите эти префиксы в логах, злоумышленник не угадает URL; он знает , что вы используете оборудование Cisco, и пытается взаимодействовать с внутренними механизмами портала.
Вектор 1: артефакт Java (a1.jar) и безклиентное наследование
Запрос /+CSCOL+/a1.jar является симптомом атак, нацеленных на технологии Java Web Start или устаревшие Java-апплеты , используемые в старых версиях WebVPN.
Механизм
Исторически, чтобы создать VPN-туннель без установки толстого клиента (AnyConnect), портал WebVPN загружал в браузер пользователя Java-апплет (часто называемый cs.jar или подобным).
- Узнаваемость и фуззинг: Злоумышленник пытается скачать этот .jar файл, чтобы провести реверс-инжиниринг и определить точную версию прошивки ASA.
- Вредоносная нагрузка (a1.jar): В оскорбительной ситуации a1.jar не является легитимным файлом Cisco. Это часто является стандартным названием «дроппера », генерируемого Java-наборами эксплойтов. Злоумышленник пытается заставить браузер жертвы или Java-плагин (если он посетит скомпрометированную страницу, передаваемую VPN) выполнить этот код.
- Цель: Выполните произвольный код (RCE) на клиенте через VPN-туннель или на сервере, если на стороне шлюза присутствует уязвимость десериализации Java .
Диагноз: Если этот файл запрашивается с вашего сервера, часто это автоматический сканер, который проверяет, позволяет ли ваш шлюз скачивать или выполнять неподписанный или уязвимый Java-код.
Vector 2: атаки на десинхронизацию transfer.js и браузера
Наличие /+CSCOE+/transfer.js более тонкое и потенциально опасное, поскольку оно влияет на современные атаки, такие как контрабанда HTTP-запросов и отравление кэша.
Контекст: уязвимость win.js
Исследователи безопасности (включая PortSwigger) показали, что порталы Cisco WebVPN можно управлять с помощью статических JavaScript-файлов, таких как /+CSCOE+/win.js.
Сценарий атаки transfer.js
Вызов файла с именем transfer.js в этой папке намекает на попытку использовать логику переписки URL WebVPN:
- Отравление лункой: Злоумышленник отправляет искажённый HTTP-запрос (Request Smuggling) на шлюз.
- Десинхронизация: Шлюз «смешивает» запрос нападающего с запросом следующей жертвы.
- Вредоносное перенаправление: Когда легитимная жертва подключается к VPN, её браузер запрашивает скрипт (например, win.js или встроенный кастомный скрипт под названием transfer.js). Из-за десинхронизации шлюз не возвращает легитимный скрипт Cisco, а перенаправляет на сервер, контролируемый злоумышленником.
- Время выполнения XSS: Браузер жертвы запускает вредоносный скрипт в контексте безопасности VPN-домена (vpn.votre-entreprise.com). Злоумышленник может украсть сессионные cookie (cookie webvpn) и проникнуть в сеть.
Связанные уязвимости (CVE)
Эти логи часто являются следами сканеров, стремящихся воспользоваться конкретными дефектами:
CVE-2020-3452 (проход только по пути чтения)
Это разлом королевы, связанный с этими путями. Он позволяет неаутентифицированному злоумышленнику читать файлы в файловой системе WebVPN с помощью последовательностей, таких как +CSCOT+ или +CSCOE+.
- Пример запроса: ПОЛУЧИТЕ /+CSCOE+/+/.. /+/.. /+/.. /+CSCOE+/portal_inc.lua
- Риск: Утечка конфигурации, кража сессионных файлов cookie у других авторизованных пользователей.
CVE-2018-0296 (DoS и раскрытие информации)
Позволяет вывести ASA или списать авторизованных пользователей, манипулируя путями /+CSCOE+/.
Стратегическое и операционное воздействие
Если эти атаки окажутся успешными, последствия выходят за рамки простого повреждения сайта:
- Компромисс по периметру: ASA — это шлюз к сети. Кража сессии позволяет злоумышленнику обойти MFA (поскольку сессионный cookie уже проверен) и получить доступ к внутренним ресурсам.
- Кража интеллектуальной собственности: С помощью CVE-2020-3452 можно извлекать конфигурационные файлы, содержащие информацию о внутренней архитектуре.
- Атаки со стороны клиента (водоём ): Изменяя JS, обслуживаемый VPN, злоумышленник заражает рабочие станции всех сотрудников, подключающихся к удалённой работе.
Руководство по устранению и защите
Для защиты от этих угроз необходим глубокий подход.
1. Ужесточение конфигурации ASA
- Немедленное обновление: Наносите последние пластыри Cisco. Недостатки CVE-2020-3452 и CVE-2018-0296 были исправлены уже давно.
- Отключение VPN без клиента: Если вы используете только толстый клиент AnyConnect, полностью отключите портал «Clientless SSL VPN», который является основной поверхностью атаки этих векторов. Команда: нет webvpn (или отключите её для каждого профиля группы).
2. Фильтрация и WAF
- Блокировка подозрительных артефактов: Настройте ваш Web Application Firewall ( WAF) или IPS так, чтобы строго блокировать любой запрос с .jar, если у вас нет явных бизнес-потребностей в Java на портале.
- Правила дезинфекции: Блокировать последовательности обхода каталогов (.., %2nd%2e, +/) в URL, ориентированных на /+CSCOE+ и /+CSCOL+.
3. Наблюдение (охота за угрозами)
- Анализ журнала: Ищите коды HTTP 200 OK , связанные с этими странными запросами.
- 404 Не найден: Хороший знак, нападающий уходит в пустоту.
- 200 OK на a1.jar или transfer.js: Критическое предупреждение, немедленно проверьте предоставленный контент.
- Корреляция: Проверьте, инициировал ли IP-адрес, который отсканировал эти файлы, успешно инициировал VPN-соединение (вход успешен).
Заключение
Запросы к /+CSCOL+/a1.jar и /+CSCOE+/transfer.js — это признаки враждебной разведки, стремящейся превратить ваш защитный шлюз в точку уязвимости. Будь то автоматические сканеры («скрипт-киди») или предшественники сложной контрабандной атаки по запросам, они требуют постоянной бдительности и строгой политики обновления периметра.