performing-privileged-account-discovery skill (Anthropic-Cybersecurity-Skills)
- Install
- SKILL.md (verbatim)
- Overview
- When to Use
- Prerequisites
- Objectives
- Security Controls
- Verification
- Other files in this skill
- references/api-reference.md (verbatim)
- ldap3 Library
- Connection Setup
- Key Search Filters
- LDAP Matching Rules (OIDs)
- UserAccountControl Flags
- Default Privileged Groups
- Output Schema
- CLI Usage
What it does. Discovers and inventories privileged accounts across enterprise infrastructure, Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
| Upstream | mukul975/Anthropic-Cybersecurity-Skills |
| Skill file | skills/performing-privileged-account-discovery/SKILL.md |
| License | Apache-2.0 (skill folder LICENSE) |
| Author | mukul975 |
| Fetched | 2026-09-10 |
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-privileged-account-discovery, or copy the skill folder into~/.claude/skills/performing-privileged-account-discovery/.- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/performing-privileged-account-discovery/SKILL.md
SKILL.md (verbatim)
name: performing-privileged-account-discovery
description: Discovers and inventories privileged accounts across enterprise infrastructure,
including domain admins, local admins, service accounts, database admins, cloud
IAM roles, and application admin accounts, using automated scanning and risk classification.
Use when building a privileged account inventory, onboarding accounts to a PAM
solution, or scoping which accounts need privileged-access controls.
domain: cybersecurity
subdomain: identity-access-management
tags:
- iam
- identity
- access-control
- privileged-access
- discovery
- inventory
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.AA-01
- PR.AA-02
- PR.AA-05
- PR.AA-06
mitre_attack:
- T1078
- T1110
- T1556
- T1098
- T1078.004
Performing Privileged Account Discovery
Overview
Discover and inventory all privileged accounts across enterprise infrastructure including domain admins, local admins, service accounts, database admins, cloud IAM roles, and application admin accounts. Covers automated scanning, risk classification, and onboarding to PAM.
When to Use
- When conducting security assessments that involve performing privileged account discovery
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- Familiarity with identity access management concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
Objectives
- Implement comprehensive performing privileged account discovery capability
- Establish automated discovery and monitoring processes
- Integrate with enterprise IAM and security tools
- Generate compliance-ready documentation and reports
- Align with NIST 800-53 access control requirements
Security Controls
| Control | NIST 800-53 | Description |
|---|---|---|
| Account Management | AC-2 | Lifecycle management |
| Access Enforcement | AC-3 | Policy-based access control |
| Least Privilege | AC-6 | Minimum necessary permissions |
| Audit Logging | AU-3 | Authentication and access events |
| Identification | IA-2 | User and service identification |
Verification
- Implementation tested in non-production environment
- Security policies configured and enforced
- Audit logging enabled and forwarding to SIEM
- Documentation and runbooks complete
- Compliance evidence generated
Other files in this skill
references/api-reference.md (verbatim)
Privileged Account Discovery — API Reference
ldap3 Library
Python LDAP client used for querying Active Directory.
Connection Setup
from ldap3 import Server, Connection, ALL, SUBTREE
server = Server("ldaps://dc.example.com", get_info=ALL, use_ssl=True)
conn = Connection(server, user="DOMAIN\user", password="pass", auto_bind=True)
Key Search Filters
| Purpose | LDAP Filter |
|---|---|
| Privileged group | (&(objectClass=group)(cn=Domain Admins)) |
| Nested membership | (memberOf:1.2.840.113556.1.4.1941:=<group_dn>) |
| Service accounts | (&(objectClass=user)(servicePrincipalName=*)) |
| AdminCount flag | (&(objectClass=user)(adminCount=1)) |
| Disabled accounts | (&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=2)) |
LDAP Matching Rules (OIDs)
1.2.840.113556.1.4.1941—LDAP_MATCHING_RULE_IN_CHAIN(recursive group membership)1.2.840.113556.1.4.803—LDAP_MATCHING_RULE_BIT_AND(bitwise AND for UAC flags)
UserAccountControl Flags
| Flag | Hex | Description |
|---|---|---|
| ACCOUNTDISABLE | 0x0002 | Account is disabled |
| PASSWD_NOTREQD | 0x0020 | No password required |
| DONT_EXPIRE_PASSWORD | 0x10000 | Password never expires |
| NOT_DELEGATED | 0x100000 | Account is sensitive for delegation |
Default Privileged Groups
Domain Admins, Enterprise Admins, Schema Admins, Administrators, Account Operators, Backup Operators, Server Operators, Print Operators, DnsAdmins.
Output Schema
{
"report": "privileged_account_discovery",
"domain": "DC=example,DC=com",
"privileged_groups": [{"group": "Domain Admins", "member_count": 5, "members": []}],
"service_accounts": [{"username": "svc_sql", "spns": ["MSSQLSvc/db01:1433"]}],
"admin_count_users": ["oldadmin", "testuser"]
}
CLI Usage
python agent.py --server ldaps://dc.example.com --username "DOMAIN\analyst" --password "pass" --output report.json
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.