Huy Kha | Arquiteto Sénior de Identidade e Segurança

Para os ciberatacantes, obter acesso ao sistema de identidade é apenas o início do seu percurso na sua organização. Depois de utilizarem qualquer uma das dezenas de técnicas de ataque para entrar, pretendem manter a sua presença e evitar a deteção enquanto aumentam os privilégios, se movem lateralmente na sua organização e recolhem informações vitais pelo caminho.

Para ajudar os testadores de penetração e as equipas de segurança a detetar e prevenir ciberataques, está disponível uma variedade de ferramentas pós-exploração, incluindo uma nova ferramenta especificamente concebida para ambientes Active Diretory (AD): Cable.

Embora as ferramentas pós-exploração sejam disponibilizadas para ajudar na aprendizagem e no desenvolvimento de estratégias de defesa, também podem ser utilizadas pelos atacantes. Por isso, neste artigo, vamos explorar a forma de nos defendermos de um ator malicioso utilizando o Cable.

Qual é a ferramenta de pós-exploração do Cable?

O Cable é uma ferramenta pós-exploração escrita em .NET que é utilizada para interagir com o AD. Permite aos operadores enumerar utilizadores, grupos, computadores, relações de confiança e autoridades de certificação, bem como modificar permissões em objectos AD. Como mostra a Figura 1 , os módulos Cable suportam acções como a definição de SPNs (Service Principle Names), a gestão de associações de grupos e a exploração da RBCD (resource-based constrained delegation).

Figura 1. O menu de ajuda do Cable apresenta os módulos disponíveis para a enumeração e exploração do Active Diretory.

Figura 2 mostra as opções disponíveis na secção ldap que se concentra na consulta de objectos do Active Diretory. Suporta a enumeração de utilizadores, computadores e grupos, bem como pesquisas mais direcionadas, como contas com SPNs, delegação sem restrições ou adminCount set to 1. Estas opções são úteis para identificar contas que possam estar mal configuradas ou que representem um risco mais elevado - ou uma oportunidade, na perspetiva de um atacante.

Figura 2. O ldap no Cable oferece uma variedade de opções para enumerar objectos-chave do AD e identificar contas com atributos interessantes como SPNs, delegação sem restrições ou pré-autenticação Kerberos em falta.

Por exemplo, utilizando o /spns opção (Figura 3) permite-lhe enumerar contas com um SPN configurado, o que é um passo comum em Ataques de Kerberoasting. Estas contas podem ser visadas através do pedido de um bilhete de serviço, que pode depois ser forçado offline para tentar recuperar a palavra-passe.

Figura 3. O cabo pode ser utilizado para enumerar contas de utilizador com SPNs definidos, o que é um passo comum durante o reconhecimento do AD para identificar potenciais alvos de Kerberoasting.

Como se defender da Cable

O Cable utiliza consultas LDAP para identificar pontos fracos específicos no Active Diretory, tais como servidores com delegação sem restrições, contas sem pré-autenticação Kerberos, contas vulneráveis ao Kerberoasting e muito mais.

Tanto o Semperis Directory Services Protector (DSP) (Figura 4) como a nossa ferramenta comunitária gratuita, Purple Knighttambém analisam os pontos fracos do AD - incluindo os problemas específicos que a ferramenta Cable visa.

Figura 4. Este exemplo de saída do DSP destaca vários indicadores de segurança do Active Diretory.

Por exemplo, como podemos ver na Figura 5, DSP inclui vários indicadores de exposição (IOEs) que detectam riscos relacionados com os SPN.

Figura 5. DSP destaca os IOEs relacionados com SPN, incluindo contas com delegação sem restrições, utilizadores privilegiados com SPNs definidos, entre outros.

Exemplo: Detetar a utilização de cabos no AD

Um método de ataque comum, a Configuração de Segurança da AC Empresarial (ESC1), envolve os Serviços de Certificados do Active Diretory (AD CS), em que modelos de certificados mal configurados ou demasiado permissivos podem ser utilizados abusivamente para aumentar os privilégios para Administrador do Domínio ou equivalente.

Por exemplo, durante o reconhecimento, um atacante pode descobrir que os Computadores de Domínio têm direitos de registo para um modelo de certificado configurado com o ENROLLEE_SUPPLIES_SUBJECT e a bandeira Client Authentication EKU (Figura 6), que é uma combinação que pode abrir um caminho para o aumento de privilégios.

Figura 6. Este exemplo mostra um modelo de certificado vulnerável, em que qualquer Computador de Domínio pode pedir um certificado com o ENROLLEE_SUPPLIES_SUBJECT bandeira e Client Authentication EKU, criando um caminho para o aumento de privilégios através do ESC1.

No nosso exemplo, em que os computadores de domínio estão autorizados a inscrever-se num modelo de certificado vulnerável, um atacante pode utilizar o Cable para criar um novo objeto de computador (Figura 7) para tirar partido da predefinição ms-DS-MachineAccountQuota e, em seguida, solicitar um certificado utilizando esse modelo.

Figura 7. O cabo é utilizado para criar um novo objeto informático (EvilPC), aproveitando a predefinição MachineAccountQuota configuração.

Além disso, o atacante pode agora usar o runas.exe para se autenticar como a conta de computador recém-criada e solicitar um certificado do modelo ESC1 vulnerável(Figura 8). Isto permite-lhes fazer-se passar por qualquer utilizador no ambiente, incluindo um Administrador do Domínio.

Figura 8. Este atacante está a utilizar o Certify para pedir um certificado a um modelo vulnerável (ESC1) enquanto se faz passar pela conta de Administrador.

No DSP, a recente alteração ao Active Diretory que criou um objeto informático malicioso foi detectada e registada com êxito(Figura 9).

Figura 9. DSP regista a criação do objeto computador EvilPC, capturando a operação, a classe do objeto e as alterações de atributos.

Agora que os privilégios de Administrador do Domínio foram obtidos, um atacante pode usar o Cable para criar um backdoor RBCD modificando a conta de computador do Controlador de Domínio alvo. Ao adicionar o seu objeto de computador controlado à conta msDS-AllowedToActOnBehalfOfOtherIdentity atributo (Figura 10), concedem efetivamente a si próprios a capacidade de se fazerem passar por qualquer utilizador, incluindo alvos de elevado valor para esse sistema, em qualquer altura.

Figura 10. O cabo é utilizado para adicionar a conta do computador EvilPC$ ao msDS-AllowedToActOnBehalfOfOtherIdentity do controlador de domínio DSP, estabelecendo efetivamente uma porta traseira RBCD.

O cabo suporta a execução de consultas LDAP, que podem ser utilizadas para verificar se alguma conta tem um valor definido para o parâmetro msDS-AllowedToActOnBehalfOfOtherIdentity atributo. Como Figura 11 mostra que o Controlador de Domínio alvo reflecte a delegação configurada.

Figura 11. O cabo é utilizado para efetuar uma consulta LDAP que confirma que o msDS-AllowedToActOnBehalfOfOtherIdentity é definido no Controlador de Domínio de destino DSP, verificando se a configuração do RBCD está em vigor.

DSP também detectou e registou com êxito a modificação do msDS-AllowedToActOnBehalfOfOtherIdentity na conta de computador do Controlador de Domínio visado (Figura 12).

Figura 12. DSP regista a modificação do msDS-AllowedToActOnBehalfOfOtherIdentity na conta do computador DSP, mostrando a alteração exacta e o utilizador responsável.

No DSP, o descritor de segurança definido neste atributo também é analisado, permitindo-lhe ver exatamente a que conta de computador foi adicionada msDS-AllowedToActOnBehalfOfOtherIdentity (Figura 13).

Figura 13. DSP analisa o conjunto completo de descritores de segurança no msDS-AllowedToActOnBehalfOfOtherIdentity mostrando claramente que a conta de computador EvilPC$ foi adicionada e confirmando a presença de um backdoor RBCD.

Caso de utilização do RBCD: Anulação automática das alterações do cabo

DSP permite-lhe criar regras de alerta e de resposta, e uma vez que o msDS-AllowedToActOnBehalfOfOtherIdentity atributo nunca deve ser modificado na conta de computador de um Controlador de Domíniopode configurar DSP para detetar automaticamente esta alteração e acionar um ação de auto-desconto (Figura 14).

Figura 14. Nesta configuração de regra DSP , definimos a deteção de abuso de RBCD visando especificamente os Controladores de Domínio. O filtro LDAP usado é (&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=8192))

A Figura 15 mostra um exemplo em que DSP executa uma ação de auto-anulação, revertendo automaticamente a alteração para o seu estado anterior.

Figura 15. DSP executa uma reversão automática, revertendo o msDS-AllowedToActOnBehalfOfOtherIdentity no Controlador de Domínio DSP.

Instantâneo da Semperis

Directory Services Protector fornece às organizações visibilidade das alterações no seu ambiente do Active Diretory. Como demonstramos, DSP não apenas detecta alterações de alto risco, como a manipulação de atributos confidenciais, como msDS-AllowedToActOnBehalfOfOtherIdentity mas também responde automaticamente a essas alterações, revertendo as alterações indesejadas para o estado anterior.

Saiba mais sobre a deteção e resposta a ameaças à identidade