系统内核溢出漏洞提权是一种通用的提权的方法,攻击者通常可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目标系统没有及时安装补丁。
存在局限性:如果目标系统的补丁更新工作较为迅速和完善,那么攻击者要想通过这种方法提权,就必须找出目标系统中的 0day漏洞
存在四种发现缺少补丁方法
方法一:手动执行命令
先获取目标系统的一个普通用户的shell(common shell),之后进入目标机当前shell进程下。
然后下面两个代码任选其一输入,可以了解系统信息
systeminfo
wmic qfe get Caption, Description, HotFixID, InstalledOn //补丁的名称、介绍、ID、安装时间
得到结果,只有3个补丁,但这些输出结果不是攻击者可以利用的。
攻击者利用方式:寻找提权的EXP,将已安装的补丁编号与提权的EXP进行对比,使用不在目标机里的编号EXP进行提权
寻找特定的补丁编号:(存在便显示)
wmic qfe get Caption, Description, HotFixID, InstalledOn | findstr /C:"KB3143141" /C:"KB2999226"
方法二:msf 后渗透模块 post
先将 shell 中断,将程序放置后台(挂起)。输入 ctrl + z, 结果是可以看到session 还是存在的。
msf使用post后渗透模块,查询目标机补丁信息
use post/windows/gather/enum_patches
通过show options 设置属性值,渗透成功后得到目标机信息
方法三:Windows Exploit Suggester
单独一篇文章,踩的坑有点多,o(╥﹏╥)o
方法四:PowerShell中的 Sherlock脚本
Sherlock 脚本下载地址:https://github.com/rasta-mouse/Sherlock
作用:快速查找可能用于本地权限提升的漏洞
- MS10-015 : User Mode to Ring (用户模式到环 )(KiTrap0D)
- MS10-092 : Task Scheduler (任务计划程序)
- MS13-053 : NTUserMessageCall Win32k Kernel Pool Overflow (内核池溢出)
- MS13-081 : TrackPopupMenuEx Win32k NULL Page (Null 页面)
- MS14-058 : TrackPopupMenu Win32k Null Pointer Dereference (空指针接触引用)
- MS15-051 : ClientCopyImage Win32k
- MS15-078 : Font Driver Buffer Overflow (字体驱动程序缓冲区溢出)
- MS16-016 : 'mrxdav.sys' WebDAV
- MS16-032 : Secondary Logon Handle (辅助登录句柄)
- MS16-034 : Windows Kernel-Mode Drivers EoP (内核模式驱动程序 EoP)
- MS16-135 : Win32k Elevation of Privilege (特权提升)
- CVE-2017-7199 : Nessus Agent 6.6.2 - 6.10.3 Priv Esc
在系统的 Shell 环境下,调用 Sherlock 脚本。可以搜索单个漏洞,也可以搜索所有未安装的补丁。
import-module 脚本下载地址(Sherlock.ps1)
Find-AllVulns
Find-MS10015
sherlock 脚本只是寻找漏洞,而不是利用,因此经常配合其它渗透工具使用,如 cobalt strike