记一次绕过安全狗命令执行上线

简介: 记一次绕过安全狗命令执行上线


朋友
@Sin在一次渗透测试项目中遇到的一个问题,在拿到了Webshell权限后发现不能执行命令,最后虽然成功绕过了安全狗的命令执行限制,但上线时还是遇到些问题。


我们在这篇文章中将模拟这个实战场景来记录整个测试过程,以及遇到的问题和解决方式。


0x01 问题复现

Windows 2008,官网下载的最新网站安全狗IIS版 V4.0.29666,已开启"禁止IIS执行程序"防护功能。


这免费版的安全狗产品估计也快凉凉,软件和防护规则都已经快两年没更新了。http://free.safedog.cn/


我们尝试利用冰蝎来连接Webshell,但在访问时发现已经被安全狗拦截了,中国菜刀、冰蝎、哥斯拉等默认的Webshell均会被拦截,所以还得找个免杀的Webshell。


这里我找了一个可用来免杀冰蝎Webshell的项目,只需使用该项目生成一个ASP.NET免杀Webshell即可绕过网站安全狗的特征检测。


项目地址:https://github.com/Tas9er/ByPassBehinder

注:这个免杀项目Java写的,用exe4j打包的exe,所以在执行前还得先安装好JRE或JDK,并且在环境变量中新建一个系统变量:EXE4J_JAVA_HOME,否则在执行时可能会出现下图提示。


下载地址:https://adoptium.net

接着我们再去这个网站后台通过上传漏洞将刚生成的冰蝎ASP.NET免杀Webshell上传上去,虽然在访问时出现了报错,但还是可以用冰蝎连接这个Webshell。


在冰蝎执行命令时总会提示:拒绝访问,刚开始还以为是cmd权限问题,但自己传了一个cmd还是不行,后边才想到可能是网站安全狗的"禁止IIS执行程序",因为几年前有测试过这个防护功能。


0x02 绕过测试

掏出了我多年前改的一个可用于绕过安全狗命令执行限制的ASP.NET脚本,原理也很简单,只需在执行的命令中带有安全狗内置的白名单程序即可,这时可以看到已经可以正常执行命令了。


但在@Sin那个项目中虽然绕过了安全狗的命令执行限制,但也只能执行set、whoami、ipconfig,其他命令和自己传的EXE都执行不了,暂时还不能上线。按理说是OK的,不知问题出哪!

不过我们后边在冰蝎中测试发现也可以通过带有安全狗内置的白名单程序来执行命令。


现在基本上什么命令都可以执行了,也可以直接上线CS/MSF了,实战中得自行考虑杀软和免杀问题。


c:\windows\Microsoft.NET\Framework\v1.1.4322\csc.exe\..\..\..\..\system32\cmd.exe /c whoami

我们也可以直接利用冰蝎反弹shell模块中的Meterpreter、CobaltStrike来上线。


如果能够免杀蚁剑、哥斯拉的Webshell,也可以去试一下里边的内存加载shellcode上线,原理都是一样的。

注:我们利用冰蝎Meterpreter上线时还得注意以下一些问题,CobaltStrike倒是没啥问题,可以直接上线。


0x03 注意事项

(1) 冰蝎不可自定义shellcode,内置的是x86的shellcode,如果IIS应用池是64位,而我们加载的是x86的shellcode,所以这时即使执行了也不能上线


(2) 因为以上方式是将冰蝎Meterpreter中的shellcode加载到IIS的w3wp.exe内存中运行,所以极易造成该网站对应IIS应用池崩溃,网站出现503报错,还请谨慎使用。


(3) 通过冰蝎Meterpreter、CobaltStrike成功上线,但执行命令时仍会被安全狗"禁止IIS执行程序"拦截,所以还是得利用安全狗内置白名单绕过,也可尝试进程迁移或另起一个会话。


execute -Hc -i -f "c:\windows\system32\cmd.exe" -a "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe"


0x04 文末总结

这次渗透测试项目其实也就是通过ByPassBehinder免杀冰蝎Webshell绕过安全狗特征检测,利用内置白名单绕过命令执行限制上线MSF,然后发现运行的ssms.exe进程,通过模拟令牌方式拿到Administrator权限。


这里只是给大家提供一个思路,因为有时在本地和实战的测试结果不太一样,所以还得根据实际情况灵活运用。

相关文章
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
16800 0
|
Windows
Windows常见可读写目录的探测
Windows常见可读写目录的探测
302 0
Windows常见可读写目录的探测
|
安全 测试技术 UED
利用WPS-Office绕过UAC提权
利用WPS-Office绕过UAC提权
454 0
|
SQL 存储 关系型数据库
MySQL备份:mydumper 备份恢复工具生产实战
MySQL备份:mydumper 备份恢复工具生产实战
|
安全 Linux 数据安全/隐私保护
Linux命令strings详解
`strings`是Linux工具,用于从二进制文件中提取可打印字符串,常用于文件分析、安全审计和逆向工程。它可以识别至少4个连续可打印字符的序列,并支持多种参数,如`-n`调整最小长度,`-f`显示文件名。示例用法包括`strings /bin/ls`和`strings -n 6 /usr/bin/uptime | grep GLIBC`。注意敏感信息泄露,结合其他命令可增强分析能力。
|
弹性计算 网络安全
阿里云服务器开放端口教程(通过配置安全组规则)
阿里云服务器开放端口是通过配置安全组规则来实现的,安全组是一种虚拟防火墙
88127 6
阿里云服务器开放端口教程(通过配置安全组规则)
|
存储 Web App开发 移动开发
【BP靶场portswigger-客户端14】点击劫持-5个实验(全)
【BP靶场portswigger-客户端14】点击劫持-5个实验(全)
629 0
【BP靶场portswigger-客户端14】点击劫持-5个实验(全)
|
安全 Linux Shell
不死马的利用与克制(基于条件竞争)及变种不死马
不死马的利用与克制(基于条件竞争)及变种不死马
473 0
不死马的利用与克制(基于条件竞争)及变种不死马
|
前端开发 Go API
Gin vs Beego: Golang的Web框架之争
Gin vs Beego: Golang的Web框架之争
|
边缘计算 安全 数据可视化
网络安全之资产及攻击面管理
“摸清家底,认清风险”做好资产管理是安全运营的第一步。那么什么是资产,资产管理的难点痛点是什么,如何做好资产管理,认清风险。带着这些问题我们来认识一下资产及攻击面管理。
1592 0