如何使用CMLoot发现SCCMCM SMB共享中存储的敏感文件
2023-5-18 19:0:6
Author: FreeBuf(查看原文)
阅读量:15
收藏
关于CMLoot
CMLoot是一款真的SMB共享的文件爬取工具,在该工具的帮助下,广大研究人员能够轻松寻找存储在系统中心配置管理器(SCCM/CM) SMB共享中的敏感文件。这类共享主要用于将软件分发到Windows企业环境中的Windows客户端,同时可以包含带有密码和证书(pfx)等敏感信息的脚本/配置文件。大多数SCCM部署都配置为允许所有用户读取共享上的文件,但有时仅限于计算机帐户使用。其中,DataLib文件夹中包含了很多.INI文件,这些.INI文件以原始文件名+.INI命名,而这些.INI文件包含文件的哈希,文件本身以“<文件夹名称:哈希的4个首字符>\ 完整哈希”的格式存储在FileLib中。 CM访问账号
我们可以对CM中的包应用访问控制机制,但这只会保护包含DataLib文件描述符记录的文件夹,而非文件本身。CMLoot将在清点过程中记录它无法访问(访问被拒绝)的任何包或文件,接下来,Invoke-CMLootHunt以使用此文件枚举访问控制试图保护的实际文件。 工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:git clone https://github.com/1njected/CMLoot.git
(向右滑动,查看更多)
工具使用
下列命令可以通过在活动目录中搜索CM服务器或通过在安装了SC(系统中心)的工作站中搜索注册表键来寻找CM服务器:(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\SMS\DP -Name ManagementPoints).ManagementPoints
(向右滑动,查看更多)
目标设备或网络中可能部署了多个CM服务器,它们可以包含不同的文件,所以一定要找到所有这些文件。为此,我们需要创建一个清单文件,它只是一个包含对文件描述符(.INI)引用的文本文件。以下命令将解析SCCM服务器上的所有.INI文件,以创建可用文件列表:PS> Invoke-CMLootInventory -SCCMHost sccm01.domain.local -Outfile sccmfiles.txt
(向右滑动,查看更多)
然后使用清单文件来创建目标并下载有价值的敏感文件:PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -GridSelect
(向右滑动,查看更多)
PS> Invoke-CMLootDownload -SingleFile \\sccm\SCCMContentLib$\DataLib\SC100001.1\x86\MigApp.xml
(向右滑动,查看更多)
PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -Extension ps1
(向右滑动,查看更多)
Invoke-CMLootHunt -SCCMHost sccm -NoAccessFile sccmfiles_noaccess.txt
(向右滑动,查看更多)
Invoke-CMLootExtract -Path .\CMLootOut\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
文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651224750&idx=4&sn=f26f51c660d42d4bdf9571fc5b8682f2&chksm=bd1de8258a6a61330dbf49d79c284097427f4a611bf6a5d7e5d8e171de2e3f5e309b337d4efa#rd
如有侵权请联系:admin#unsafe.sh