Servei de retransmissió de certificats
Compartir
Després de forçar una autenticació i obtenir el hash NetNTLM de la contrasenya de l'usuari màquina de la víctima, se'ns presenten diferents escenaris d'explotació que comentarem al llarg de diverses entrades al bloc.
A continuació, parlarem de Certificate Service Relaying amb un exemple pràctic a un laboratori de proves.
En aquest primer cas, l'atac consta de reutilitzar la credencial capturada mitjançant un “Coerce Autentication” per autenticar-se en un Active Directory Certificate Service (ADCS) mal configurat (que ho està per defecte), per poder escalar privilegis en el domini.
A continuació, es mostren algunes de les condicions que s'han de complir per poder fer aquest atac:
- L'ADCS ha d'estar configurat per acceptar NTLM autenticacions.
- L'autenticació NTLM no està protegida per EPA o signat SMB.
- L'ADCS està executant qualsevol dels serveis següents:
- Servei web de directiva dinscripció de certificats.
- Servei web dinscripció de certificats.
Resum
Tot seguit, s'explica a grans trets el procés d'explotació d'aquest atac:
1. Aconseguir accés a una xarxa configurada amb Active Directory i una instància ADCS mal configurada. Per a certs atacs de coerce, a més, caldrà comprometre un usuari del domini, independentment dels privilegis d'aquest.
2. Configurar a l'escolta, en un equip controlat per l'atacant, un programari per fer la reutilització de l'autenticació NTLM contra la instància ADCS mal configurada.
3. Forçar l'autenticació del controlador del domini (Qualsevol vulnerabilitat de Coerce Autentication) contra la màquina controlada per l'atacant amb el programari per reutilitzar l'autenticació NTLM.
4. El controlador de domini s'autentica a la màquina controlada per l'atacant.
5. La credencial obtinguda de lusuari màquina del controlador del domini és reutilitzada per autenticar-se sobre lADCS.
6. L'ADCS emet un certificat per a l'usuari de màquina del controlador del domini.
7. Fent ús del certificat obtingut al pas anterior, se sol·licita un tiquet Kerberos TGT.
8. Utilitzar el tiquet TGT de lusuari màquina del controlador de domini per sol · licitar el TGS de qualsevol usuari, o realitzar un DCSync per obtenir el NTDS del domini.
Components del laboratori de proves
A continuació, descrivim breument els actius que es troben al laboratori de proves:
- Attack_Machine – Aquesta màquina fa referència a una Kali Linux des d'on farem l'atac per obtenir una Coerce Autentication i tenir a l'escolta el programari per a la reutilització de l'autenticació.
- DC.corp.lab – Controlador de domini amb el domini “corp.lab” configurat, que serà víctima de l'atac. Es configurarà un usuari anomenat “Bob” en aquest domini sense privilegis per emular l'atac des del compromís del mateix.
- CA.corp.lab – Entitat certificadora dins del domini “corp.lab”.
- Windows10 - Equip amb sistema operatiu Windows compromès prèviament per l'atacant, dins del domini corp.lab.
Instal·lació de versió específica d'impacket
Per poder desenvolupar aquest atac, cal tenir instal·lada una versió específica d'impacket, que està desenvolupada per poder reutilitzar contra l'ADCS l'autenticació NTLM obtinguda. Per això seguirem els passos següents:
- Instal·lar el paquet d'entorns virtuals de Python:
sudo apt install python3-venv
- Descarregar i comprovar la versió específica d' impacket necessària.
git clone https://github.com/ExAndroidDev/impacket.git
paquet de cd
git checkout ntlmrelayx-adcs-attack
- Crear un nou entorn virtual i instal·lar les dependències d'impacket