
Moduli Metasploit, PoC in Python e laboratori Docker usa-e-getta per quattro CVE di piattaforma: Keycloak (CVE-2026-18963), Apache NiFi (CVE-2026-39816), HashiCorp Vault (CVE-2026-5006), HashiCorp Nomad (CVE-2026-7474).
Ricerca sulle vulnerabilità che ho condotto su quattro servizi di piattaforma ampiamente diffusi: Keycloak, Apache NiFi, HashiCorp Vault e HashiCorp Nomad. Per ogni scoperta questo repository contiene gli artefatti write-once che uso effettivamente, un modulo Metasploit dove aveva senso, un proof of concept Python autonomo e un piccolo laboratorio Docker che avvia solo il servizio vulnerabile così chiunque può riprodurre il bug senza doversi fidare della mia parola.
Niente qui è rivolto a un ambiente live. I laboratori sono container usa e getta sul tuo host.
| CVE | Componente | Classe | Affetto | Metasploit | PoC | Lab |
|---|---|---|---|---|---|---|
| CVE-2026-18963 | Keycloak | Account takeover tramite sticky-selector nel reset delle credenziali | < 26.7.2 | sì | sì | sì |
| CVE-2026-39816 | Apache NiFi | RCE Groovy tramite Tinkerpop / ExecuteGraphQuery aggirando il gate execute-code | 2.0.0-M1 .. 2.8.0 | sì | sì | sì |
| CVE-2026-5006 | HashiCorp Vault | Injection con slash nei metadati delle policy templated (HCSEC-2026-32) | <= 2.0.3 | sì | sì | sì |
| CVE-2026-7474 | HashiCorp Nomad | Path traversal tramite plugin_id dei volumi host dinamici fino a root (HCSEC-2026-15) | <= 2.0.0 | sì | sì |
metasploit-custom-modules/ Moduli Metasploit + documentazione dei moduli, nella normale struttura del framework
exploits/ un PoC Python autonomo per ogni CVE
docker-lab/ un laboratorio Docker usa e getta per ogni CVE, avvia solo il servizio vulnerabile
Ognuna di queste tre directory ha il proprio README con i dettagli. In breve:
~/.msf4). Tre moduli: l'account takeover di Keycloak, l'injection con slash nei metadati di Vault e
la RCE di NiFi.Scegli una CVE, avvia il suo laboratorio, lancia il PoC. Ad esempio, Keycloak:
cd docker-lab/keycloak-cve-2026-18963
docker compose up -d
cd ../..
python3 exploits/kc_ato_18963.py \
--base http://127.0.0.1:8080 --realm larkspur \
--victim j.okonkwo --newpass Chang3d-by-attacker!
Gli altri tre seguono lo stesso schema. Leggi prima il README di ciascun laboratorio: un paio di essi
richiedono --build e un minuto per il provisioning.
Tutte e quattro sono state segnalate ai rispettivi vendor e sono corrette nelle versioni indicate sopra.
Tutto ciò che è pubblicato qui funziona contro le immagini volutamente obsolete in docker-lab/.
Puntalo contro qualsiasi cosa che non possiedi e la responsabilità è tua.
MIT. Vedi LICENSE.