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
Cluster-Chaos-Exploiting-CVE-2025-59359-for-Kubernetes-Takeover — Una guida forense pratica di CVE-2025-59359, una critica vulnerabilità di iniezione di comandi del sistema operativo in Chaos-Mesh. Scopri come gli attaccanti dirottano i cluster Kubernetes tramite mutazioni GraphQL e come rilevare, analizzare e segnalare la violazione utilizzando ELK. | Kitploit
Strumenti/GitHubGitHub/mrk336/cluster-chaos-exploiting-cve-2025-59359-for-kubernetes-takeover
Escalation di PrivilegiSicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitMovimento LateraleInformatica ForenseSicurezza CloudCommand and ControlApprendimento e Formazione

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 →
Risposta agli Incidenti
Analisi dei Log
GitHubmrk336/cluster-chaos-exploiting-cve-2025-59359-for-kubernetes-takeover

Cluster-Chaos-Exploiting-CVE-2025-59359-for-Kubernetes-Takeover

Vedi Repository
11 mesi faNon ancora revisionato

Informazioni

Una guida forense pratica di CVE-2025-59359, una critica vulnerabilità di iniezione di comandi del sistema operativo in Chaos-Mesh. Scopri come gli attaccanti dirottano i cluster Kubernetes tramite mutazioni GraphQL e come rilevare, analizzare e segnalare la violazione utilizzando ELK.

Condividi

Cluster-Chaos-Sfruttamento-di-CVE-2025-59359-per-la-conquista-di-Kubernetes

Un walkthrough forense pratico di CVE-2025-59359, una vulnerabilità critica di OS command injection in Chaos-Mesh. Impara come gli attaccanti possono dirottare i cluster Kubernetes tramite mutazioni GraphQL, e come rilevare, analizzare e segnalare la violazione utilizzando ELK.

Di Mark Mallia


Riepilogo Esecutivo

CVE-2025-59359 espone una vulnerabilità critica di OS command injection nel Controller Manager di Chaos-Mesh. Questa vulnerabilità consente agli attaccanti di eseguire comandi shell arbitrari su tutti i pod Kubernetes, portando potenzialmente al completo compromesso del cluster. Questo articolo simula l'exploit, ne mappa l'impronta forense e delinea le strategie di rilevamento e mitigazione rilevanti sia per i team tecnici che per le parti interessate esecutive.


Perché questa CVE si distingue

Nel mondo in continua evoluzione della sicurezza di Kubernetes, CVE-2025-59359 si distingue come un duro promemoria di come un singolo input trascurato possa scompigliare un intero cluster. Questa vulnerabilità critica (CVSS 9.8) colpisce il Controller Manager di Chaos-Mesh, dove i parametri forniti dall'utente vengono sconsideratamente concatenati in comandi shell senza alcun controllo o sanificazione. Il risultato? Un attaccante non autenticato all'interno del cluster può eseguire comandi arbitrari su tutti i pod, ottenendo il controllo completo con allarmante facilità. È un caso da manuale di escalation dei privilegi tramite command injection, e un potente esempio del perché i comandamenti di codifica sicura negli ambienti cloud-native siano importanti.


Analisi Tecnica

La vulnerabilità risiede all'interno della mutazione cleanTcs. Questa mutazione pulisce le impostazioni di Linux traffic control (TC) dopo gli esperimenti di chaos e accetta parametri forniti dall'utente dalle specifiche degli esperimenti.
Quando un attaccante fornisce un valore appositamente modificato per quei parametri, il comando shell risultante viene costruito tramite concatenazione di stringhe. Non vengono eseguiti controlli difensivi prima che questo comando venga eseguito con i privilegi del Controller Manager, il che significa che un utente non autenticato può iniettare comandi arbitrari in qualsiasi pod o namespace controllato dal cluster.

Di seguito è riportato un estratto del codice sorgente della mutazione (mostrato nel contesto della sua implementazione Go).

root@kitploit:~
// cleanTcsMutation.go
func executeCleanTcs(ctx context.Context, payload Payload) error {
    // Build command string using user input directly
    cmd := fmt.Sprintf(
        "tc qdisc add dev %s root handle 1: htb rate %s ceil %s",
        payload.Device,
        payload.Rate,
        payload.Ceil,
    )
    log.Debugf("Running command: %s", cmd)
    if err := ctx.RunCommand(cmd); err != nil {
        return fmt.Errorf("tc clean mutation failed: %w", err)
    }
    return nil
}
  • La mutazione accetta tre parametri—Device, Rate e Ceil.
  • Questi vengono concatenati nella stringa di comando senza alcuna fase di sanificazione.
  • La chiamata shell risultante viene eseguita con i privilegi del Chaos Controller Manager, che tipicamente ha accesso a tutti i pod in ogni namespace.

Come un Attaccante Può Sfruttarla

Immagina un cluster Kubernetes che esegue Chaos-Mesh, dove un attaccante crea una specifica di esperimento apparentemente innocua. Ma invece di regolare il traffic control, inseriscono un payload come ; rm -rf /tmp in campi come Device, Rate o Ceil. Una volta inviato tramite UI o API, la mutazione costruisce ed esegue ciecamente il comando—nessuna sanificazione, nessuna protezione. E poiché viene eseguito con i privilegi del controller-manager, il codice iniettato si diffonde attraverso i pod come un incendio. Peggio ancora, se l'attaccante sfrutta anche CVE-2025-59358 per accedere all'endpoint GraphQL senza autenticazione, non ha nemmeno bisogno di credenziali.

Se sfruttata in produzione, CVE-2025-59359 potrebbe consentire agli attaccanti di interrompere i servizi, accedere a carichi di lavoro sensibili e spostarsi attraverso i namespace—ponendo un rischio materiale per la continuità aziendale e la conformità normativa. Le organizzazioni che utilizzano Chaos-Mesh dovrebbero dare priorità alla correzione delle patch, all'applicazione del RBAC e al controllo degli endpoint GraphQL.


Mappatura MITRE ATT&CK

TatticaTecnica
EsecuzioneT1059 – Comando e Interprete di Scripting
Escalation dei PrivilegiT1068 – Sfruttamento per l'Escalation dei Privilegi
Movimento LateraleT1021 – Servizi Remoti

Strategie di Rilevamento

  • Azione Immediata: Rivedi la tua politica sulla gestione degli input utente nella mutazione cleanTcs.
  • Consiglio di Mitigazione: Aggiungi una fase di sanificazione prima di costruire la stringa di comando shell, oppure passa a una query parametrizzata che eviti del tutto la concatenazione.
  • Piano a Lungo Termine: Considera l'implementazione di controlli di accesso basati sui ruoli per il Chaos Controller Manager in modo che solo gli utenti autorizzati possano inviare specifiche di esperimenti.

Configurazione della Pipeline Logstash

Crea un file logstash-tcs.conf nella tua directory di configurazione di Logstash.

root@kitploit:~

input {
  beats {
    port => 5044
    codec => "json"
  }
}

filter {
  # The Python script will be referenced here.
  python {
    code => "/opt/elk/python/process_tcs.py"
    add_field => { "[tcs]" => "%{[message][device]}-%{[message][rate]}-%{[message][ceil]}" }
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "chaos-tcs"
    document_type => "experiment"
    codec => "json"
  }
}

### Script di Filtro Python – process_tcs.py

root@kitploit:~
#!/usr/bin/python3

def process(event):
    """
    Transforms the raw event from Logstash into a JSON document suitable for Elasticsearch.
    Expected input format (example):

      {
        "message": {
          "device": "eth0",
          "rate":   "100mbit/s",
          "ceil":   "200mbit/s",
          "timestamp": "2025‑09‑18T14:33:00Z"
        }
      }

    The script extracts the three key values, normalises them and returns a dictionary.
    """
    # 1. Grab nested fields
    device = event.get("message", {}).get("device", "")
    rate   = event.get("message", {}).get("rate", "")
    ceil   = event.get("message", {}).get("ceil", "")

    # 2. Normalise numeric values – remove unit suffixes and cast to float.
    def strip_unit(val, unit):
        return float(val.replace(unit, "").strip())

    rate_val = strip_unit(rate, "mbit/s")
    ceil_val = strip_unit(ceil, "mbit/s")

    # 3. Build output dict
    result = {
        "device": device,
        "rate_mbit_s": rate_val,
        "ceil_mbit_s": ceil_val,
        "ts": event.get("message", {}).get("timestamp", ""),
        "tcs_id": f"{device}-{rate_val}-{ceil_val}"
    }

    # 4. Return the dict
    return result

### Mappatura dell'Indice Elasticsearch

Crea un file di mapping chaos-tcs-mapping.json:

root@kitploit:~
{
  "mappings": {
    "_doc": {
      "properties": {
        "device":      { "type": "keyword" },
        "rate_mbit_s":{ "type":"float"   },
        "ceil_mbit_s":{ "type":"float"   },
        "ts":          { "type":"date",  "format":"yyyy-MM-dd'T'HH:mm:ssZ"},
        "tcs_id":      { "type":"keyword" }
      }
    }
  }
}

 Dashboard Kibana – “Panoramica Command Injection”

Per visualizzare l'impatto di CVE-2025-59359 in tempo reale, la dashboard offre tre pannelli chiave che trasformano i dati grezzi degli esperimenti chaos in informazioni utili. La Linea Temporale traccia rate_mbit_s per pod, aggregata per namespace, aiutando i team a individuare anomalie nella modellazione del traffico attraverso il cluster. L'Istogramma mostra il volume di esperimenti per ora e attiva avvisi quando il tasso supera 1,5× la media, rivelando potenziali abusi o schemi di attacco automatizzati. Infine, la Tabella di Filtro elenca ogni tcs_id con il suo stato di esecuzione e flag di successo, consentendo agli investigatori di isolare rapidamente esecuzioni fallite o sospette. Insieme, questi pannelli formano una lente forense su come la command injection si svolge negli ambienti Kubernetes.

Aggiungi una semplice regola di avviso:

root@kitploit:~
PUT /chaos-tcs/_settings
{
  "number_of_shards": 2,
  "number_of_replicas": 1
}

Crea una pipeline di ingest che utilizzi lo script Python sopra, quindi configura un avviso Kibana per attivarsi quando rate_mbit_s si discosta di oltre il 15 % dalla sua media mobile su 24 ore.


### Checklist di Distribuzione


Conclusione

CVE-2025-59359 non è solo un'altra riga in un database di vulnerabilità; è un esempio vivido di come una sanificazione degli input trascurata possa compromettere la sicurezza di un intero cluster Kubernetes. Attraverso questo exploit, abbiamo visto come una singola mutazione in Chaos-Mesh possa diventare un gateway per l'esecuzione remota di codice, l'escalation dei privilegi e il completo compromesso dei pod. Ma ancora più importante, abbiamo mostrato come osservabilità, strumenti forensi e logica di rilevamento ponderata possano trasformare il caos in chiarezza.

Questo progetto è inteso esclusivamente per uso educativo ed etico. Tutte le dimostrazioni, simulazioni e walkthrough forensi sono progettate per aumentare la consapevolezza delle vulnerabilità del mondo reale e promuovere la codifica sicura, la divulgazione responsabile e strategie di difesa proattive. In nessun caso le tecniche o le informazioni qui presentate dovrebbero essere utilizzate per compromettere, interrompere o sfruttare sistemi live senza autorizzazione esplicita.

Scarica lo strumento
ImpattoT1499 – Denial of Service degli Endpoint
ElementoAzione
Servizio LogstashAssicurati che l'input beats sia in ascolto sulla porta 5044.
Permessi script Python/opt/elk/python/process_tcs.py deve essere eseguibile (chmod +x).
Indice ElasticsearchPUT /chaos‑tcs/_mapping con il file di mapping.
Dashboard KibanaImporta la definizione JSON e salvala come Command‑Injection Overview.
Gruppo di sicurezzaConsenti il traffico sulla porta 5044 dai tuoi nodi Kubernetes.
MonitoraggioAggiungi un cron job per eseguire curl -s http://localhost:9200/_cat/indices?v ogni 5 minuti per confermare lo stato dell'indice.