前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用CMLoot发现SCCMCM SMB共享中存储的敏感文件

如何使用CMLoot发现SCCMCM SMB共享中存储的敏感文件

作者头像
FB客服
发布2023-05-19 10:42:10
1.3K0
发布2023-05-19 10:42:10
举报
文章被收录于专栏:FreeBuf

 关于CMLoot 

CMLoot是一款真的SMB共享的文件爬取工具,在该工具的帮助下,广大研究人员能够轻松寻找存储在系统中心配置管理器(SCCM/CM) SMB共享中的敏感文件。

这类共享主要用于将软件分发到Windows企业环境中的Windows客户端,同时可以包含带有密码和证书(pfx)等敏感信息的脚本/配置文件。大多数SCCM部署都配置为允许所有用户读取共享上的文件,但有时仅限于计算机帐户使用。

SCCM/CM的内容库有一个“复杂”的文件结构:

其中,DataLib文件夹中包含了很多.INI文件,这些.INI文件以原始文件名+.INI命名,而这些.INI文件包含文件的哈希,文件本身以“<文件夹名称:哈希的4个首字符>\ 完整哈希”的格式存储在FileLib中。

 CM访问账号 

我们可以对CM中的包应用访问控制机制,但这只会保护包含DataLib文件描述符记录的文件夹,而非文件本身。CMLoot将在清点过程中记录它无法访问(访问被拒绝)的任何包或文件,接下来,Invoke-CMLootHunt以使用此文件枚举访问控制试图保护的实际文件。

 工具下载 

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/1njected/CMLoot.git

(向右滑动,查看更多)

 工具使用 

下列命令可以通过在活动目录中搜索CM服务器或通过在安装了SC(系统中心)的工作站中搜索注册表键来寻找CM服务器:

代码语言:javascript
复制
代码语言:javascript
复制
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\SMS\DP -Name ManagementPoints).ManagementPoints

(向右滑动,查看更多)

目标设备或网络中可能部署了多个CM服务器,它们可以包含不同的文件,所以一定要找到所有这些文件。

为此,我们需要创建一个清单文件,它只是一个包含对文件描述符(.INI)引用的文本文件。以下命令将解析SCCM服务器上的所有.INI文件,以创建可用文件列表:

代码语言:javascript
复制
代码语言:javascript
复制
PS> Invoke-CMLootInventory -SCCMHost sccm01.domain.local -Outfile sccmfiles.txt

(向右滑动,查看更多)

然后使用清单文件来创建目标并下载有价值的敏感文件:

代码语言:javascript
复制
代码语言:javascript
复制
PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -GridSelect

(向右滑动,查看更多)

下载单个文件:

代码语言:javascript
复制
代码语言:javascript
复制
PS> Invoke-CMLootDownload -SingleFile \\sccm\SCCMContentLib$\DataLib\SC100001.1\x86\MigApp.xml

(向右滑动,查看更多)

下载包含特定文件扩展的所有文件:

代码语言:javascript
复制
代码语言:javascript
复制
PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -Extension ps1

(向右滑动,查看更多)

尝试搜索无法访问的共享:

代码语言:javascript
复制
代码语言:javascript
复制
Invoke-CMLootHunt -SCCMHost sccm -NoAccessFile sccmfiles_noaccess.txt

(向右滑动,查看更多)

提取MSI文件:

代码语言:javascript
复制
Invoke-CMLootExtract -Path .\CMLootOut\msi

(向右滑动,查看更多)

 工具运行演示 

运行清单文件,扫描可用文件:

使用GridSelect选择文件:

下载所有扩展:

搜索不可访问的文件并提取MSI:

 许可证协议 

本项目的开发与发布遵循BSD-3-Clause开源许可证协议。

 项目地址 

CMLoot:https://github.com/1njected/CMLoot

参考资料

https://techcommunity.microsoft.com/t5/configuration-manager-archive/understanding-the-configuration-manager-content-library/ba-p/273349

精彩推荐

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于CMLoot 
  •  CM访问账号 
  •  工具下载 
  • (向右滑动,查看更多)
  •  工具使用 
  • (向右滑动,查看更多)
  • (向右滑动,查看更多)
  • (向右滑动,查看更多)
  • (向右滑动,查看更多)
  • (向右滑动,查看更多)
  • (向右滑动,查看更多)
  • (向右滑动,查看更多)
  •  工具运行演示 
  •  许可证协议 
  •  项目地址 
  • 参考资料
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档