Auditoría básica de ciberseguridad a un dominio de Microsoft

Auditoria bàsica de ciberseguretat a un domini de Microsoft

Celia Catalán



El Directori Actiu (Active Directory) és un component crític en la infraestructura de moltes organitzacions, utilitzat per gestionar recursos i usuaris en entorns Windows. L'auditoria de Directori Actiu és essencial per garantir la seguretat de la xarxa i la integritat de les dades. A continuació, partint del compromís assumit que un usuari de domini ha estat vulnerat, explorarem els principals vectors d'atac que cal identificar:


1. Escalada de Privilegis Local

Encara que no sempre és necessari, és altament recomanable partir de permisos de administració a la màquina atacant. Daquesta manera lús deines serà molt més còmode. Per això es poden utilitzar eines com PowerUp, WinPeas o SeatBelt entre altres, per identificar camins que en permetin una escalada a administrador local.

2. Polítiques de Contrasenyes

Una política de contrasenyes feble pot ser útil per fer atacs de tipus passwordspraying (això s'ha de fer amb cura per no bloquejar comptes) o per al posterior craqueig de hashes identificats. A més, en cas que no existeixi política de bloqueig després d'intents fallits, seria possible fer força bruta contra tot el domini sense por de bloquejar els comptes d'usuari.

3. Identificar secrets a carpetes compartides.

Un cop es disposa d'un usuari de domini, és recomanable enumerar les carpetes compartides a les quals es té accés (per exemple, amb smbclient). A ocasions, es poden identificar documents que recullen algun tipus de credencial, la qual pot ser vàlida o servir com a punt de partida per endevinar altres contrasenyes.

4. Identificació de sistemes operatius obsolets

Es deu verificar que no s'estiguin utilitzant sistemes operatius fora de suport i/o desactualitzats. Aquest tipus dequips poden ser molt útils, ja que és altament probable que tinguin vulnerabilitats explotables amb exploits públics. Encara que no siguin objectius rellevants, accedir-hi pot ser interessant per obtenir les credencials que tinguin emmagatzemades. És molt important avisar el responsable d'IT que es farà ús de exploits, per si aquests poguessin causar una caiguda al servei de l'empresa.

5. Identificació de comptes privilegiades

És molt interessant realitzar un procés inicial d'enumeració en què es identifiquin els comptes objectiu que permetin comprometre la totalitat del domini. Durant aquesta fase d'enumeració no només es busquen els comptes de Domain admin, sinó que també és important identificar comptes amb permisos especials que permetin dur a terme moviments al domini. En punts següents veurem per què això és important.

6. Identificació i Abús de comptes amb Constrained Delegation

En un punt anterior s'indicava que calia identificar comptes amb permisos elevats, ja que aquest és un tipus concret de compte privilegiat. Aquestes poden tenir-hi delegat el poder d'impersonar qualsevol usuari del domini per a una sèrie de serveis determinats. Gràcies a això, si s'aconsegueix comprometre un compte amb constrained delegation, és possible suplantar a qualsevol usuari per a serveis de Windows com a host, RPCSS, http, wsman, cifs, ldap, krbtgt o winrm.

8. Identificació i Abús de Unconstrained Delegation

Aquest és un altre tipus de compte privilegiat d'alt interès. Aquests comptes estan autoritzats per rebre i emmagatzemar els TGT (Ticket Granting Ticket) de kerbers de qualsevol compte. És per això, que en accedir-hi seria possible extreure'n els tiquets emmagatzemats a les mateixes. D'altra banda, també és possible fer atacs d'autenticació forçada sobre aquesta màquina, és a dir, forçar a qualsevol màquina del domini a autenticar-se contra la màquina unconstrained compromesa. D'aquesta manera, la nova víctima (el controlador de domini, per exemple) enviaria una còpia del seu TGT a la màquina unconstrained, sent possible la seva intercepció.

9. Identificar i Abusar Permisos de DCSync

Seguim amb comptes privilegiats interessants. En aquest cas cal identificar comptes amb permisos de DCSync, és a dir, comptes que tinguin els permisos DS-Replication-Get-Changes-All i DS-Replication-Get-Changes. Si aconseguim comprometre una credencial amb aquests permisos, podrem realitzar un atac de DCSync, o el que és el mateix, simular que som un controlador de domini que vol sincronitzar el seu base de dades (ntds.dit) amb la del controlador de domini real. D'aquesta manera s'obtindrien tots els hashes del domini, incloent-hi els del Domain Admin.

10. Identificar i Abusar Resource-Based Constrained Delegation

Si com atacants podem identificar un compte amb permisos de “GenericWrite” o “GenericAll” sobre “ActiveDirectoryRights”, significarà que aquest compte té la capacitat d'atorgar permisos de constrained delegation a qualsevol compte del domini. Això vol dir que, si comprometem aquest compte, podrem indicar que qualsevol compte del domini pugui demanar TGSs (Ticket Garanting Service) per a serveis de qualsevol màquina del domini, incloent el nostre objectiu principal: el controlador de domini.

11. Identificar i Abusar Plantilles de Certificats Vulnerables

Aquest tipus de atac es basa a utilitzar eines com certify o certipy per identificar plantilles de certificats vulnerables a la CA (certificate authority) corporativa. Hi ha una sèrie d'escenaris vulnerables possibles, que permeten a un atacant sol·licitar certificats en nom d'altres usuaris, per exemple, d'un Domain Admin o de qualsevol compte privilegiada.

12. Identificar serveis Vulnerables

És possible que als directoris actius es trobin màquines amb serveis diferents a els propis del directori actiu desplegats (encara que no és una bona pràctica), per exemple, Jenkins o serveis SQL. És important identificar aquests serveis per comprovar si són vulnerables, ja que moltes vegades poden servir com a punt d'accés a la màquina on s'estan executant. La situació ideal per a un atacant seria identificar un servei que poder explotar, i que aquest estigués sent executat amb un usuari administrador local de la màquina. D'aquesta manera, en aconseguir execució remota de codi mitjançant el servei explotable, seria possible comprometre tota la màquina.

13. Kerberoasting

Kerberoasting és un atac basat en l'explotació de comptes de servei que tenen associats Servei Principal Names (SPNs). Aquests SPNs són registres que associen un servei o aplicació específica amb un compte de servei al Directori actiu.

L'objectiu de fer kerberoasting és sol·licitar tiquets d'aquests comptes de servei per, posteriorment, desxifrar-los offline i obtenir les contrasenyes originals. Això és possible ja que part del tiquet sol·licitat està xifrat utilitzant una clau derivada de la contrasenya original.

14. Extracció de Credencials

Un cop compromesa qualsevol màquina, el procediment a seguir és extreure de la mateixa qualsevol contrasenya emmagatzemada. Per això es poden utilitzar eines com Mimikatz. Aquestes credencials poden ser útils per fer moviments laterals a través del domini, comprometent màquines en què els usuaris que es van recol·lectant siguin administradors locals.

Conclusió

Acabem de veure només algunes de les tècniques més utilitzades durant una auditoria, però els atacants descobreixen tècniques noves cada dia, cadascú més innovadora. Per això us convidem a què investigueu i descobriu els vostres propis camins cap a controladors de domini.


Ignacio Sánchez, Analista de Ciberseguretat a Zerolynx.



Tornar al bloc

Deixa un comentari

Tingueu en compte que els comentaris s'han d'aprovar abans que es publiquin.