漏洞描述
MS16-016漏洞的原理是基于Windows内核中的一个安全功能绕过问题。具体来说,这个漏洞涉及到Windows内核对于用户模式与内核模式之间的访问权限控制。攻击者可以利用特意构造的应用程序或网页来绕过这些权限控制,使得攻击者可以在系统内核态执行恶意代码,并且获取系统权限。
这个漏洞主要由两个方面组成:一是Windows内核对于用户模式与内核模式的通信机制出现了缺陷,使得攻击者可以进行越权操作;二是相关的安全功能没有正确地验证这些通信,导致了权限的绕过。
通过利用这个漏洞,攻击者可以执行未经授权的代码,获取系统敏感信息,或者潜在地导致拒绝服务情况。修复这个漏洞需要微软对Windows内核和相关的权限验证机制进行修复,以确保系统能够正确地限制和验证用户模式与内核模式之间的通信,从而防止类似的安全功能绕过问题。
靶机版本
Windows7 32位(msf无法复现64位系统)
利用过程
先生成一个payload
打开msfconsole设置监听端口
把payload.exe放入靶机当中,并双击打开
可以看到靶机已经上线
输入background把会话放入后台
设置msf中ms16_016exp的参数
获取到要注入的进程ID
输入sessions 1返回到payload中
输入shell,此时权限为管理员权限
退出shell,迁移进程,查看权限,此时位系统权限