
Analisi di CVE-2022-22828
Viden Labs ha trovato una vulnerabilità di riferimento diretto a oggetti non sicuri (IDOR) in SynaMan di Synametrics. Questa vulnerabilità è presente nelle versioni 4.9 e precedenti.
Questa vulnerabilità è stata successivamente corretta nella versione 5.0.
“I riferimenti diretti a oggetti non sicuri (IDOR) sono un tipo di vulnerabilità di controllo degli accessi che si verifica quando un'applicazione utilizza input fornito dall'utente per accedere direttamente agli oggetti.” - https://portswigger.net/web-security/access-control/idor.
La vulnerabilità può essere sfruttata consentendo l'accesso a file (potenzialmente sensibili) nella home folder di un utente SynaMan (incluse le sottocartelle) per cui non hanno autorizzazione ad accedere.
Un utente SynaMan chiamato “internaluser”. Questo utente era collegato ad AD ma non fa differenza se non è collegato ad AD.
Nella home folder di internaluser ci sono due file:
Figura 1: Directory utente con file
È stato creato un link di download per file-download.docx e condiviso con una parte esterna simulata.
Figura 2: Pagina di download file di SynaMan
Il test dell'applicazione web è stato eseguito dalla rete 10.0.2.0/24, utilizzando Burp Suite su Kali.
L'istanza di Windows Server 2019 è in esecuzione con una configurazione standard, con gli ultimi aggiornamenti di sicurezza applicati e la porta 443 in entrata aperta.
SynaMan è stato configurato in conformità con le best practice, seguendo le indicazioni del sito web di Synametrics Technologies.
Di seguito nella Figura 3 è riportata una panoramica della configurazione di rete per il test di laboratorio.

Figura 3: Topologia di test di SynaMan
| Computer | Ruolo | Sistema Operativo | Browser |
|---|---|---|---|
| 10.0.2.30 | Server di test dell'applicazione web | Kali Linux (VM) | Burp Suite embedded browser |
| 10.0.3.50 | Server SynaMan | Windows Server 2019 (VM) | N/D |
Tabella 1 - Informazioni aggiuntive sulla configurazione
È stata trovata una vulnerabilità quando una parte esterna accede a un link di download, sia condiviso con loro, sia trovato cercando su Google "pubopp?". Il collegamento ipertestuale del file di download contiene un nome file codificato in base64, incluso il percorso. Questo percorso può essere modificato per scaricare altri file dalla cartella dell'utente che non sono stati condivisi. Sebbene ciò richieda che un attaccante indovini correttamente un nome file, strumenti come Burp Suite rendono questo brute-forcing banale e automatizzato. Una rappresentazione grafica di ciò è illustrata nella Figura 4 qui sotto.

Figura 4: Rappresentazione grafica della vulnerabilità della richiesta GET
Di seguito nella Figura 5 è mostrata la richiesta GET risultante quando si fa clic sul link di download.

Figura 5: Richiesta GET di Burp Suite
L'ispezione del nome file codificato in base64 (passato come parametro chiamato “fn”) mostra la posizione del file.

Figura 6: Nome file Base64 di Burp Suite
Utilizzando Burp Suite, questo può essere modificato in un altro nome file e sostituito nella richiesta GET. Per questo esempio, useremo “secret.txt”, poiché sappiamo che questo file esiste nella cartella.

Figura 7: Nome file Base64 modificato di Burp Suite

Figura 8: Richiesta GET modificata di Burp Suite
L'invio della richiesta GET modificata ci permette di scaricare il file che non era stato condiviso, come mostrato nella Figura 9 qui sotto.

Figura 9: Download non autorizzato di SynaMan
Le impostazioni di sicurezza attualmente disponibili in SynaMan non forniscono un controllo per mitigare questo attacco, tuttavia tutti i file scaricati vengono registrati.