DataManagementItalia
DataManagementItalia è una realtà ICT per tutta la Pubblica Amministrazione che ha unito i valori di Data Management PA e S2i Italia, due riferimenti nella governance ed evoluzione dei patrimoni informativi della PA.
RisEle
RisEle è una soluzione software che aiuta nella creazione e gestione delle elezioni per un dato comune.
Technical summary
Il Cyber Security Team di Tinexta Cyber ha identificato diverse vulnerabilità su RisEle 2.7.10
Vulnerabilità | CVSSv3.1 Base Score | CVSSv3.1 Base Vecto |
Utilizzo di credenziali deboli di default | 8.2 High | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L |
Arbitrary File Upload | 7.2 High | AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
Di seguito sono mostrate le evidenze delle vulnerabilità identificate, con la relativa Proof-of-Concept.
Utilizzo di credenziali deboli o di default
Descrizione
Durante le analisi sono state rilevate Web Application che permettono il login utilizzando delle credenziali deboli o di default.
Un potenziale attaccante, con un numero ridotti di tentativi e provando diverse password di default note, potrebbe essere in grado di accedere all’applicativo e alle funzionalità messe a disposizione. Ad esempio, in questo caso specifico, l’accesso con privilegio amministrativo ha permesso di alterare/creare i dati delle elezioni presenti nel sistema.
Una password viene definita debole se si verifica uno, o più, dei seguenti casi:
• Scarsa complessità: mancanza di varietà di caratteri minuscoli, maiuscoli, numeri e caratteri speciali;
• Lunghezza insufficiente: password inferiore ai 12 caratteri;
• Predicibilità: password riconducibile, o equivalente, all’username o ai dati del
relativo utente;
• Credenziali di default: credenziali presenti nel manuale applicativo.
Assets
• https://<target>
Proof of Concept
Il target espone sulla porta 443 l’applicativo RisEle v. 2.7.10 che permette l’accesso con credenziali estremamente deboli (admin/admin) (guest/guest).
Evidenza 1 Verifica della complessità della password utilizzando il sito password meter
Si mostra di seguito come sia stato possibile accedere all’applicativo utilizzando credenziali di default
Evidenza 2 Accesso all’applicativo RisEle con utenza amministrativa (admin/admin)
Remediation
Si consiglia di modificare le credenziali rinvenute, eliminare utenti non necessari e di utilizzare password con policy efficace che comprenda i seguenti requisiti minimi:
- Una sufficiente complessità della password (caratteri maiuscoli, minuscoli, numeri e caratteri speciali);
- Una sufficiente lunghezza della password (almeno 12 caratteri);
- Un tempo di scadenza della password che ne richieda il cambio periodico (almeno ogni 3 mesi);
- La storicità delle password utilizzate (vietare il riutilizzo delle ultime 3 password);
- Non utilizzare password di default.
Riferimenti
- https://cwe.mitre.org/data/definitions/255.html
- https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/
- https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
Arbitrary File Upload
Descrizione
L’applicazione risulta vulnerabile ad Arbitrary File Upload.
Ciò può consentire ad un attaccante di effettuare l’upload di file malevoli per l’esecuzione di codice arbitrario o di una shell attraverso la quale potrebbe eseguire comandi arbitrari sul server remoto. A seguito di ciò, l’attaccante potrebbe altresì effettuare ricerca di credenziali, movimenti laterali all’interno dell’infrastruttura, oppure semplicemente creare disservizi (DoS) caricando file di grandi dimensioni.
Per sfruttare questa vulnerabilità, l’attaccante dovrà disporre di un account valido con privilegi amministrativi.
Assets
- https://<target>/admin/simboli.do [POST]
Proof of Concept
Si mostra di seguito come sia stato possibile sfruttare le funzionalità messe a disposizione dall’applicativo per caricare sul server una Web Shell scritta in Java.
Per ottenere tale risultato sono stati effettuati i seguenti passaggi:
- Accesso con credenziali di default (admin/admin)
- Sfruttamento della funzionalità di modifica del logo associato per upload del file webshell.jsp
- Verifica presenza Webshell utilizzando l’URL contenuto nella risposta
- Esecuzione di comandi tramite WebShell
Tale processo è descritto dalle seguenti evidenze:
Evidenza 3 Richiesta HTTP per la modifica del logo
Evidenza 4 Risposta HTTP a seguito della POST
Evidenza 5 Dettaglio della risposta HTTP con l’URL del file caricato
Evidenza 6 Richiesta e risposta HTTP per verificare la presenza della webshell
Remediation
Si consiglia di effettuare l’aggiornamento all’ultima versione contattando il vendor.
Riferimenti
- https://cwe.mitre.org/data/definitions/434.html
- https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html
- https://owasp.org/Top10/it/A04_2021-Insecure_Design/
Disclosure Timeline
- 27-05-2022: Identificazione vulnerabilità
- 16-06-2022: Vendor contattato via email (nessuna risposta)
- 04-07-2022: Report inviato al vendor
- 03-08-2022: Vendor contattato per aggiornamenti (nessuna risposta)
- 09-09-2022: Vendor contattato per aggiornamenti (nessuna risposta)
- 16-01-2023: Vendor contattato via PEC, destinatario DPO (nessuna risposta)
- 06-02-2023: Vendor contattato via PEC, destinatario DPO (nessuna risposta)
- 02-03-2023: Vendor contattato via PEC, destinatario DPO (nessuna risposta)
- 14-03-2023: Pubblicazione Security Advisory