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

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


朋友
@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权限。


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

相关文章
|
11月前
|
安全 NoSQL API
【漏洞复现】YApi NoSQL注入导致远程命令执行漏洞
YApi是一个API管理工具。在其1.12.0版本之前,存在一处NoSQL注入漏洞,通过该漏洞攻击者可以窃取项目Token,并利用这个Token执行任意Mock脚本,获取服务器权限。
1103 1
|
20天前
|
安全 Unix Shell
web安全之命令执行
应用未对用户输入做严格得检查过滤,导致用户输入得参数被当成命令来执行。
37 4
|
11月前
|
开发框架 安全 .NET
记一次绕过安全狗和360提权案例
记一次绕过安全狗和360提权案例
128 0
|
11月前
|
Web App开发 JSON 安全
【漏洞复现】Yapi接口管理平台远程代码执行漏洞
Yapi接口管理平台远程代码执行漏洞,攻击者可通过特定Payload对目标实施恶意攻击,获取敏感信息,操控服务器指令。
299 1
|
11月前
|
开发框架 安全 .NET
常用Webshell管理工具上线利用方式
常用Webshell管理工具上线利用方式
103 0
|
安全 数据安全/隐私保护
亿邮电子邮件系统远程命令执行漏洞 漏洞复现
亿邮电子邮件系统远程命令执行漏洞 漏洞复现
571 0
|
安全 Linux Windows
WEB漏洞-RCE代码及命令执行漏洞
WEB漏洞-RCE代码及命令执行漏洞
|
SQL 开发框架 安全
绕过安全狗【后续再更新】
绕过安全狗【后续再更新】
121 0
|
XML 安全 Java
网站apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现
S2-057漏洞,于2018年8月22日被曝出,该Struts2 057漏洞存在远程执行系统的命令,尤其使用linux系统,apache环境,影响范围较大,危害性较高,如果被攻击者利用直接提权到服务器管理员权限,网站数据被篡改,数据库被盗取都会发生。
136 0
网站apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现