CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dcsync

Abuse replication rights (DS-Replication-Get-Changes + GetChangesAll) to dump krbtgt and arbitrary user NT hashes from a DC.

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/ad/dcsync/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

83%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A tight, highly executable playbook: real commands for every auth variant, exact GUIDs and event IDs, output formats, and a prioritized target table. The only real gap is the absence of validation after the batch hash dump (verify output files non-empty / krbtgt captured) before escalating to golden-ticket forgery.

Suggestions

Add a verification step after secretsdump (e.g., check /tmp/secrets.ntds is non-empty and grep for the krbtgt RID 502 line) before running ticketer.py — this closes the batch-operation validation gap and lifts workflow clarity.

Optionally move the detection signature, CVSS, and defender remediation sections into a references/ file to keep SKILL.md as a lean attack-path overview.

DimensionReasoningScore

Conciseness

The body is dense and operational — a two-sentence framing of the miscondition ('The "vulnerability" is when a non-DC principal has the replication-rights ACL'), then straight to Cypher, commands, a value table, and detection signatures. Every section adds information Claude would not reliably produce unaided (specific GUIDs, event IDs, output file formats); nothing is padded.

5 / 5

Actionability

Commands are copy-paste ready across the common auth variants — 'secretsdump.py 'DOM/USER:PASS@DC_IP' -just-dc', '-hashes :NT_HASH', '-k -no-pass', mimikatz 'lsadump::dcsync /domain:dom.local /user:krbtgt', ticketer.py, and the PowerShell remediation. Placeholders (DOM/USER:PASS@DC_IP, KRBTGT_NT, S-1-5-21-XXXX) are clearly marked, and output file formats are spelled out ('user:RID:LM_HASH:NT_HASH:::').

5 / 5

Workflow Clarity

Sections 1–6 give a clear sequence (identify candidates → execute → parse output → select targets → golden ticket → promote), and step 1 includes a data-quality pre-check, but the batch dump itself ('secretsdump.py ... -just-dc' dumps all hashes) has no post-execution verification — no check that /tmp/secrets.ntds is non-empty or that the krbtgt line was captured before pivoting to ticketer.py. Per the rubric's cap, a batch operation without validation cannot score above 3.

3 / 5

Progressive Disclosure

Well-sectioned single-file playbook with clear headers (Identify, Execute, Output files, OPSEC, Detection, CVSS, Remediation) and no bundle files to navigate. It exceeds the under-50-lines simple-skill exemption, and secondary material (detection signature, CVSS, defender remediation) sits inline where a references/ file could hold it — minor organization gap, good structure overall.

4 / 5

Total

17

/

20

Passed

Description

62%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A precise, third-person, artifact-specific description that clearly states what the skill does, with essentially zero conflict risk. Its weakness is the missing 'when to use' trigger clause inside the description itself — the trigger terms exist only in the separate when_to_use metadata — which caps both completeness and trigger-term quality.

Suggestions

Append a trigger clause to the description, e.g. 'Use when a principal holds DS-Replication-Get-Changes rights, or the user mentions dcsync, secretsdump, krbtgt, or dumping NT hashes from a domain controller.'

Fold the natural-language keywords currently buried in when_to_use ('dcsync', 'secretsdump', 'hash dump') into the description so they surface in skill-matching.

DimensionReasoningScore

Specificity

Concrete actions are named precisely: 'Abuse replication rights (DS-Replication-Get-Changes + GetChangesAll) to dump krbtgt and arbitrary user NT hashes from a DC'. It names the mechanism and the exact artifacts, but covers only the dump action — post-exploitation uses (golden ticket / persistence) that the skill also delivers are absent, so coverage is not comprehensive.

4 / 5

Completeness

The 'what' is explicit and specific (abuse replication rights to dump krbtgt and user NT hashes from a DC), but there is no 'Use when...' clause or equivalent trigger guidance in the description — the rubric explicitly caps completeness at 3 for this.

3 / 5

Trigger Term Quality

Relevant technical keywords are present ('replication rights', 'krbtgt', 'NT hashes', 'dump') but the description omits the most natural user phrasings — 'dcsync' itself, 'secretsdump', 'hash dumping' — which only appear in the metadata when_to_use field, not in the description. Missing common variations and synonyms matches this anchor.

3 / 5

Distinctiveness Conflict Risk

A clear niche with distinct triggers — 'DS-Replication-Get-Changes', 'GetChangesAll', 'krbtgt', 'NT hashes from a DC' could not plausibly route to another skill. Minimal conflict risk.

5 / 5

Total

15

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/ad/dcsync/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.