Windows内核溢出漏洞提权利用

admin 2022年7月25日13:53:06评论40 views字数 4041阅读13分28秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


0x01 前言

这篇文章我将分享下我在实战中利用Windows内核溢出漏洞提权时的基本步骤和注意事项,当然这也只是根据我个人习惯来写的,毕竟每个人的习惯都不一样,所以仅供参考,如有不对之处还请批评指正!!!


0x02 提权信息搜集

我们在拿到Webshell权限后一般都会先对这台主机进行简单信息搜集,如:当前权限、安装补丁/系统版本与架构、可读写目录和支持脚本等,这几个必看的,后期利用内核溢出漏洞提权时需要参考。


(1) 当前权限

whoami命令可查看当前用户、组、特权等信息,确定我们拿到的这个Webshell是Users/Admins/System权限?是否开启UAC用户账户控制?Users/IIS就需要提权,PC的Admins可能还要绕下UAC。

Windows内核溢出漏洞提权利用

(2) 安装补丁

systeminfo命令可查看当前操作系统上已安装的补丁,同时也能获取系统版本/架构/网卡/启动时间,是否为虚拟机等等信息?这些信息主要用于后期做补丁对比和查找对应可利用的提权POC/EXP。

Windows内核溢出漏洞提权利用

(3) 系统版本和架构

可以通过IIS的404报错和ProgramFiles(x86)目录或环境变量判断系统版本/架构,或者用以下工具和插件来识别IIS版本,IIS6(03)、7(08)、8(12)、10(10/16),大部分≤03为x86,≥08为x64。

wmic cpu get addresswidth|more +1 | find /i "32"wmic cpu get addresswidth|more +1 | find /i "64"
工具和插件:NmapShodanWhatwebWappalyzerServer Details...
Windows内核溢出漏洞提权利用

(4) 可读写目录/文件

如果遇到某虚拟主机,磁盘权限设置较为严格,cmd.exe被降权执行不了命令,常见的可读写目录也无法读取,这时就需要用到扫描可读写的脚本来查找可读写目录,用于上传cmd.exe和提权EXP等。

Windows内核溢出漏洞提权利用

(5) 探测可支持脚本

当ASP脚本不能执行命令时可以去测试下是否支持PHP、ASPX,只需在一个可写Web目录下新建对应脚本文件,内容随便填写,看下是否能够正常解析,可以则说明支持该脚本。

Windows内核溢出漏洞提权利用

如果中间件为IIS时建议用ASPX脚本去执行命令。之前看有很多师傅说ASPX的权限要比ASP、PHP高,其实并不是的,权限都是一样的,只是各脚本调用执行命令的方式不一样而已。


ASP主要是用Wscript.shell、Shell.Application组件执行的命令,而ASPX最常用的是Process.StartInfo类。

Windows内核溢出漏洞提权利用

0x03 安全补丁对比

接着我们可以通过执行以下命令来获取目标主机上已安装的安全补丁KB编号,获取方式有很多,但基本上都是利用Win32_QuickFixEngineering这个类来进行查询的,360不会拦截。

systeminfo | findstr KBwmic qfe list full | findstr HotFixpowershell Get-HotFixpowershell Get-WmiObject -Class Win32_QuickFixEngineeringwmic qfe get Caption,CSname,Description,HotFixID,InstalledBy,InstalledOnwmic path win32_quickfixengineering get Caption,CSname,Description,HotFixID,InstalledBy,InstalledOn
https://docs.microsoft.com/zh-cn/windows/desktop/CIMWin32Prov/win32-quickfixengineeringhttps://docs.microsoft.com/zh-cn/powershell/module/Microsoft.PowerShell.Management/Get-HotFix?view=powershell-5.1
Windows内核溢出漏洞提权利用


得到安全补丁KB编号后就可以利用以下在线提权辅助平台或相关项目来进行对比,Windows-Exploit-Suggester早已过时停止更新,推荐用WES-NG,还一直有更新,但也会有误报。

https://patchchecker.com/https://i.hacking8.com/tiquan/https://github.com/bitsadmin/wesnghttps://github.com/GDSSecurity/Windows-Exploit-Suggester
Windows内核溢出漏洞提权利用


Windows-Exploit-Suggester是根据Microsoft安全公告数据进行对比,而WES-NG则是根据Microsoft安全公告、MSRC API以及NVD漏洞等多个数据进行对比,详情可去对应项目中查看。

Windows内核溢出漏洞提权利用

同时我们也可以使用Metasploit下的local_exploit_suggester模块来直接查找可利用的提权模块,通过找到的这些模块就可以直接进行提权了,但也并不是每一个都能成功的。

run post/windows/gather/enum_patchesrun post/multi/recon/local_exploit_suggester
Windows内核溢出漏洞提权利用


0x04 获取POC/EXP

得知某个漏洞MS/CVE编号后可以去Baidu、Google、Twitter、Facebook、Github、Exploit-db等网站去查找漏洞详情及POC/EXP,或者通过地下黑市购买,也可以多关注下ze0r、zcgonvh、k8gege、Ascotbe几个师傅的Github,他们会不定期发一些编译好的提权EXP。  


安全漏洞库:

https://nvd.nist.govhttp://cve.scap.org.cnhttps://www.seebug.orghttps://www.cnvd.org.cnhttp://www.cnnvd.org.cnhttps://www.securityfocus.comhttp://www.nsfocus.net/vulndbhttps://msrc.microsoft.com/update-guide
KB、POC、EXP查找:
https://0day.todayhttps://www.exploit-db.comhttp://kernelhub.ascotbe.comhttps://github.com/Ascotbe/Kernelhubhttps://github.com/qazbnm456/awesome-cve-pochttps://github.com/SecWiki/windows-kernel-exploitshttps://www.catalog.update.microsoft.com/home.aspx
Windows内核溢出漏洞提权利用


个人比较推荐@Ascotbe师傅整理的这个项目,覆盖了大部分Windows提权漏洞,而且作者均已进行复现测试并记录了受影响的各个系统版本。

Windows内核溢出漏洞提权利用

或者也可以参考下我之前整理分享的一个Windows提权相关漏洞的测试表格,包含了我所有测试过的提权EXP和MSF下的提权、BypassUAC模块。

Windows内核溢出漏洞提权利用


找到影响该系统的漏洞提权EXP后就可以将其上传至目标的可读写目录中进行提权操作,但我个人建议最好是能先在本地测试环境中测试,确定没问题以后再去实战环境中应用。

Windows内核溢出漏洞提权利用


注:新出一个特权提升漏洞时先去了解受影响版本,然后找到可利用的提权EXP并在本地各版本操作系统上进行测试,确定没问题后再去实战中应用,而不是无脑一顿EXP乱怼...


0x05 一些注意事项

(1) 如果不能执行命令就没法进行下一步操作,所以说这也是至关重要的一步,在拿到Webshell后先确定下是否能够执行命令?不能执行命令的原因是什么?然后再根据找到的原因去做针对性的绕过测试,可参考我之前写的这篇文章:Webshell不能执行命令常见原因

(2) Window提权EXP的执行方式并不是唯一的,而是取决于作者的源码是如何编写的,如我之前测试过的CVE-2018-0824、CVE-2018-8639等。在利用别人已经编译好的提权EXP时还需要自己多测试分析,可参考我之前写的这篇文章:Windows提权EXP多种执行方式


(3) 我们经常能在一些可读写目录看到各式各样的提权EXP,这是因为大部分人提权时都不会先去看下当前用户权限,主机系统03/08/12/16/19和架构x86/x64,也不管这个提权EXP有没有影响该系统,上去就是一顿EXP乱怼,这样真不好,成功率不说,也可能出现蓝屏。


(4) 提权时不能完全依赖于Windows Exploit Suggester这类辅助工具,因为基本都是与安全补丁的KB编号进行比对,而微软的每一个安全漏洞受影响的产品和版本都不一样,所以他们会根据不同的产品、版本来发布多个安全补丁,KB编号自然就不一样,有时一次大的系统更新也会包含老漏洞的补丁,那么原来安装的补丁也就会被替换,所以我们在利用提权EXP前最好先去微软官方查看下这个漏洞对应的补丁编号,没有老漏洞的补丁编号并不能代表这个漏洞是没有被修复的。



关 注 有 礼



关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包

Windows内核溢出漏洞提权利用 还在等什么?赶紧点击下方名片关注学习吧!Windows内核溢出漏洞提权利用


推 荐 阅 读




Windows内核溢出漏洞提权利用
Windows内核溢出漏洞提权利用
Windows内核溢出漏洞提权利用

Windows内核溢出漏洞提权利用

原文始发于微信公众号(潇湘信安):Windows内核溢出漏洞提权利用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月25日13:53:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows内核溢出漏洞提权利用https://cn-sec.com/archives/1198318.html

发表评论

匿名网友 填写信息