导语:在默认配置下,Windows非常容易受到那些能让攻击者执行恶意代码来滥用系统的漏洞的攻击。
在默认配置下,Windows非常容易受到那些能让攻击者执行恶意代码来滥用系统的漏洞的攻击。 因此从另一方面来看,没有及时安装补丁才是系统安全的主要问题。即使组织已经针对单个漏洞发布了一些修补策略,但如果重要补丁没有立即安装,这仍然可以给攻击者一个机会利用漏洞,并在系统内提升权限,从而在网络内肆意作为。
本文将讨论的就是如何识别与特权升级相关的那些未执行的补丁以及利用此问题的那些必要代码。
发现缺失补丁
缺失补丁的发现可以通过手动方法或自动识别来进行。如果是手动的话,只需要简单地执行以下命令,它就会枚举所有需要安装的修补程序。
wmic qfe get Caption,Description,HotFixID,InstalledOn
输出可能是这样的:
HotFixID可以与下表相关联使用,以便发现与特权升级相关的任何缺失的补丁。由于重点放在特权升级上,所以其实可以稍微修改命令,以便根据KB编号发现补丁。
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB3136041" /C:"KB4018483"
或者可以通过Metasploit、Credential Nessus Scan自动完成,也可以通过自定义脚本来查找与特权升级相关的缺失补丁。
Metasploit
有一个Metasploit模块,可以根据知识库编号快速识别任何缺少的补丁,特别是有Metasploit模块的补丁。
post/windows/gather/enum_patches
Windows Exploit Suggester
Gotham Digital Security发布了一个名为Windows Exploit Suggester的工具,该工具可以将系统的修补程序级别与Microsoft漏洞数据库进行比较,并可用于识别可能导致权限升级的漏洞,而其唯一需要的是目标系统的信息。
PowerShell
还有一个PowerShell脚本,其目的就是识别可导致特权升级的补丁。此脚本叫Sherlock,可以检查以下系统:
MS10-015:User Mode to Ring (KiTrap0D) MS10-092:Task Scheduler MS13-053:NTUserMessageCall Win32k内核池溢出 MS13-081:TrackPopupMenuEx Win32k NULL页面 MS14-058:TrackPopupMenu Win32k空指针引用 MS15-051:ClientCopyImage Win32k MS15-078:字体驱动程序缓冲区溢出 MS16-016:'mrxdav.sys' WebDAV MS16-032:Secondary Logon Handle CVE-2017-7199:Nessus Agent 6.6.2 - 6.10.3 Priv Esc
该工具的输出如下:
提权漏洞表
最后,作者还编制了下表,列出了一大批已有利用代码的可提权漏洞: