20232410 2025-2026-1 《网络与系统攻防技术》实验三实验报告

免杀原理与实践
1.实验内容
image

问题回答:
(1)杀软是如何检测出恶意代码的?
可以特征码检测,提取出恶意代码的唯一特征,与杀软数据库中的特征库比对,如果匹配则判定为恶意。
或者也可以行为检测,监控程序运行时的异常行为,比如修改系统注册表、创建自启动项等。

(2)免杀是做什么?
免杀是通过技术手段修改恶意代码的特征,从而来规避杀毒软件的检测机制。

(3)免杀的基本方法有哪些?
修改特征代码,加壳,加密代码主体,拆分恶意代码,利用杀软漏洞等等。
2.实验过程
2.1 免杀效果基准测试
在kali虚拟机中,首先使用指令生成meterpreter可执行文件。然后使用virustotal网站检测病毒检出率,得到结果如下,可以看到检出数量为48,之后的效果评价都以此为基准。
image

image

2.2 使用msfvenom生成如jar之类的其他文件
利用指令生成可执行文件。检出率略微减少
image
image

再重新进行十次编码:
image

得出结果,又降低了一点,但效果不是很好:
image

我们改变方式,使用指令分别生成jar文件和编码十次的jar文件:
image

两次结果都是35,可以看到效果比之前更好:
image
image

继续使用指令分别生成php和编码十次的php文件:
image

可以看到结果分别为24和8,这说明php文件有良好的免杀效果,十次编码使其更难被识别:
image
image

2.3使用veil免杀工具
按步骤下载veil:
image
image
image
image
image
image

配置ip和端口并生成文件:
image

检测这个文件,发现有一些免杀效果,但效果一般:
image

2.4使用C + shellcode编程
使用指令生成一个C语言的源代码格式的有效载荷,并编写一个c文件,同时编译:
image

检测效果,有一定的免杀效果:
image

2.5使用加壳工具
使用压缩壳upx,指令为upx shellcode_c_20232410.exe -o shellcode_c_upx_20232410.exe,为之前生成的exe文件加一层压缩壳,得出检测结果,不降反升。这可能说明这种加壳的方法已经被广泛纳入识别库中。
image

换一种方法,使用加密壳Hyperion
image

效果依旧不好,检测率不降反升:
image

2.6通过组合应用各种技术实现恶意代码免杀
结合以上的编码十次,shellcode编程,加压缩壳与加密壳各种方法,生成一个新的文件,尝试是否能通过杀毒软件的扫描,最终结果如图:

image

很遗憾,杀毒软件依旧发现了文件的风险并及时警报。
2.7用另一电脑实测,在杀软开启的情况下,运行并回连
依旧无法运行
image

这里我使用的是最新版本的火绒安全:
image

3.问题及解决
问题一: 电脑自带的实时保护每隔一段时间就会自动开启,导致我kalishare共享文件夹中的文件被自动删除,虚拟机也会被强制关闭,需要时刻注意

问题二:在下载veil时中途遇到了很多疑似报错的情况
问题二解决:无需理会,输入密码继续下载。

问题三.在执行某些文件操作时,遇到了执行权限不够的情况。
问题三解决:使用chmod命令修改文件权限,进行赋权。

4.体会与感悟
整个实验过程中,我发现了php是免杀效果最好的一种生成文件方式,再加上10次编码效果更佳。而我原先以为的效果不错的压缩壳与加密壳却导致检出率不降反升,这也许是因为这类壳的特征已经被广泛研究并记录。最终的组合方法没有成功地实现免杀,我认为可能是壳起到了副作用,并且目前市面上的杀毒软件都已经比较成熟,常规的免杀方法可能已经不起作用。总而言之,这次的实验让我受益匪浅,更加深入地了解了免杀的实践和原理。

posted @ 2025-10-26 18:17  20232410朱静泽a  阅读(9)  评论(0)    收藏  举报