Performing Service Account Audit
Overview
Audit service accounts across enterprise infrastructure to identify orphaned, over-privileged, and non-compliant accounts. This skill covers discovery of service accounts in Active Directory, cloud platforms, databases, and applications, assessing privilege levels, identifying missing owners, and enforcing lifecycle policies.
When to Use
- When conducting security assessments that involve performing service account audit
- 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
- Discover all service accounts across AD, cloud, databases, and applications
- Identify orphaned accounts with no valid owner or associated application
- Assess privilege levels and flag over-privileged service accounts
- Check for non-rotating passwords and weak authentication
- Map service account dependencies for safe remediation
- Generate compliance reports for SOX, PCI DSS, and HIPAA audits
Key Concepts
Service Account Types
- AD Service Accounts: Windows services, scheduled tasks, IIS app pools
- Managed Service Accounts (gMSA): AD-managed automatic password rotation
- Cloud IAM Service Accounts: AWS IAM roles/users, Azure service principals, GCP service accounts
- Database Service Accounts: Application connection accounts, replication accounts
- Application Service Accounts: API keys, bot accounts, integration accounts
Audit Dimensions
- Ownership: Who is responsible for this account?
- Purpose: What application/service uses this account?
- Privileges: What permissions does this account have?
- Authentication: How does this account authenticate (password, key, certificate)?
- Rotation: When was the credential last changed?
- Activity: When was this account last used?
Workflow
Step 1: Discovery - Active Directory
- Query AD for all service accounts (filter by description, OU, naming convention)
- Identify accounts with
ServicePrincipalName set
- List accounts in privileged groups (Domain Admins, Enterprise Admins)
- Check for gMSA vs traditional service accounts
- Identify accounts with
PasswordNeverExpires flag
Step 2: Discovery - Cloud Platforms
- AWS: List IAM users with access keys, check last used date, identify unused roles
- Azure: Enumerate service principals, app registrations, managed identities
- GCP: List service accounts, check key age, identify unused permissions
Step 3: Assessment
- Flag accounts with admin/privileged group membership
- Check password age against rotation policy (90 days max)
- Identify accounts with no login activity in 90+ days
- Verify account ownership against CMDB/asset inventory
- Check for shared credentials (same password hash across accounts)
Step 4: Risk Classification
- Critical: Domain/cloud admin privileges, no password rotation
- High: Access to sensitive data, no identified owner
- Medium: Standard service permissions, password older than 90 days
- Low: Read-only access, managed credentials (gMSA, managed identity)
Step 5: Remediation
- Disable orphaned accounts after validation with application teams
- Convert traditional service accounts to gMSA where possible
- Rotate credentials older than policy threshold
- Reduce privileges to minimum required
- Assign owners and document dependencies
Security Controls
| Control |
NIST 800-53 |
Description |
| Account Management |
AC-2 |
Service account lifecycle |
| Account Review |
AC-2(3) |
Periodic review of accounts |
| Least Privilege |
AC-6 |
Minimum service account permissions |
| Authenticator Management |
IA-5 |
Service credential rotation |
| Audit Review |
AU-6 |
Review service account activity |
Common Pitfalls
- Disabling service accounts without verifying application dependencies first
- Not discovering service accounts outside of Active Directory
- Missing cloud service principals and managed identities
- Not checking for interactive logon rights on service accounts
- Failing to document dependencies before remediation
Verification
Source: mukul975/Anthropic-Cybersecurity-Skills → skills/performing-service-account-audit/SKILL.md
1---2name: performing-service-account-audit3description: Audit service accounts across enterprise infrastructure to identify orphaned, over-privileged, and non-compliant accounts. This skill covers discovery of service accounts in Active Directory, cloud pl4---5
6# Performing Service Account Audit
7
8## Overview
9Audit service accounts across enterprise infrastructure to identify orphaned, over-privileged, and non-compliant accounts. This skill covers discovery of service accounts in Active Directory, cloud platforms, databases, and applications, assessing privilege levels, identifying missing owners, and enforcing lifecycle policies.
10
11
12## When to Use
13
14- When conducting security assessments that involve performing service account audit
15- When following incident response procedures for related security events
16- When performing scheduled security testing or auditing activities
17- When validating security controls through hands-on testing
18
19## Prerequisites
20
21- Familiarity with identity access management concepts and tools
22- Access to a test or lab environment for safe execution
23- Python 3.8+ with required dependencies installed
24- Appropriate authorization for any testing activities
25
26## Objectives
27- Discover all service accounts across AD, cloud, databases, and applications
28- Identify orphaned accounts with no valid owner or associated application
29- Assess privilege levels and flag over-privileged service accounts
30- Check for non-rotating passwords and weak authentication
31- Map service account dependencies for safe remediation
32- Generate compliance reports for SOX, PCI DSS, and HIPAA audits
33
34## Key Concepts
35
36### Service Account Types
371. **AD Service Accounts**: Windows services, scheduled tasks, IIS app pools
382. **Managed Service Accounts (gMSA)**: AD-managed automatic password rotation
393. **Cloud IAM Service Accounts**: AWS IAM roles/users, Azure service principals, GCP service accounts
404. **Database Service Accounts**: Application connection accounts, replication accounts
415. **Application Service Accounts**: API keys, bot accounts, integration accounts
42
43### Audit Dimensions
44- **Ownership**: Who is responsible for this account?
45- **Purpose**: What application/service uses this account?
46- **Privileges**: What permissions does this account have?
47- **Authentication**: How does this account authenticate (password, key, certificate)?
48- **Rotation**: When was the credential last changed?
49- **Activity**: When was this account last used?
50
51## Workflow
52
53### Step 1: Discovery - Active Directory
541. Query AD for all service accounts (filter by description, OU, naming convention)
552. Identify accounts with `ServicePrincipalName` set
563. List accounts in privileged groups (Domain Admins, Enterprise Admins)
574. Check for gMSA vs traditional service accounts
585. Identify accounts with `PasswordNeverExpires` flag
59
60### Step 2: Discovery - Cloud Platforms
61- **AWS**: List IAM users with access keys, check last used date, identify unused roles
62- **Azure**: Enumerate service principals, app registrations, managed identities
63- **GCP**: List service accounts, check key age, identify unused permissions
64
65### Step 3: Assessment
66- Flag accounts with admin/privileged group membership
67- Check password age against rotation policy (90 days max)
68- Identify accounts with no login activity in 90+ days
69- Verify account ownership against CMDB/asset inventory
70- Check for shared credentials (same password hash across accounts)
71
72### Step 4: Risk Classification
73- **Critical**: Domain/cloud admin privileges, no password rotation
74- **High**: Access to sensitive data, no identified owner
75- **Medium**: Standard service permissions, password older than 90 days
76- **Low**: Read-only access, managed credentials (gMSA, managed identity)
77
78### Step 5: Remediation
79- Disable orphaned accounts after validation with application teams
80- Convert traditional service accounts to gMSA where possible
81- Rotate credentials older than policy threshold
82- Reduce privileges to minimum required
83- Assign owners and document dependencies
84
85## Security Controls
86| Control | NIST 800-53 | Description |
87|---------|-------------|-------------|
88| Account Management | AC-2 | Service account lifecycle |
89| Account Review | AC-2(3) | Periodic review of accounts |
90| Least Privilege | AC-6 | Minimum service account permissions |
91| Authenticator Management | IA-5 | Service credential rotation |
92| Audit Review | AU-6 | Review service account activity |
93
94## Common Pitfalls
95- Disabling service accounts without verifying application dependencies first
96- Not discovering service accounts outside of Active Directory
97- Missing cloud service principals and managed identities
98- Not checking for interactive logon rights on service accounts
99- Failing to document dependencies before remediation
100
101## Verification
102- [ ] Service accounts inventoried across all platforms
103- [ ] Each account has assigned owner
104- [ ] Privileged service accounts documented with justification
105- [ ] Password rotation compliance checked
106- [ ] Orphaned accounts flagged for remediation
107- [ ] gMSA migration candidates identified
108- [ ] Compliance report generated
109
110---
111
112**Source:** [`mukul975/Anthropic-Cybersecurity-Skills`](https://github.com/mukul975/Anthropic-Cybersecurity-Skills) → `skills/performing-service-account-audit/SKILL.md`