Skip to main content

sccm-recon

Perform SCCM reconnaissance and takeover prerequisite validation, including site-role mapping, provider and AdminService checks, site database separation checks, and relay-path prechecks.

Jump to install

Source facts

Repository
SpecterOps/skills
Last source activity
May 29, 2026 at 15:51
Detected SKILL.md language
English
Stars
657
Forks
72

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
sccm-recon
description
Perform SCCM reconnaissance and takeover prerequisite validation, including site-role mapping, provider and AdminService checks, site database separation checks, and relay-path prechecks.
metadata
{"author":"GhostWorks"}
# SCCM Recon Use this skill to identify SCCM infrastructure and validate the prerequisites needed for follow-on SCCM operations such as site takeover, provider abuse, or controlled client-execution validation. This skill is the preferred precursor to `$sccm-takeover-relay`. ## Direct Triggers Use this skill when the task mentions any of the following: - SCCM recon - ConfigMgr recon - find the site server - find the SMS Provider - find the site database - validate SCCM takeover prerequisites - AdminService check - SCCM site role mapping ## Input Contract Accept input as: `TARGET [MODE] [NOISE]` Mode: - `plan`: produce the recon plan and command set only - `execute` (default): run bounded checks and capture evidence Noise: - `low` (default): focused validation against known or likely SCCM assets - `medium`: broader SCCM role discovery and enrichment - `high`: aggressive probing, approval required Examples: - `$sccm-recon 192.0.2.20 execute low` - `$sccm-recon corp.local plan` - `$sccm-recon smsprov01.corp.local execute medium` ## Objectives 1. Identify likely SCCM assets and roles: - site server - SMS Provider - site database host - management point - distribution point 2. Identify SCCM-specific services and interfaces where feasible: - `mssms`-related SQL context - `SMS_SITE_COMPONENT_MANAGER` and related role hints - AdminService - provider/WMI access points 3. Validate takeover prerequisites for follow-on operations: - site database is separate from the coercion target - likely relay path to MSSQL exists - candidate site-system hosts are high-value coercion targets - EPA/NTLM conditions need further verification ## Preconditions 1. Confirm the target or target range is in scope. 2. Prefer known SCCM hosts first before expanding outward. 3. If using pivots or C2 egress paths, note the transport and path assumptions in evidence. ## Tooling Setup Before execution, confirm where the skill will run and whether the following tools are available on that host. Preferred Linux tooling: - `nmap` - `curl` - `rpcclient` - `smbclient` - `nc` Typical Kali/Debian install commands: ```bash sudo apt-get update sudo apt-get install -y nmap curl netcat-openbsd smbclient rpcbind ``` Notes: - `rpcclient` and `smbclient` are typically provided by the Samba client packages on Debian/Kali systems. - If `rpcclient` is not present after install, verify with: ```bash which rpcclient which smbclient ``` If this recon must run through a pivot or team server, record: - host running the commands - pivot method, if any - whether `$proxychains-tunnel` should wrap the commands Do not begin execution until the operator path for running the recon is clear. ## Execution Workflow 1. Build the host set. - start with operator-provided hostnames/IPs - enrich with DNS and naming clues when available, for example: - `sccm` - `cm` - `mecm` - `sms` - `mp` - `dp` - `cas` 2. Run low-noise service checks. - confirm core Windows service exposure and likely SCCM surfaces: - SMB `445` - RPC `135` - WinRM `5985/5986` - MSSQL `1433` - HTTP/HTTPS `80/443` - check for AdminService paths when web services are present 3. Identify likely roles. - infer role from service exposure, hostname conventions, and accessible web/API surfaces - distinguish confirmed role evidence from naming-based hypotheses 4. Validate site database separation and relay path assumptions. - check whether the candidate site DB host differs from the candidate coercion target - check whether MSSQL is reachable on the site DB host - record any evidence that the SMS Provider is on a separate host 5. Gather takeover-specific prereqs for handoff. - likely coercion targets - likely MSSQL relay targets - likely SMS Provider verification target - reachable ports relevant to takeover - blockers such as closed `1433`, no reachable provider, or collapsed single-host architecture 6. Produce a normalized handoff for `$sccm-takeover-relay`. 7. Troubleshoot relay-path assumptions when needed. - if a required relay port appears blocked, compare it against a temporary listener on another known-allowed port - if the alternate port is reachable but the required port is refused, treat that as evidence of a port-specific environment restriction - record the test commands and outcomes for both ports ## Command Patterns ### Focused port validation ```bash nmap -Pn -p 80,135,139,443,445,1433,5985,5986 <TARGET> ``` ### HTTP header and AdminService probing ```bash curl -isk https://<TARGET>/AdminService/wmi/ curl -isk https://<TARGET>/ccm_system/request ``` ### SMB and host-role context ```bash rpcclient -N -U "" <TARGET> smbclient -L //<TARGET> -N ``` ### SQL reachability ```bash nc -zv <TARGET> 1433 ``` Use `$ssh-ops` or `$proxychains-tunnel` when these checks should run through operator-controlled remote or tunneled command execution. If the operator provides external MCP tooling, verify the relevant MCP tools are available before relying on them. ## OPSEC Gate Require explicit operator confirmation before: - subnet-wide SCCM hunting across many hosts - aggressive web/content discovery - intrusive RPC/SMB enumeration beyond bounded checks - any brute force, spraying, or exploit execution Before requesting approval, include: - exact action - objective - expected impact - assumptions/prerequisites - telemetry and detection surfaces - expected noise level ## Output Requirements For each run, include: - target(s) tested - exact commands and outputs - candidate SCCM roles per host with confidence labels: - `confirmed` - `likely` - `unknown` - takeover-prereq assessment: - candidate coercion target - candidate site DB target - candidate SMS Provider target - relevant port reachability - blockers and unknowns - timestamps in UTC ISO 8601 - recommended next step ## Handoff To `sccm-takeover-relay` When used as a precursor, provide: - `coercion_target` - `site_db_target` - `sms_provider_target` - `relay_path_notes` - `candidate_site_code` - `confidence` - `blocked_by` if prerequisites are incomplete ## Port Troubleshooting Guidance When validating relay-host reachability through SOCKS, pivots, or C2 transport: 1. test the intended port first 2. if it fails, stand up a temporary listener on a different port on the same relay host 3. test the same path to that alternate port 4. interpret results: - alternate port succeeds, intended port fails: - likely port-specific outbound or environment restriction - both fail: - broader path, routing, firewall, or listener issue - both succeed: - relay-path connectivity is not the blocker ## Reporting Notes Prefer high-signal evidence over broad host counts. If role certainty is weak, say so and recommend the narrowest next validation step.
View on GitHub