Daniel Petri | Gestor de formação sénior

A injeção do Histórico do Identificador de Segurança (SID) é um vetor de ciberataque sofisticado que visa ambientes Windows Active Directory. Este ataque explora o atributo SID History, que se destina a manter os direitos de acesso dos utilizadores durante as migrações de um domínio para outro. Ao injetar valores SID maliciosos neste atributo, um atacante pode aumentar os privilégios e obter acesso não autorizado a recursos no ambiente do Active Directory.

O que é a injeção de histórico SID?

A injeção de Histórico de SID envolve a modificação não autorizada do atributo Histórico de SID de uma conta de utilizador comprometida no Active Directory. Este atributo armazena normalmente SIDs anteriores de domínios mais antigos quando um utilizador ou grupo é migrado para um novo domínio. O objetivo é manter o acesso do utilizador ou do grupo aos recursos.

Os atacantes exploram esta funcionalidade inserindo no atributo um SID que corresponde a um grupo com privilégios elevados, como Admins do Domínio. O atacante pode então usar a conta para aumentar os privilégios, criar back doors ou exfiltrar dados.

A injeção de SID History é considerada um vetor de ataque sofisticado porque:

  • Requer um conhecimento profundo do Active Directory e de privilégios elevados
  • Ultrapassa as medidas de segurança padrão que procuram alterações directas nos membros do grupo
  • Utiliza um conhecimento profundo dos mecanismos de autenticação do Active Directory e do Windows

Como funciona a injeção de histórico SID?

Certos elementos podem tornar os ambientes particularmente vulneráveis à injeção de histórico SID. Estes aspectos incluem:

  • Sistemas antigos: Os sistemas legados, particularmente aqueles que passaram por várias migrações de domínio, podem manter protocolos e configurações de segurança desactualizados que não se alinham com as melhores práticas de segurança modernas. Estes sistemas têm frequentemente atributos residuais do Histórico de SID que podem ser ignorados durante as auditorias de segurança.
  • SIDs ignorados: Durante as migrações, os atributos do histórico do SID podem acumular-se. Os SIDs mais antigos que já não são relevantes ou foram desactivados podem não ser limpos corretamente, deixando uma porta traseira para os atacantes.
  • Migrações complexas: Em ambientes complexos em que as migrações envolvem a consolidação de vários domínios, o histórico de SIDs pode tornar-se um repositório de vários SIDs antigos, aumentando a superfície de ataque.
  • Permissões mal configuradas: A configuração correcta das permissões no Active Directory é fundamental. As permissões mal configuradas que permitem que contas não administrativas escrevam nos atributos do Histórico SID podem ser catastróficas.
  • Controlos de acesso demasiado amplos: A concessão de permissões amplas pode fazer com que os utilizadores não administrativos tenham a capacidade de modificar atributos sensíveis, quer diretamente quer através de associações a grupos.
  • Administração delegada: Em grandes organizações, a delegação de tarefas administrativas é comum. Se não for devidamente supervisionada, pode levar a que os utilizadores tenham mais permissões do que as necessárias, incluindo a capacidade de alterar o Histórico de SID.
  • Falta de sistemas de alerta: Muitas organizações não têm sistemas de alerta configurados para notificar as alterações de atributos críticos no Active Directory.
  • Políticas de auditoria inadequadas: O Active Directory pode não ter definições de auditoria predefinidas configuradas para controlar as alterações aos atributos do Histórico de SID, especialmente se a organização não tiver identificado a injeção de Histórico de SID como um risco potencial.

Um ataque de injeção de histórico SID envolve várias etapas que permitem ao atacante aumentar o seu domínio sobre o ambiente comprometido.

Etapa 1. Compromisso inicial

Um atacante inicia frequentemente um ataque de injeção de histórico de SID ganhando primeiro uma posição na rede. Esta violação pode ser conseguida através de vários métodos:

  • Phishing: Envio de e-mails elaborados que parecem legítimos, enganando os utilizadores para que forneçam credenciais
  • Exploração de vulnerabilidades conhecidas: Visar sistemas não corrigidos ou utilizar explorações de dia zero
  • Engenharia social: Manipulação de indivíduos para quebrar protocolos de segurança padrão

Num exemplo, os atacantes visavam uma instituição financeira. Os agentes maliciosos enganaram um empregado, levando-o a abrir um documento que explorava uma vulnerabilidade no software de leitura de documentos da empresa. Esta exploração levou à execução de código malicioso e ao estabelecimento de uma porta traseira.

Passo 2: Enumeração do ambiente AD

Uma vez lá dentro, o atacante enumera o ambiente do Active Directory. Este passo pode envolver a utilização de:

  • Consultas LDAP para obter informações sobre contas de utilizador e respectivas permissões associadas
  • Scripts do PowerShell para automatizar a recolha de dados relativos à estrutura do Active Directory
  • Ferramentas de reconhecimento do Active Directory, como o BloodHound, que podem ilustrar relações de privilégio no Active Directory

Esta enumeração permite aos atacantes descobrir contas com privilégios elevados (mas mal monitorizados).

Etapa 3: Alteração do histórico do SID

Armado com o acesso correto, o atacante procede de seguida:

  • Identificar uma conta-alvo: Esta pode ser uma conta que não é muito utilizada ou monitorizada, conhecida como uma conta órfã.
  • Modificar o atributo Histórico de SID: Utilizando uma ferramenta como o Mimikatz, o atacante injecta um SID no Histórico de SID da conta visada. Este SID corresponde ao SID de um grupo com privilégios elevados, como o Domain Admins.

Um caso notável envolveu uma empresa de tecnologia. Um atacante adicionou o SID do grupo Enterprise Admins a uma conta de serviço que normalmente não necessitava de privilégios tão elevados.

Passo 4: Escalada de privilégios

Com o atributo SID History modificado, o atacante pode agora:

  • Aceder a recursos: A conta alvo - e portanto o atacante - pode agora aceder a recursos que são permitidos apenas ao grupo de privilégios elevados correspondente.
  • Criar portas traseiras: O atacante pode criar contas adicionais ou modificar contas existentes para garantir o acesso persistente no ambiente.

Durante a violação de uma entidade governamental, os agentes maliciosos utilizaram este método para aumentar os privilégios e criar contas backdoor para acesso persistente. Os atacantes utilizaram então essas contas para exfiltrar dados sensíveis durante um período alargado.

Que riscos estão associados à injeção de SID History?

Os riscos da injeção de SID History incluem:

  • Acesso não autorizado: Os atacantes obtêm acesso a áreas sensíveis da rede, conduzindo a violações de dados.
  • Aumento de privilégios: Os atacantes elevam os privilégios sem modificação direta dos membros do grupo para evitar a deteção.
  • Persistência: Os atacantes podem utilizar SIDs injectados para manter o acesso mesmo depois de uma alteração da palavra-passe ou da desativação da conta.
  • Movimento lateral: A injeção do histórico SID facilita o movimento lateral dentro da rede, levando a um maior comprometimento.

Os ciberataques utilizaram este método em intrusões de várias fases, agravando a violação inicial através da injeção do histórico SID e causando uma exfiltração significativa de dados e danos no sistema.

Como se pode detetar um ataque de injeção de histórico de SID

Para detetar a injeção de histórico SID:

  • Rever os registos de auditoria: Reveja regularmente os registos de auditoria do Active Directory para detetar modificações inesperadas no atributo Histórico do SID.
  • Configurar alertas SIEM: Configure os sistemas de Gerenciamento de Eventos e Informações de Segurança (SIEM) para alertar sobre modificações no Histórico de SID. Sem uma monitorização adequada, as alterações aos atributos do Histórico de SID podem passar despercebidas.
  • Auditar regularmente a superfície de ataque do Active Directory: Utilize as ferramentas de segurança do Active Directory para procurar contas com atributos do Histórico de SID que não estejam alinhados com migrações conhecidas. Essas ferramentas também podem detetar indicadores de comprometimento que os sistemas SIEM podem não detetar.

Como é que se pode mitigar um ataque de injeção de histórico de SID?

Ao compreender e abordar os aspectos vulneráveis, as organizações podem reduzir significativamente o risco de injeção de histórico de SID. As estratégias de mitigação incluem o seguinte:

  • Atualizar sistemas antigos: Atualizar ou desativar sistemas antigos e garantir que todos os atributos do Histórico SID são geridos e eliminados adequadamente durante as migrações de domínios.
  • Rever as permissões: Verifique se apenas as contas de confiança têm permissões para escrever no atributo Histórico de SID.
  • Implementar o privilégio mínimo: Auditar regularmente as permissões e verificar se apenas os direitos necessários são concedidos aos utilizadores.
  • Utilizar soluções PAM: Implemente soluções de Gestão de Acesso Privilegiado (PAM) para limitar e controlar o acesso privilegiado.
  • Melhorar a monitorização: Implemente soluções avançadas de monitorização do Active Directory que alertem para alterações a atributos críticos como o Histórico SID.
  • Patch e atualização: Mantenha todos os sistemas corrigidos e actualizados para evitar os vectores de comprometimento iniciais.

Além disso, os administradores do Active Directory devem tomar as seguintes medidas:

  • Ativar a auditoria: Audite o Active Directory quanto a alterações no Histórico de SID. Idealmente, active a reversão automática de tais alterações até que possam ser verificadas como legítimas.
  • Implementar o privilégio mínimo: Aplicar o princípio do privilégio mínimo a todas as contas do Active Directory.
  • Educar o pessoal: Formar o pessoal de TI para reconhecer os sinais de injeção de histórico de SID e responder adequadamente.
  • Efetuar revisões periódicas: Efetuar revisões periódicas do acesso de grupos com privilégios elevados.

Proteção contra injeção de histórico SID

A injeção de histórico de SID é um ataque furtivo que pode conduzir a violações de segurança significativas. A subtileza e a complexidade do ataque tornam-no particularmente perigoso, uma vez que pode muitas vezes passar despercebido sem controlos específicos e monitorização centrada no atributo Histórico do SID. Os incidentes da vida real sublinham a necessidade de medidas de segurança robustas e de vigilância constante.

As organizações devem estabelecer práticas de segurança robustas - incluindo monitorização regular, acesso com privilégios mínimos e formação dos utilizadores - para se protegerem contra estes ataques.
As organizações devem também manter-se vigilantes e proactivas na proteção dos seus ambientes Active Directory para combater a injeção de histórico SID e outras ameaças emergentes.