Caccia alle debolezze di sicurezza nei cluster Kubernetes
kube-hunter non è più in sviluppo attivo. Se sei interessato a scansionare cluster Kubernetes per vulnerabilità note, ti consigliamo di utilizzare Trivy. In particolare, la scansione di configurazioni errate di Kubernetes e la scansione delle vulnerabilità KBOM di Trivy. Scopri di più nella Documentazione di Trivy.
kube-hunter caccia punti deboli di sicurezza nei cluster Kubernetes. Lo strumento è stato sviluppato per aumentare la consapevolezza e la visibilità dei problemi di sicurezza negli ambienti Kubernetes. Non dovresti eseguire kube-hunter su un cluster Kubernetes che non possiedi!
Esegui kube-hunter: kube-hunter è disponibile come container (aquasec/kube-hunter) e offriamo anche un sito web a kube-hunter.aquasec.com dove puoi registrarti online per ricevere un token che ti permette di visualizzare e condividere i risultati online. Puoi anche eseguire il codice Python da solo come descritto di seguito.
Esplora vulnerabilità: La knowledge base di kube-hunter include articoli su vulnerabilità e problemi rilevabili. Quando kube-hunter segnala un problema, mostra il suo VID (ID di vulnerabilità) in modo da poterlo cercare nella KB all'indirizzo https://aquasecurity.github.io/kube-hunter/
Se sei interessato all'integrazione di kube-hunter con la matrice ATT&CK di Kubernetes Continua a leggere
kube-hunter ora supporta il nuovo formato della matrice ATT&CK di Kubernetes. Mentre le vulnerabilità di kube-hunter sono una raccolta di tecniche creative progettate per imitare un attaccante nel cluster (o all'esterno) La ATT&CK di Mitre definisce categorie più generali e standardizzate di tecniche per farlo.
Puoi pensare alle vulnerabilità di kube-hunter come piccoli passi per un attaccante, che seguono il percorso di una tecnica più generale che lui mirerebbe a raggiungere. La maggior parte dei cacciatori e delle vulnerabilità di kube-hunter possono essere ricondotti a queste tecniche, ecco perché siamo passati a seguire lo standard della matrice.
Alcune vulnerabilità di kube-hunter che non siamo riusciti a mappare su tecniche Mitre sono precedute dalla parola chiave General

Ci sono tre modi diversi per eseguire kube-hunter, ciascuno offre un approccio diverso per rilevare punti deboli nel tuo cluster:
Esegui kube-hunter su qualsiasi macchina (incluso il tuo laptop), seleziona la scansione remota e fornisci l'indirizzo IP o il nome di dominio del tuo cluster Kubernetes. Questo ti darà una visione del tuo setup Kubernetes dal punto di vista di un attaccante.
Puoi eseguire kube-hunter direttamente su una macchina nel cluster e selezionare l'opzione per sondare tutte le interfacce di rete locali.
Puoi anche eseguire kube-hunter in un pod all'interno del cluster. Questo indica quanto sarebbe esposto il tuo cluster se uno dei tuoi pod applicativi venisse compromesso (ad esempio attraverso una vulnerabilità software). (flag --pod)
Prima verifica questi prerequisiti.
Per impostazione predefinita, kube-hunter avvierà una sessione interattiva in cui potrai selezionare una delle seguenti opzioni di scansione. Puoi anche specificare l'opzione di scansione manualmente dalla riga di comando. Queste sono le tue opzioni:
Per specificare macchine remote per la caccia, seleziona l'opzione 1 o usa l'opzione --remote. Esempio:
kube-hunter --remote some.node.com
Per specificare la scansione delle interfacce, puoi usare l'opzione --interface (questo scannerà tutte le interfacce di rete della macchina). Esempio:
kube-hunter --interface
Per specificare un CIDR specifico da scansionare, usa l'opzione --cidr. Esempio:
kube-hunter --cidr 192.168.0.0/24
Imposta il flag --k8s-auto-discover-nodes per interrogare Kubernetes per tutti i nodi nel cluster e poi tentare di scansionarli tutti. Per impostazione predefinita, utilizzerà la configurazione in-cluster per connettersi all'API Kubernetes. Se desideri utilizzare un file kubeconfig esplicito, imposta --kubeconfig /posizione/del/file/kubeconfig.
Nota anche che questo viene sempre fatto quando si utilizza la modalità --pod.
Per imitare un attaccante nelle sue fasi iniziali, kube-hunter non richiede autenticazione per la caccia.
Impersona - Puoi fornire a kube-hunter un token di service account specifico da utilizzare durante la caccia, passando manualmente il token JWT Bearer del segreto del service account con il flag --service-account-token.
Esempio:
$ kube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
Quando esegui con il flag --pod, kube-hunter utilizza il token del service account montato all'interno del pod per autenticarsi ai servizi che trova durante la caccia.
--service-account-token ha priorità quando si esegue come podLa caccia attiva è un'opzione in cui kube-hunter sfrutta le vulnerabilità che trova per esplorare ulteriori vulnerabilità. La differenza principale tra caccia normale e attiva è che una caccia normale non cambierà mai lo stato del cluster, mentre la caccia attiva può potenzialmente eseguire operazioni che modificano lo stato del cluster, che potrebbero essere dannose.
Per impostazione predefinita, kube-hunter non esegue la caccia attiva. Per eseguire una caccia attiva su un cluster, usa il flag --active. Esempio:
kube-hunter --remote some.domain.com --active
Puoi vedere l'elenco dei test con l'opzione --list. Esempio:
kube-hunter --list
Per vedere anche i test di caccia attiva oltre a quelli passivi:
kube-hunter --list --active
Per vedere solo una mappatura della rete dei tuoi nodi, esegui con l'opzione --mapping. Esempio:
kube-hunter --cidr 192.168.0.0/24 --mapping
Questo produrrà tutti i nodi Kubernetes che kube-hunter ha trovato.
Per controllare la registrazione, puoi specificare un livello di log, usando l'opzione --log. Esempio:
kube-hunter --active --log WARNING
I livelli di log disponibili sono: