Daniel Petri

Nos ambientes do Active Directory (AD), os Objectos de Política de Grupo (GPOs) podem ser utilizados para configurar scripts de início de sessão. Estes scripts podem ser ferramentas poderosas para gerir e automatizar o processo de início de sessão para utilizadores e computadores no ambiente AD. Pode atribuir e colocar esses scripts em qualquer GPO da organização. Uma grande organização pode ter dezenas ou mesmo centenas de GPOs, cada um contendo um ou mais scripts de início de sessão, logoff, arranque e encerramento, e juntos podem ser utilizados para controlar muitos aspectos dos perfis dos utilizadores, aplicações e definições do ambiente de trabalho e muito mais.

Mas, tal como acontece com a maioria das vantagens do Active Directory, há um senão.

À medida que o seu ambiente AD evolui e muda ao longo do tempo, a complexidade dos GPOs atribuídos a domínios, sites ou unidades organizacionais (OUs) aumenta. Com o tempo, e à medida que mais objectos são adicionados e mais pessoas tocam no ambiente do AD, o que antes era uma estrutura de GPO bem documentada e monitorizada pode tornar-se difícil de gerir, avaliar e controlar. Os ciberatacantes sabem disso e tiram partido de scripts de início de sessão mal mantidos.

O que são scripts de início de sessão GPO?

Os scripts de início de sessão GPO são uma série de comandos ou instruções que são executados automaticamente quando um utilizador inicia sessão num computador. Estes scripts podem ser utilizados para mapear unidades de rede, atribuir impressoras, executar aplicações específicas e realizar outras tarefas necessárias durante o processo de início de sessão.

Para configurar um script de início de sessão de GPO, primeiro é necessário criar um novo GPO ou editar um GPO existente que se aplique aos utilizadores ou computadores que pretende configurar. Depois de associar o GPO ao nível do domínio, site ou UO relevante, pode utilizar a aplicação Editor de Políticas de Grupo para especificar o script que pretende executar. Depois de configurar um GPO com o script de início de sessão correcto, este é aplicado a todos os utilizadores ou computadores visados pelo GPO.

Os scripts não se limitam ao processo de início de sessão. Também é possível atribuir scripts de logoff que são executados quando um utilizador desliga o computador. Da mesma forma, pode atribuir scripts de arranque ou de encerramento que são executados quando o computador é reiniciado ou encerrado, respectivamente. Esta publicação aborda especificamente os scripts de início de sessão, mas o mesmo conceito aplica-se a todos os tipos de scripts atribuídos por GPO.

Como funcionam os scripts de início de sessão?

Cada GPO tem um ficheiro scripts.ini associado. Este ficheiro é basicamente um ficheiro de configuração que é criado automaticamente quando um GPO é criado no AD. O ficheiro é utilizado para armazenar informações sobre os scripts atribuídos ao GPO, incluindo o caminho para onde o script reside no disco e se deve ser executado durante o processo de início de sessão, logoff, arranque ou encerramento.

O ficheiro scripts.ini é armazenado na pasta SYSVOL em cada controlador de domínio (DC) e é replicado para todos os DCs no domínio. Quando um utilizador inicia sessão num computador ligado ao domínio, o ficheiro scripts.ini de cada GPO relevante é lido para determinar que scripts devem ser executados.

O ficheiro scripts.ini fornece uma localização central para armazenar informações sobre os scripts atribuídos a um GPO. Isto facilita a gestão e actualização de scripts em vários GPOs e ajuda a garantir que os scripts correctos são executados durante o processo de início de sessão.

Para configurar um script de início de sessão GPO:

  1. Abra o Editor de Política de Grupo.
  2. Navegue para a secção Configuração do utilizador ou Configuração do computador, consoante pretenda aplicar o script de início de sessão a utilizadores ou computadores.
  3. Aceda à secção Definições do Windows.
  4. Seleccione Scripts (Logon/Logoff).
  5. Especifique o caminho para o script que pretende executar durante o processo de início de sessão.

Sempre que um utilizador inicia sessão num computador afectado pelo GPO, o script relevante é executado automaticamente, dependendo do tipo e da atribuição do script. Um script de início de sessão é executado em qualquer computador em que o utilizador inicie sessão; um script de arranque é executado independentemente do utilizador que inicia sessão no computador (dependendo da forma como o GPO foi atribuído).

Scripts de início de sessão e segurança do AD

As vulnerabilidades de segurança da Política de Grupo são um risco comum para as organizações que utilizam o AD. Os inquiridos no nosso mais recente relatórioPurple Knight reportaram uma pontuação global de Segurança da Política de Grupo de apenas 63 - uma nota de passagem muito baixa. Dada a potencial influência que os scripts de início de sessão têm sobre os computadores, utilizadores, activos, serviços, aplicações e dados da organização, é crucial garantir a sua segurança e integridade.

A monitorização da segurança dos scripts de início de sessão requer a enumeração de todos os GPOs, a análise desses GPOs e a localização dos caminhos dos scripts de início de sessão. Para minimizar o risco de acesso não autorizado e potenciais violações de segurança, é necessário verificar se os scripts de início de sessão estão bem formados, monitorizados e colocados em caminhos seguros.

Os atacantes que obtêm permissão para modificar um script de início de sessão podem manipular o script para criar novos ficheiros nos caminhos do script. Ao fazê-lo, podem colocar malware no caminho, conduzindo não só à destruição de dados ou à encriptação para fins de resgate, mas também a uma presença persistente nas máquinas alvo. Essa persistência permite que os atacantes obtenham acesso aos seus sistemas mesmo após uma reinicialização.

O que deve procurar ao avaliar os scripts de início de sessão? Como ponto de partida, determine:

  • Se um utilizador SID não conhecido (como os utilizadores que não são membros do grupo Admins do Domínio) tem permissões para o caminho do script
  • A que OUs se aplica o GPO
  • Que definições de herança ou de aplicação se aplicam ao GPO

Além disso, verifique o scripts.ini em cada GPO e o conjunto de permissões no caminho.

A monitorização regular e contínua de todos os scripts de início de sessão é essencial para a segurança do AD. Para facilitar esta tarefa, pode utilizar ferramentas como Purple Knight ou Semperis Directory Services Protector ( DSP). Estas ferramentas podem enumerar todos os GPOs, analisá-los, encontrar todos os scripts que os GPOs configuram, examinar os caminhos dos scripts e, em seguida, mostrar estas informações num relatório gerado.

Atenuar o risco do script de logon

Para mitigar o risco associado aos scripts de início de sessão:

  1. Examinar o relatório do GPO e as suas conclusões.
  2. Remova quaisquer scripts desnecessários dos GPOs no seu ambiente.
  3. Efectue as alterações necessárias às permissões atribuídas aos caminhos e nomes de ficheiros comunicados.
  4. Faça uma nova análise do ambiente do AD para determinar se são necessárias alterações adicionais.

Atenuação do risco do script de logon utilizando Purple Knight

A Figura 1 mostra os resultados de uma análise Purple Knight que encontrou vários problemas nos scripts de início de sessão de GPO e respectivos caminhos.

Purple Knight scan, mostrando problemas com o script de logon do GPO
Figura 1. Purple Knight scan, mostrando problemas de script de início de sessão GPO

O relatório mostra os GPOs que atribuíram os scripts, se o ficheiro existe e se foram atribuídas permissões que devam ser examinadas a quaisquer SIDs não conhecidos.

Atenuação do risco do script de logon utilizando DSP

A Figura 2 mostra um relatório de verificação de DSP .

DSP scan, mostrando problemas com o script de logon do GPO
Figura 2. DSP scan, mostrando problemas de script de início de sessão GPO

Este relatório explica o conceito subjacente aos indicadores, os resultados da análise e as medidas de correcção sugeridas.

Segurança AD: uma tarefa contínua

Independentemente da forma como optar por monitorizar os scripts de início de sessão de GPO, deve analisar regularmente o AD para garantir que não foram efectuadas alterações não autorizadas às permissões e que não foram adicionados scripts não controlados aos GPOs. Adicionar esta tarefa à sua lista de tarefas pode salvar a sua organização do sofrimento de um ataque informático bem sucedido.

Saiba mais sobre a segurança do AD