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

news/2025/1/15 20:56:32/文章来源:https://www.cnblogs.com/20222418fcca/p/18473994

1.实验内容

实验内容

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

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

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

如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。

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

问题回答

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

一般是基于特征码或者基于行为来检测的,也有启发式恶意软件检测,是一种比较模糊的检测方法,没有特征码检测那么精确。它可以通过分析软件的片面特征(如签名、结构、厂商信息等)以及行为(如是否连接恶意软件、开放端口、修改系统文件等)来推断是否是恶意代码。这种方式优点是能够检测0-day恶意软件,具有一定通用性,但缺点是可能产生误报,且实时监控系统行为会增大开销。

(2)免杀是做什么?

免杀是使病毒木马免于被杀毒软件查杀的技术。

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

主要有改变特征码、改变行为方式、使用免杀工具、加密与混淆等。

2.实验过程

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

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

metasploit中有大量的攻击载荷,而msfvenom就是用于快速创建我们需要的攻击载荷并生成指定平台运行的程序,实际上msfvenom就是攻击载荷(payloads)和编码器(encoders)的组合工具。

(1)用msf不同编码器、编码不同次数生成exe文件

在实验二中已经用msf默认编码器生成过后门exe文件,我们先把上次生成的exe文件用VIirusTotal扫描一下:

真是漏洞百出的后门文件,直接生成的exe文件免杀效果的确很差,那再试试msf其他编码器。

我们先查看msf支持的所有编码器:
输入msfvenom --list encoder

我决定尝试一下这个rank为excellent的编码器shikata_ga_nai

用选中的编码器编码生成exe文件,进行检测:

效果变化不大,看来msf作为经典工具特征都广为人知了。

在option菜单中,我发现可以指定编码次数,指令为-i [-次数]:

于是我尝试增加编码次数,并进行检测,分别编码了18次、50次、120次:

由结果发现查杀概率几乎不改变,增加编码次数的方法是行不通的,只能试试别的方法了。

(2)用msf生成jar文件

检测一下

有所下降,那再试试其他格式。

(3)用msf生成php文件

检测一下

这简直是大幅减小,看来不同格式对查杀概率影响还是蛮大的,继续试试别的。

(4)用msf生成py文件

我最开始沿用了生成exe文件时的excellent编码器,检测后居然显示免杀了?!

这可真奇怪,问了其他同学发现有人也免杀了但有的同学没有,我猜会不会是这个shikata_ga_nai编码器的问题。于是换了默认编码器,果然失败了(当时就抱着试试的心态忘记截图了😥)。

以及其实还尝试了apk之类的格式但没都没有截图保存就不放了。

2. 使用veil,加壳工具

安装veil

这是一个十分漫长且痛苦的过程,出的问题数不胜数,报的错千奇百怪,我尝试了5678记不清多少次才终于成功。由于过程持续时间较长并且截图不全且忘记了很多参考的是什么所以问题分析只写了第一次的错误🤦,这里展示最后成功的步骤。

首先在Linux系统中通过命令行下载Wine Gecko的安装包。Wine是一个开源的兼容层,允许Linux和Unix-like操作系统运行Windows应用程序。Wine Gecko是Wine项目的一部分,它提供了对Gecko引擎的支持,Gecko是Mozilla Firefox浏览器使用的布局引擎,用于显示网页内容。这对于运行依赖Internet Explorer或旧版Firefox功能的Windows应用程序来说非常重要。

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

执行这些命令后,在~/.cache/wine目录下拥有两个.msi文件,分别是32位和64位版本的Wine Gecko 2.47安装包。这些文件可以随后被Wine使用来安装Gecko引擎,以支持那些需要它的Windows应用程序。

然后,使用apt-get 来安装库和程序,个别包的名称有出入,根据报错提示修改命令即可。

sudo apt-get install libncurses5*
sudo apt-get install libavutil55*
sudo apt-get install gcc-mingw-w64*
sudo apt-get install wine32
sudo apt-get update

完成后安装veilapt-get install veil

然后进入对应文件修改setup.sh的下载地址:

然后执行setup.sh进行安装,成功。

用veil生成后门程序

进入veil,输入use evasion进入Evil-Evasion

选择载荷,进入配置页面use c/meterpreter/rev_tcp.py

设置主机ip和端口,可以输入options查看配置:

设置好后生成文件,输入generate,然后输入文件名称2418_veil。

由上图可知文件保存路径:

扫描生成的文件:

使用压缩壳UPX

对上面生成的文件进行加壳upx 2418_veil -o upxed_2418_veil.exe

对加壳文件进行检测:

害,还是很典型的后门文件。

之后我尝试加密壳,也失败了。

3. 使用C + shellcode编程

首先用msf生成一段shellcode:

然后我把这段shellcode插进新建的.c文件中:

编译.c文件:

将编译成的exe文件放入VT扫描:

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

1. 检查之前文件是否免杀(发现.py文件)

先让查杀软件指定扫描一下之前实验过程中产生的文件:

金山毒霸:

可以发现,使用msf的shikata_ga_nai编码器生成的jar、py、php文件都实现了免杀。

火绒:

这里只有php、py文件实现免杀。

结合之前VT的检查结果,可知这个py文件是基本免杀了的。

这一步用到的杀软:

火绒:

主机:Windows 11, version 23H2

2. 尝试其他方法

我打算尝试了使用evasion的其他载荷:

最先尝试的是第40个:

检测结果:

尝试传输到windows主机时被查杀了:

之后我尝试了第28个载荷,结果和预料差不多,不理想:

最后我尝试了aes加密的py文件(第29):

加密后检测结果果然好了很多:

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

我打算用上一步中成功免杀的py文件尝试,但由于间隔时间太长ip地址已换过几轮,于是决定重新生成一个来实验。

生成并检测:

传入Windows主机也未被查杀,杀毒软件扫描安全。

开始监听:

在主机运行文件,成功!

3.问题及解决方案

问题1:ifconfig找不到虚拟机IP地址。

  • 原因:尝试用虚拟机ping主机提示网络不可达,发现是实验室网络太差虚拟机连不上网。

  • 解决方案:换自己的热点。

问题2:安装veil失败

请看错误思路:

首先安装git:apt-get -y install git

然后用git克隆一个Veil Evasion:

之后就进入其所在目录,直接尝试执行setup.sh安装,历经长时间沉默后开始疯狂报错😭。

中止安装,按照提示输入apt-get update --fix-missing仍报错。

这个问题暂时解决不了,我决定先放一下换个方式从头开始。这时我发现万一换个克隆地址就能搞到不出错的呢?于是我根据另一教程修改了下载地址并执行,出现了和上面相同的问题🤧。

因为报错的确说的不太明确不像是操作的教程的问题,而是像少了什么工具或者功能,我想我可能是真的少了很多步骤,于是开始找准备工作更多的教程。

之后就是不停的持续好几天晚上的探索,直到每一天解决了下面两个问题后突然成功了……步骤在正文里。

问题3:虚拟机内存爆满

为了解决问题二,我一路尝试到了最后成功的教程,然后教程前两步需要下载wine安装包,这时它告诉我,空间不够下不了了……我想起刚刚尝试复制一个文件失败了,我勒个豆,一看居然0字节可用了。

  • 解决方案:

输入以下命令

apt-get autoclean //清理旧版本软件缓存
apt-get clean //清理所有软件缓存
apt-get autoremove //删除系统不再使用的孤立软件

但这只是稍稍缓解,为了避免电脑罢工,在安装veil后我立刻面临问题4↓

问题4:虚拟机又满了

之前没扩容是因为预感自己正在成功安装veil的路上,不想中途关机,但当时的处理方法治标不治本,现在随时在黑屏的边缘,比如当我想再安装工具:

于是我速速找教程扩容,很顺利。

4.学习感悟、思考等

真是一次战线拉得太长的实验,时间几乎是整整两周。其实第一天就做到了安装veil,此后一周在第二周的周五左右在安装好veil,第二周又是漫长的胡乱尝试的过程……感觉都快习惯每天晚上点开虚拟机随机尝试两种方法😂最后做出来的结果感觉靠谱中带着一点草率。这个实验从头做下来的感觉是自己的计算机确实不太安全,特别是这个火绒还是为了实验新下的,之前只有一个没用也没删的金山毒霸……但根据我在找教程过程中看见的实验数据,金山毒霸时实验的杀软中最没用的一个hh
另外的一个收获就是,给自己的随笔加上了目录和不那么好看的标题框,但资金和绿色都是我的心头好,所以……👉👈

参考资料 (部分)

    1. 安装veil(失败了)https://blog.csdn.net/l1028386804/article/details/84895163
    1. 内存不够 https://blog.csdn.net/k_b_killed/article/details/133330927
    1. 内存不够(扩容) https://zhuanlan.zhihu.com/p/574737232

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824851.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android添加OpenCV支持,一步一步添加。

首先下载OpenCV的SDK 推荐在官网下载。 官网地址:https://opencv.org/releases/ 也可以在OpenCV的GitHub上现在 GitHUb链接:https://github.com/opencv/opencv/releases 官网下载:GitHub下载下载完成后,解压压缩包,会得到以下目录其中SDK文件夹是我们要导入的目标。在进行…

有哪些好用的互联网项目远程协作工具

好用的互联网项目远程协作工具有:一、Slack;二、Microsoft Teams;三、Trello;四、Asana;五、Google Workspace。其中,Slack具有强大的聊天和通知功能,它允许用户创建不同的频道来组织讨论,并支持与其他工具的集成。一、Slack Slack是一款流行的实时沟通工具,以其强大的…

xshell终端识别http ftp 链接 ctrl点击打开链接

前言全局说明xshell终端识别http ftp 链接 ctrl点击打开链接一、说明终端链接可以直接点击,比复制一下方便很多二、开启,中断连接识别 2.1 点工具--选项2.2 点 键盘鼠标 -- 鼠标 按图片勾选免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。参考、…

麒麟系统(arm64/aarch64)docker部署prometheus系统

备注:1.不推荐yum或者源码安装,安装包跟系统架构不兼容,推荐docker方式部署,这样就可以忽略系统不兼容的问题。2.准备工作:开通端口映射,即公网的ip加grafana的默认端口9090到内网部署grafana服务的服务器的9090端口的映射,就可以通过外网访问。 一、目标:收集所有节点…

你的第一个Solana SPL

简介 TFT 你的第一个SPL The first token技术栈和库Rust Anchor框架 Typescript(测试)开发环境和其它网络地址DevNet: https://api.devnet.solana.com TestNet: https://api.testnet.solana.com MainNet: https://api.mainnet-beta.solana开发环境设置 1.本教程使用的时 DevNet…

27 3D图形

3d转2d,用3d投影的数学思想;直线角度,正交投影,投透视投射;一般是三角形,三点可以确定i个平面;从投影角度来绘制多面体结构; 前后采取扫描线渲染 阴暗,通过三角形界面法线方向与光源角度偏移度,平面着色 纹理通过扫面线

项目管理计划都有什么作用

项目管理计划是项目成功的关键导航工具,其主要作用包括确定目标与范围、资源分配、时间管理、风险识别与应对,以及质量保证。该计划帮助团队和利益相关者对项目有全面而明确的认识。特别值得一提的是,通过时间管理,项目管理计划确保了各个阶段和活动在预定时间内完成,从而…

多租户系统的应用架构

大家好,我是汤师爷~ 我们看下多租户系统的应用架构是如何从一层层构建起来的。1、应用层设计 应用层的主要作用是为具体的用户场景提供应用服务,帮助用户在特定场景下完成操作。通过编排领域层的各项能力,实现SaaS产品的核心功能。应用层包含两个关键模块:租户运营平台模块…

环境搭建

一、环境的介绍 (1)测试环境分类; a、开发环境 , 开发 b、测试环境 ,(也叫sit环境 ,uat环境) 测试人员 c、线上环境(也叫生成环境) 运营 (2)测试环境作用: a、用于功能测试 b、寻找bug c、编写测试用例等 (3)环境的结构: lampj=linux+apache+mysql+j…

26 用户图形界面

计算机鼠标+图形界面 桌面,窗口,菜单,图标,指针

Navicat 连接 MySQL 失败:2002-can‘t connect to server on localhost(10061)问题解决

连接不上问题可能有如下原因服务器安全组中没有配置3306端口mysql服务端口只开放本地了如下:修改 /etc/mysql/mysql.conf.d/mysqld.cnf 中 bind-address 和 mysqlx-bind-address 注释掉重启mysql服务systemctl restart mysqlmysql登录用户的host为localhost只允许本地连接查看…