Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
Strumenti/GitHubGitHub/kpn-ciso/cve-2019-9745
Analisi delle VulnerabilitàExploitPenetration TestingPaper e RicercaApprendimento e Formazione
GitHubkpn-ciso/cve-2019-9745

CVE-2019-9745

Descrizione sulla vulnerabilità CVE-2019-9745.

Vedi Repository
176 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
Autore: Arn Vollebregt

Introduzione

La creatività è al centro del penetration testing, che rende il nostro lavoro interessante. Una trappola, tuttavia, è la tendenza a 'progettare in eccesso' scenari di attacco e concentrarsi esclusivamente sui bug (condizioni di errore). I difetti (comportamenti indesiderati) possono tuttavia essere presenti con risultati altrettanto devastanti. Questo articolo fornisce un caso di studio per dimostrare l'importanza di eseguire penetration test per tali difetti. Allo stesso tempo, sostiene l'adozione di un processo SDLC (Secure Development Lifecycle).

L'articolo fa parte della RD (responsible disclosure) della vulnerabilità CVE-2019-9745 ed è stato scritto in stretta collaborazione con il fornitore CloudCTI. Fornisce una panoramica di alto livello della vulnerabilità prima di approfondire i dettagli tecnici. Dopo aver dimostrato lo sfruttamento della vulnerabilità, viene fornita una conclusione con le lezioni apprese.

Sommario

Il CloudCTI Recognition Configuration Tool che abbiamo esaminato durante uno dei nostri penetration test viene utilizzato per recuperare informazioni da software CRM (Customer Relationship Management). Ciò fornisce al personale del call center informazioni rilevanti durante le chiamate dei clienti. Sono stati identificati diversi problemi che possono essere concatenati per compromettere completamente il sistema locale. Il fornitore sottolinea che ciò non influisce sui sistemi di altri clienti né sui propri.

Come per molte vulnerabilità di sicurezza, un problema importante risiede nella validazione dei dati provenienti da fonti al di fuori della propria sfera di influenza. Altrettanto importante è la consapevolezza che sistemi e software operano in ambienti ostili. Il tempo e l'esperienza ci hanno insegnato che l'intercettazione è una minaccia su Internet. Lo stesso vale per altri canali di comunicazione, anche all'interno dello stesso sistema. Questo è stato determinante nella scoperta della vulnerabilità.

Un'analisi delle cause profonde dei problemi incontrati mostra l'importanza di pratiche come la TM (threat modelling). La TM aiuta a identificare i rischi nelle fasi iniziali di progettazione e sviluppo. Ciò può portare alla mitigazione di rischi inaccettabili o alla riprogettazione/reimplementazione. Sebbene il lettore sia incoraggiato a condurre la propria analisi, vengono fornite descrizioni delle contromisure del fornitore a scopo di riferimento.

La vulnerabilità

Il software del fornitore è composto da quattro applicazioni che lavorano insieme. La prima applicazione è l'interfaccia utente grafica (GUI). Questa consente all'utente di avviare il recupero di informazioni da diversi pacchetti software CRM:

Figura 01

La GUI delega il recupero delle informazioni a un servizio (la seconda applicazione) inviando un messaggio. I primi problemi di sicurezza si manifestano qui: non solo chiunque sul sistema può osservare i messaggi tra la GUI e il servizio per determinarne il formato e il contenuto (compromettendo la riservatezza), ma può anche inviare i propri messaggi (compromettendo l'autorizzazione). Inoltre, la fonte dei messaggi al servizio non viene verificata (compromettendo la non ripudiabilità). Nella terminologia della modellazione delle minacce STRIDE, ciò significa che il sistema è soggetto a divulgazione di informazioni e manomissione. Infatti, le informazioni ricavate da questi messaggi sono state determinanti nella scoperta della vulnerabilità.

La terza applicazione è uno dei tanti importatori specializzati. Il servizio delega il recupero delle informazioni per uno specifico pacchetto CRM a uno specifico importatore. Il messaggio inviato dalla GUI contiene istruzioni specifiche per questo importatore. Esaminando l'importatore Exquise CRM, si scopre che il recupero delle informazioni viene ulteriormente delegato a un'applicazione esterna (la quarta). Esaminando la logica interna dell'importatore, è stato scoperto che l'applicazione esterna poteva essere specificata nel messaggio tra la GUI e il servizio. Il problema che si manifesta qui è che l'applicazione esterna viene eseguita senza verificarne l'identità (compromettendo la non ripudiabilità).

Concatenando questi problemi, abbiamo potuto intercettare i messaggi per determinarne il formato e inviare un messaggio in cui specificavamo la nostra applicazione esterna malevola. Tale applicazione esterna viene eseguita con gli stessi privilegi dell'importatore/servizio. Poiché questi privilegi sono i più elevati possibili all'interno del sistema, viene ottenuto il controllo totale e il sistema viene compromesso.

Questi problemi sono mitigati dal fornitore crittografando i messaggi (mitigando il problema di riservatezza) tramite l'uso di segreti condivisi unici (mitigando il problema di autorizzazione) a cui possono accedere solo gli utenti di sistema autenticati che li possiedono (mitigando il primo problema di non ripudiabilità). Infine, l'applicazione esterna è firmata crittograficamente (mitigando il secondo problema di non ripudiabilità). La combinazione di queste misure mitiga con successo la vulnerabilità.

Dettagli tecnici

Quando viene installata l'applicazione GUI CloudCTI Recognition Configuration Tool (C:\Program Files (x86)\CloudCTI Recognition Configuration Tool\CloudCTI Recognition Configuration Tool.exe), viene esaminata con Process Explorer. Questo rivela che un servizio associato (Recognition Update Client Service) è installato e eseguito con diritti NT AUTHORITY\SYSTEM:

Figura 02

Investigando l'eseguibile del servizio (C:\Program Files (x86)\CloudCTI Recognition Configuration Tool\RUCS\RecognitionUpdateClientServiceService.exe), diventa evidente che è sviluppato utilizzando il linguaggio di programmazione .NET. Può essere decompilato usando dnSpy per ottenere informazioni sulla sua logica interna, che verranno dettagliate di seguito.

Scarica lo strumento