购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.2 利用SCCM进行信息枚举

1.通过LDAP定位SCCM站点信息

在配置SCCM时,经常需要利用Active Directory来发布相关的SCCM信息。这一过程需要添加新的属性和类别来实现对Active Directory的扩展。在配置过程中,通常会在System容器下创建一个新的System Management容器,专门用来存储SCCM发布给域内客户端的所有数据。例如,SCCM会发布DNS解析记录,以便客户端能够查询到其默认的管理端点。SCCM的常见属性和类如表2-1所示。

表2-1 SCCM的常见属性和类

(1)System Management

如果存在System Management,则证明该域内已经安装了SCCM服务器。同时,为了允许SCCM将站点数据发布到容器,域中的所有站点服务器都需要对容器拥有完全控制权限。查询容器本身,然后解析被授予完全控制权限的主体,就可以识别潜在的站点服务器。

(2)cn=MS-SMS-Site

当每个站点发布到AD时,都会发布一个mSSMSSite类,以标识一个域中可以发布多少个单独站点。其属性说明如表2-2所示。

表2-2 mSSMSSite类属性说明

(3)cn=MS-SMS-Management-Point

SCCM使用mSMSManagementPoint类为SCCM客户端发布详细信息,以识别其各自的默认管理点(MP),其属性说明如表2-3所示。

表2-3 mSMSManagementPoint类属性说明

可以使用PowerShell来定位SCCM站点,执行如下命令。详细的执行过程和结果参考图2-1。

图2-1 通过PowerShell定位SCCM站点

(4)常见命名格式

我们可以检查安全组、组织单位、用户名和组策略对象是否包含“SCCM”字样来定位SCCM服务器。通常,这些对象会包含“SCCM”等关键词,我们可以根据这一点来定位SCCM服务器,如sccmadmins、SCCMDP1等。

2.通过SMB定位站点信息

(1)站点服务器共享

站点服务器通常配置多个默认共享,它们除了共享名称包含“SMS_SITE”等特定字符串之外,还会在共享注释中提供相应描述信息。我们可以使用net view命令来查看站点服务器的共享,以判断该站点服务器是不是相应的SCCM服务器,如图2-2所示。

图2-2 判断是不是SCCM服务器

(2)分发点服务器共享

在SCCM架构中,分发点服务器和站点服务器有着相同的共享。以SMS_DP$为例,它在分发点服务器和站点服务器的不同描述如表2-4所示。

表2-4 SMS_DP$在分发点服务器与站点服务器的不同描述

如果目标站点启用了PXE,则会有相应的REMINST共享,如图2-3所示。

图2-3 启用PXE后的PEMINST共享

(3)Windows服务器更新服务

在通常情况下,配置SCCM时一般添加WSUS(Windows Server Update Services,Windows服务器更新服务),且默认会建立相应的共享,如图2-4所示。通过这点也可以快速定位相应的站点服务器或分发点服务器。

图2-4 WSUS默认共享

3.通过HTTP定位SCCM站点信息

SCCM在配置时会在主机系统上配置Web服务,通过枚举一些特定的URL,即可通过HTTP验证SCCM站点信息。

(1)Management Points

管理点(Management Points)一般会托管多个应用程序,并且具有客户端通信、策略分发、运行状况监控等多种功能。配置此角色的站点系统具有一些特定的URL路径(交互时需要身份验证),我们可以在服务器上通过如下命令枚举相应的URL路径,并将其保存到字典中,以定位具有管理点角色的服务器。可以通过如下命令查看管理点配置的特定URL。结果如图2-5所示。

图2-5 枚举Management Points默认URL

例如,可以通过HTTP来进行相应的URL验证,返回的管理点服务器如图2-6所示。

(2)SMS Provider

在SCCM中,SMS Provider是关键的组件,充当SCCM管理界面和SCCM数据库之间的中介。它提供了一组用于管理SCCM环境的程序接口,允许管理员和自动化脚本通过这些接口访问和操作SCCM数据库中的数据。在SCCM中,SMS Provider提供了两种主要的接口来访问和管理SCCM数据,分别为WMI(Windows Management Instrumentation,Windows管理规范)接口和AdminService接口。这样就存在如下两个需要经身份验证的静态URL路径供我们进行站点识别。

图2-6 通过HTTP验证URL

4.SCCM管理主机定位SCCM站点信息

如果拥有SCCM管理主机的权限,我们就可以通过Get-WmiObject或Get-CimInstance来进行SCCM站点定位,结果如图2-7、图2-8所示。

图2-7 通过Get-WmiObject定位站点信息

除去利用PowerShell获取站点信息外,我们还可以通过Windows自带的Wbemtest.exe进行图形化查询。首先连接root/ccm命名空间,如图2-9所示。

然后选择“查询”,如图2-10所示。

图2-8 通过Get-CimInstance定位站点信息

图2-9 利用Wbemtest连接root\ccm

图2-10 选择查询功能

之后即可输入WQL查询语句“SELECT*FROM SMS_Authority”进行查询,如图2-11所示。查询结果如图2-12所示。

图2-11 使用WQL进行查询

图2-12 SMS_Authority查询结果

还可以借助SharpSCCM之类的工具进行枚举,后面会进行具体讲解,这里不再赘述。

5.利用nmap对SCCM进行无需认证的枚举

首先通过nmap的端口进行判断,筛选可能是SCCM的目标。然后利用ssl-cert脚本进行定位,结果如图2-13所示。

图2-13 利用nmap定位SCCM服务器 r2sKgiLBfI5AoktBNzzhpo4MZlvzUHCrrg/U1LTbeEEITQzwMQle6gsVXzIRPoHD

点击中间区域
呼出菜单
上一章
目录
下一章
×