
Codice proof-of-concept di Pyrescom Termod per CVE-2020-23160, CVE-2020-23161 e CVE-2020-23162
Questo è il codice exploit Proof-of-concept per tre vulnerabilità scoperte da Jonas Mattsson e Hugo van den Toorn presso i Ghost Labs di Outpost24. Queste vulnerabilità sono state scoperte nel componente web server su una macchina di controllo orario Pyrescom Termod4. Queste vulnerabilità possono essere concatenate e consentono a un attaccante remoto di bypassare l'autenticazione, leggere file dal filesystem locale ed eseguire comandi arbitrari. I seguenti ID CVE possono essere usati per fare riferimento a queste vulnerabilità: CVE-2020-23160, CVE-2020-23161 e CVE-2020-23162.

Queste vulnerabilità sono identificate da tre ID CVE, descritti di seguito.
L'esecuzione di codice remoto nei dispositivi di gestione orario Pyrescom Termod4 prima della versione 10.04k consente ad attaccanti remoti autenticati di eseguire comandi arbitrari come root sui dispositivi. Vedi MITRE CVE
L'inclusione di file locali nei dispositivi di gestione orario Pyrescom Termod4 prima della versione 10.04k consente ad attaccanti remoti autenticati di attraversare directory e leggere file sensibili tramite il menu Manutenzione > Log e manipolando il percorso del file nell'URL.
La divulgazione di informazioni sensibili e la crittografia debole nei dispositivi di gestione orario Pyrescom Termod4 prima della versione 10.04k consente ad attaccanti remoti di leggere un file di sessione e ottenere credenziali utente in chiaro. Vedi MITRE CVE
Attacco concatenato contro dispositivi Termod4, che consente a un attaccante non autenticato di:
Clona questo repository, (opzionalmente) configura un ambiente virtuale Python e installa le dipendenze. Supponendo che tu abbia Python3 e python3-venv installati (apt-get install python3-venv).
(opzionale) Configura virtualenv chiamato 'Pyrescom-CVE': python3 -m venv Pyrescom-CVE, cambia directory cd Pyrescom-CVE e attivalo con . bin/activate.
Clona il repository nella directory corrente:
git clone https://github.com/Outpost24/Pyrescom-Termod-PoC.git .
python -m pip install -r requirements.txt
python Pyrescom-poc.py
L'utilizzo base di questo PoC è il seguente:
python Pyrescom-poc.py http://<URI o IP del target>python Pyrescom-poc.py http://<URI o IP del target> -spython Pyrescom-poc.py http://<URI o IP del target> <comando>python Pyrescom-poc.py -hDistribuito sotto licenza GPL3. Vedi LICENSE per maggiori informazioni.
I dettagli su queste vulnerabilità e su come sono state scoperte possono essere trovati nel nostro blog - Tales from the frontline: Outsmarted by smart devices.
Le vulnerabilità sono state corrette, i dettagli esatti sulle versioni delle patch sono sconosciuti e non riconosciuti dal fornitore. Abbiamo scoperto le vulnerabilità nella versione 10.02r e verificato che nella versione 10.04k le vulnerabilità sono state risolte. Come siano affette le versioni intermedie è sconosciuto, pertanto raccomandiamo di aggiornare all'ultima versione stabile del firmware disponibile per il tuo dispositivo.
| Giorno # | Data | Attività |
|---|---|---|
| 0-day | 18-12-2019 | Contatto iniziale con il fornitore. |
| 2 giorni | 20-12-2019 | Secondo tentativo di contatto con il fornitore. |
| 21 giorni | 08-01-2020 | Terzo tentativo di contatto con il fornitore. |
| 29 giorni | 16-01-2020 | Riunione con il fornitore organizzata tramite il nostro cliente. |
| 40 giorni | 27-01-2020 | Riunione con il fornitore e il nostro cliente, il fornitore ha riconosciuto i problemi e ha ricevuto il report completo. |
| 82 giorni | 09-03-2020 | Aggiornamento rilasciato e distribuito, eseguito un breve nuovo test per il nostro cliente. Vulnerabilità risolte. |
| 83 giorni | 10-03-2020 | Confermata l'efficacia della patch con il fornitore. Proposta una tempistica di divulgazione, nessuna risposta dal fornitore. |
| 124 giorni | 20-04-2020 | Proposta una tempistica di divulgazione, nessuna risposta dal fornitore. |
| 141 giorni | 07-05-2020 | Richiesta prenotazione CVE. Più di 100 giorni dalla conferma del fornitore. |
| 401 giorni | 22-01-2021 | Molteplici richieste a Mitre per aggiornamento/CVE nei precedenti 204 giorni. Dopo la reinvio, gli ID CVE sono stati rilasciati il 22 gennaio. |
| 408 giorni | 29-01-2021 | Pubblicazione di questo blog, degli ID CVE e del PoC. |
Le informazioni sulla nostra politica di divulgazione responsabile sono disponibili sul nostro sito web.
Jonas Mattsson - LinkedIn
Hugo van den Toorn - @HugovdToorn - LinkedIn
Molte grazie a Jonas che ha la grande abitudine di trovare le scoperte più fantastiche nei posti più strani. Sfortunatamente per noi, oggi segna il tuo ultimo giorno in Outpost24. Quindi vorremmo celebrare la tua partenza con questi tre CVE e ti auguriamo tutto il meglio per i tuoi futuri progetti.
"That might have been a bit out of scope..."
Da Ghostlabs con amore <3