What it does. Detect abuse of service accounts by hunting for anomalous interactive Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-service-account-abuse, or copy the skill folder into ~/.claude/skills/detecting-service-account-abuse/.
- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/detecting-service-account-abuse/SKILL.md
SKILL.md (verbatim)
name: detecting-service-account-abuse
description: Detect abuse of service accounts by hunting for anomalous interactive
logons, privilege escalation, and lateral movement using EDR/SIEM telemetry
(CrowdStrike Falcon, Microsoft Defender, Splunk, Elastic Security, Sysmon,
Velociraptor) and Sigma detection rules. Use when hunting for service-account
misuse or investigating a service account performing unexpected interactive
logons.
domain: cybersecurity
subdomain: threat-hunting
tags:
- threat-hunting
- mitre-attack
- service-accounts
- privilege-escalation
- t1078
- proactive-detection
version: '1.0'
author: mahipal
license: Apache-2.0
d3fend_techniques:
- Restore Access
- Password Authentication
- Biometric Authentication
- Strong Password Policy
- Restore User Account Access
nist_csf:
- DE.CM-01
- DE.AE-02
- DE.AE-07
- ID.RA-05
mitre_attack:
- T1078.002
- T1021.001
- T1098.001
- T1550.002
Detecting Service Account Abuse
When to Use
- When proactively hunting for indicators of detecting service account abuse in the environment
- After threat intelligence indicates active campaigns using these techniques
- During incident response to scope compromise related to these techniques
- When EDR or SIEM alerts trigger on related indicators
- During periodic security assessments and purple team exercises
Prerequisites
- EDR platform with process and network telemetry (CrowdStrike, MDE, SentinelOne)
- SIEM with relevant log data ingested (Splunk, Elastic, Sentinel)
- Sysmon deployed with comprehensive configuration
- Windows Security Event Log forwarding enabled
- Threat intelligence feeds for IOC correlation
Workflow
- Formulate Hypothesis: Define a testable hypothesis based on threat intelligence or ATT&CK gap analysis.
- Identify Data Sources: Determine which logs and telemetry are needed to validate or refute the hypothesis.
- Execute Queries: Run detection queries against SIEM and EDR platforms to collect relevant events.
- Analyze Results: Examine query results for anomalies, correlating across multiple data sources.
- Validate Findings: Distinguish true positives from false positives through contextual analysis.
- Correlate Activity: Link findings to broader attack chains and threat actor TTPs.
- Document and Report: Record findings, update detection rules, and recommend response actions.
Key Concepts
| Concept |
Description |
| T1078.002 |
Domain Accounts |
| T1078.001 |
Default Accounts |
| T1021 |
Remote Services |
| Tool |
Purpose |
| CrowdStrike Falcon |
EDR telemetry and threat detection |
| Microsoft Defender for Endpoint |
Advanced hunting with KQL |
| Splunk Enterprise |
SIEM log analysis with SPL queries |
| Elastic Security |
Detection rules and investigation timeline |
| Sysmon |
Detailed Windows event monitoring |
| Velociraptor |
Endpoint artifact collection and hunting |
| Sigma Rules |
Cross-platform detection rule format |
Common Scenarios
- Scenario 1: Service account RDP to domain controller
- Scenario 2: SQL service accessing file shares outside scope
- Scenario 3: Backup service lateral movement off-hours
- Scenario 4: Compromised svc with DA privileges used for DCSync
Hunt ID: TH-DETECT-[DATE]-[SEQ]
Technique: T1078.002
Host: [Hostname]
User: [Account context]
Evidence: [Log entries, process trees, network data]
Risk Level: [Critical/High/Medium/Low]
Confidence: [High/Medium/Low]
Recommended Action: [Containment, investigation, monitoring]
Other files in this skill
assets/template.md (verbatim)
Detecting Service Account Abuse - Hunt Template
| Field |
Value |
| Hunt ID |
TH-DETECT-YYYY-MM-DD-NNN |
| Analyst |
|
| Date Started |
|
| Date Completed |
|
| Status |
[ ] In Progress / [ ] Complete |
| Priority |
[ ] Critical / [ ] High / [ ] Medium / [ ] Low |
Hypothesis
Statement: [Formulate a clear, testable hypothesis]
Basis: [ ] Threat Intel / [ ] ATT&CK Gap / [ ] Anomaly / [ ] Incident Follow-up
Target Techniques
Data Sources
Queries Executed
Query 1: [Description]
[Query text]
Results: [Count] events | Execution Time: [Duration]
Query 2: [Description]
[Query text]
Results: [Count] events | Execution Time: [Duration]
Findings
| # |
Timestamp |
Host |
User |
Technique |
Evidence Summary |
Risk |
Verdict |
| 1 |
|
|
|
|
|
|
TP / FP / BTP |
| 2 |
|
|
|
|
|
|
TP / FP / BTP |
| 3 |
|
|
|
|
|
|
TP / FP / BTP |
IOCs Discovered
Network IOCs
| Type |
Value |
Context |
Confidence |
| IP |
|
|
|
| Domain |
|
|
|
| URL |
|
|
|
Host IOCs
| Type |
Value |
Context |
Confidence |
| SHA256 |
|
|
|
| Filename |
|
|
|
| Registry Key |
|
|
|
| Scheduled Task |
|
|
|
Hunt Results Summary
| Metric |
Count |
| Total Events Analyzed |
|
| Anomalies Identified |
|
| True Positives |
|
| False Positives |
|
| Benign True Positives |
|
| New IOCs Discovered |
|
| Detection Rules Created |
|
| Detection Rules Updated |
|
Hypothesis Outcome
Recommendations
- Immediate Actions: [Containment, remediation steps]
- Detection Improvements: [New rules, tuning recommendations]
- Visibility Gaps: [Missing data sources, coverage needs]
- Security Hardening: [Configuration changes, policy updates]
- Follow-up Hunts: [Related hypotheses to investigate]
Analyst Notes
[Free-form notes, observations, and lessons learned]
references/api-reference.md (verbatim)
API Reference: Service Account Abuse Detection
Active Directory PowerShell Module
Get Service Accounts (SPN-based)
Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties `
ServicePrincipalName, LastLogonDate, Enabled, PasswordLastSet, `
PasswordNeverExpires, AdminCount, MemberOf
Get Managed Service Accounts
Get-ADServiceAccount -Filter * -Properties `
PrincipalsAllowedToRetrieveManagedPassword, LastLogonDate
Check Kerberos Delegation
Get-ADUser -Filter {TrustedForDelegation -eq $true} -Properties `
TrustedForDelegation, TrustedToAuthForDelegation, `
msDS-AllowedToDelegateTo
Windows Event Log Queries
Logon Type Values
| Type |
Description |
Concern for Service Accounts |
| 2 |
Interactive |
HIGH — should not happen |
| 3 |
Network |
Normal for services |
| 5 |
Service |
Normal |
| 10 |
RemoteInteractive (RDP) |
HIGH — should not happen |
Event IDs
| ID |
Log |
Description |
| 4624 |
Security |
Successful logon |
| 4625 |
Security |
Failed logon |
| 4648 |
Security |
Explicit credential use |
| 4672 |
Security |
Special privilege logon |
| 4720 |
Security |
Account created |
| 4738 |
Security |
Account modified |
Microsoft Graph API — Service Principal Audit
List Service Principals
GET https://graph.microsoft.com/v1.0/servicePrincipals
Authorization: Bearer {token}
List App Role Assignments
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignments
Audit Sign-In Logs
GET https://graph.microsoft.com/v1.0/auditLogs/signIns
?$filter=appId eq '{service-principal-app-id}'
AWS IAM — Service Role Audit
List service-linked roles
aws iam list-roles --query "Roles[?starts_with(Path, '/aws-service-role/')]"
Get role last used
aws iam get-role --role-name MyServiceRole \
--query "Role.RoleLastUsed"
Access Analyzer findings
aws accessanalyzer list-findings --analyzer-arn {arn} \
--filter '{"resourceType":{"eq":["AWS::IAM::Role"]}}'
references/standards.md (verbatim)
Standards and References - Detecting Service Account Abuse
MITRE ATT&CK Mappings
| Technique |
Name |
Description |
| T1078.002 |
Domain Accounts |
See attack.mitre.org/techniques/T1078/002 |
| T1078.001 |
Default Accounts |
See attack.mitre.org/techniques/T1078/001 |
| T1021 |
Remote Services |
See attack.mitre.org/techniques/T1021 |
Detection Data Sources
| Source |
Event ID |
Purpose |
| Sysmon |
1 |
Process creation with command line |
| Sysmon |
3 |
Network connection initiated |
| Sysmon |
7 |
Image loaded (DLL) |
| Sysmon |
10 |
Process access (LSASS) |
| Sysmon |
11 |
File creation |
| Sysmon |
12/13 |
Registry create/set |
| Sysmon |
22 |
DNS query |
| Sysmon |
25 |
Process tampering |
| Windows Security |
4624 |
Successful logon |
| Windows Security |
4625 |
Failed logon |
| Windows Security |
4648 |
Explicit credential logon |
| Windows Security |
4672 |
Special privileges assigned |
| Windows Security |
4688 |
Process creation |
| Windows Security |
4697 |
Service installed |
| Windows Security |
4698 |
Scheduled task created |
| Windows Security |
4769 |
Kerberos TGS requested |
| Windows Security |
5140 |
Network share accessed |
References
references/workflows.md (verbatim)
Detailed Hunting Workflow - Detecting Service Account Abuse
Phase 1: Data Collection and Querying
Splunk SPL Query
index=wineventlog EventCode=4624 Logon_Type IN (2, 10)
| where match(Account_Name, "(?i)(svc_|service|admin_)")
| stats count values(Computer) as hosts by Account_Name Source_Network_Address
| sort -count
KQL Query (Microsoft Defender for Endpoint)
SecurityEvent
| where EventID == 4624 and LogonType in (2, 10)
| where SubjectUserName startswith "svc_" or SubjectUserName contains "service"
| summarize count(), Hosts=make_set(Computer) by SubjectUserName, IpAddress
Phase 2: Baseline and Anomaly Detection
Step 2.1 - Establish Normal Behavior Baseline
- Collect 30 days of historical data for the targeted technique
- Document expected patterns, frequencies, and legitimate use cases
- Identify known false positive sources and document exceptions
- Build statistical baseline (mean, standard deviation) for key metrics
Step 2.2 - Identify Anomalies
- Compare current activity against the 30-day baseline
- Flag events exceeding 3 standard deviations from normal
- Prioritize anomalies by risk score and potential business impact
- Cross-reference with threat intelligence for known IOCs
Phase 3: Investigation and Correlation
Step 3.1 - Deep Dive Analysis
- For each anomaly, collect full process tree context
- Correlate with network activity, file operations, and authentication events
- Check binary signatures, file hashes, and certificate validity
- Review user account context and access patterns
Step 3.2 - Attack Chain Reconstruction
- Map findings to MITRE ATT&CK kill chain stages
- Identify initial access vector if applicable
- Trace lateral movement and privilege escalation paths
- Determine data access and potential exfiltration
Phase 4: Validation and Response
Step 4.1 - True/False Positive Determination
- Verify findings with system owners and IT operations
- Check change management records for authorized activities
- Validate user context (authorized actions vs. compromised account)
- Document determination rationale for each finding
Step 4.2 - Response Actions
- For confirmed threats: initiate incident response procedures
- For detection gaps: create or update detection rules
- For false positives: tune existing rules and update exclusions
- Update threat hunting playbook with lessons learned
Phase 5: Documentation and Reporting
Step 5.1 - Hunt Report
- Summarize hypothesis, methodology, and findings
- Include all queries executed and their results
- Document IOCs discovered and detection rules created
- Provide recommendations for security improvements
Step 5.2 - Knowledge Base Update
- Add findings to threat intelligence platform
- Update MITRE ATT&CK coverage heatmap
- Share detection rules via Sigma format
- Schedule follow-up hunts for related techniques
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.