Serenissima Informatica SpA
Serenissima Informatica è un’azienda che si occupa dello sviluppo di soluzioni per la gestione di PMI, Hotel e catene alberghiere, ristoranti e GDO.
FastCheckIn – descrizione prodotto
Il prodotto FastCheckin (Web Check-In) in particolare aiuta gli utenti di Hotel e catene alberghiere nella compilazione dei propri dati e nella gestione delle proprie prenotazione online.
Technical summary
L’Offensive Security Team di Tinexta Cyber ha identificato importanti vulnerabilità su: FastCheckIn
Vulnerabilità | CWE-ID | CVSSv3.1 Vector String | CVSSv3.1 Base Score |
Arbitrary File Write (non autenticato) | CWE-22 | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N | 9.8 – Critical |
SQL Injection (non autenticato) | CWE-89 | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | 9.8 – Critical |
Absolute/Relative Path Traversal (non autenticato) | CWE-22 | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N | 8.6 – High |
Tinexta Cyber ha scelto di non divulgare i dettagli tecnici della vulnerabilità.
Nella sezione seguente la Proof-of-Concept con evidenze offuscate sulle vulnerabilità riscontrate.
Arbitrary File Write (non autenticato) – CVE-2022-47769
Descrizione
L’applicazione risulta vulnerabile ad Arbitrary File Write.
Un attaccante, remotamente e in modalità non autenticata, potrà scrivere nella web root dell’applicazione, qualsiasi file dal contenuto arbitrario per alterare e/o bloccare il funzionamento dell’applicativo oppure per ottenere l’accesso al server tramite web shell.
Proof of Concept
Si mostra di seguito come sia stato possibile scrivere una web shell nella web root dell’applicazione web ed ottenere accesso al server.
Per ottenere tale risultato sono stati effettuati i seguenti passaggi:
- Esecuzione di una HTTP Post Request per scrivere una WebShell (nell’esempio con il nome 70347276-ee93-4366-b396-e1496f67ed6d.aspx ) all’interno della web root;
- Esecuzione di comandi sul server tramite WebShell.
Evidenza 1 Richiesta HTTP contenente la WebShell
Il file C:\\FastCheckIn\\FastCI\\70347276-ee93-4366-b396-e1496f67ed6d.aspx è stato quindi creato con successo e raggiungibile dal web come mostrato nell’evidenza successiva:
Evidenza 2 Esecuzione tramite webshell del comando “whoami”
Riferimenti
https://cwe.mitre.org/data/definitions/20.html
http://cwe.mitre.org/data/definitions/22.html
https://owasp.org/www-community/attacks/Path_Traversal
https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html
https://owasp.org/Top10/A01_2021-Broken_Access_Control/
https://www.cve.org/CVERecord?id=CVE-2022-47769
SQL Injection (non autenticato) – CVE-2022-47770
Descrizione
L’applicazione web è vulnerabile ad attacchi di tipo SQL Injection non autenticati.
Un potenziale attaccante sarà in grado accedere remotamente, completamente ed in maniera non autenticata alle informazioni contenute nella banca dati ed effettuare operazioni come esfiltrazione e modifica di account utente ed amministrativi, dati personali di utenti ed altre informazioni in essa contenute.
Proof of Concept
Si mostrano di seguito le evidenze della vulnerabilità e di come sia possibile estrarre informazioni sensibili dall’interno della banca dati.
Di seguito l’evidenza dell’enumerazione del DMBS, Microsoft SQL Server e la lista offuscata) di tutti i database presenti sul server:
Evidenza 3 SQLMap Lista database
Ciò conferma la presenza della vulnerabilità.
A fronte della corretta exploitation di questo tipo di vulnerabilità, un attaccante potrebbe acquisire i diritti di amministratore dell’applicativo web, con conseguente accesso a tutte le funzionalità del portale.
Riferimenti
https://www.owasp.org/index.php/SQL_Injection
https://cwe.mitre.org/data/definitions/89.html
https://owasp.org/Top10/A03_2021-Injection
https://www.cve.org/CVERecord?id=CVE-2022-47770
Path Traversal (non autenticato) – CVE-2022-47768
Descrizione
La vulnerabilità Path Traversal (Relative e Absolute) consente l’accesso a file presenti nel sistema operativo che risiedono al di fuori della web root dell’applicazione. Manipolando le variabili che richiedono i file, attraverso l’uso dei caratteri “../” o di un path assoluto (eg. C:\…) è possibile accedere arbitrariamente ai file e/o cartelle contenuti nel sistema operativo come il codice sorgente dell’applicazione o file sensibili che risiedono nella macchina.
Proof of Concept
Di seguito vengono mostrate le evidenze di come è possibile leggere il contenuto di file sul filesystem. Nell’esempio viene mostrata la possibilità di leggere il file c:\windows\win.ini:
Evidenza 4 Richiesta e Risposta HTTP della vulnerabilità Absolute Path Traversal
Riferimenti
https://cwe.mitre.org/data/definitions/22.html
https://cwe.mitre.org/data/definitions/23.html
https://owasp.org/Top10/A01_2021-Broken_Access_Control
https://owasp.org/www-community/attacks/Path_Traversal
https://www.cve.org/CVERecord?id=CVE-2022-47768
Remediation
Tinexta Cyber consiglia di non esporre l’applicativo su Internet o, qualora fosse necessario, di accedervi esclusivamente tramite connessione VPN in attesa che il vendor rilasci una patch o un aggiornamento.
Disclosure Timeline
- 07-08-2022: Scoperte le vulnerabilità
- 07-08-2022: Vendor contattato tramite mail (1° tentativo, nessuna risposta)
- 22-09-2022: Vendor contattato tramite mail (2° tentativo, con risposta)
- 22-09-2022: Invio del report contenente le vulnerabilità
- 11-01-2023: Tinexta Cyber ricontatta il vendor per eventuale review del documento (nessuna risposta)
- 18-01-2023: Tinexta Cyber ricontatta il vendor per eventuale review (nessuna risposta)
- 31-01-2023: Tinexta Cyber pubblica la vulnerabilità