Esse artigo foi escrito pelo meu colega Bruno Onishi em 8 de maio de 2017, quando trabalhávamos juntos no RedTeam de uma das maiores instituições financeiras do Brasil. Teve seu texto revisado por mim.

O desafio

Quando alguém tem direitos de Administrador Local, ele possui o poder de fazer tudo o que quer na estação de trabalho. Ele pode instalar qualquer aplicativo, usar qualquer programa e até mesmo ignorar ou desfazer qualquer controle que o administrador de TI configurou na máquina. Muitos usuários (especialmente os VIPs) não querem se sentir presos ou menosprezados por não terem o controle total. Pior, esse perfil trabalha com informações sensíveis dentro da empresa e é “presa fácil” para alguns tipos de ataques:

  • Malware;
  • Phishing;
  • Engenharia Social.

Os malwares estão em todos os lugares a nossa volta; aquele email da sua vó blogueira; aquele pen drive bacana; aquele IoT funcional ou até mesmo sua Smart TV pode ter sido comprometida. Navegação na Web e Phishing de e-mail colocam estações de trabalho em risco constante. Se os usuários tiverem direitos de Administrador Local, o risco é ainda maior porque eles podem vetar as medidas de segurança presentes.

Uma simples varredura de vulnerabilidade autenticada pode revelar quantos patches (tanto da Microsoft quanto de terceiros) estão faltando nos Desktops corporativos onde os usuários têm direitos de administrador. A verificação também pode mostrar as diversas vulnerabilidades de configuração que podem colocar o sistema operacional Windows em risco.

Se você contratar alguém para fazer um pentest no seu ambiente, ou sofrer um de forma não desejada 😄, o segundo passo após ele conseguir ganhar a sua rede será desenvolver um ataque de escalação de privilégios, já que em ambientes corporativos “civilizados” é difícil alguém conseguir uma credencial administrativa logo na largada. Um ataque trivial é descobrir a senha da conta build-in de Administrador Local das estações Windows, que na maioria das vezes, o pessoal da microlândia deixa a mesma para todas.

Ficou claro que as empresas que não dão aos usuários direitos de administrador local em suas estações de trabalho têm muito mais segurança do que aqueles que o fazem. No início, pode ser um tanto doloroso afastar os direitos de administrador dos usuários, mas uma vez que os administradores de TI trabalham com os problemas e os usuários superam o choque, as estações de trabalho são muito menos vulneráveis e os acidentes relacionados com o usuário e as violações de segurança acontecem com menor frequência.

A solução

Agora que já te convencêssemos que o acesso ao administrador local deve ser minimizado e controlado, vamos ajudar com um passo a passo de como fazer isso, a ideia é utilizar uma GPO (Diretiva de Grupo, ou Group Policy (GPO), é uma funcionalidade da família de sistemas operacionais Microsoft Windows. É um conjunto de regras que controlam o ambiente de trabalho de contas de usuário e contas de computador.) para:

  • Limpar os administradores locais existentes;
  • Prover uma forma de habilitar um admin local pontualmente para um único usuário em uma única estação de trabalho;
  • Evitar que um usuário não autorizado conceda privilégios de admin locais para outros usuários;
  • Controlar e diferenciar as senhas dos administradores Built-In.

Vamos lá:

Como criar GPO restritiva

  1. Abra o Group Policy Management Console e edite o “group policy” aplicado ao escopo dos computadores que você deseja controlar. Você já deve ter uma OU Estações, porém é interessante criar uma OU nova e começar a transferir as estações em ondas para ter certeza que não terá indisponibilidade nesta mudança.

    gpedit.msc
    
  2. Vá em Computer Configuration > Preferences > Control Panel Settings > Local User and Groups option.

  3. Clique em Actions > New > Local Group.

  4. Agora você precisará selecionar Administrator (built-in) do nome do grupo, mesmo que você tenha renomeado para ofuscar o nome da conta de administrador.

  5. Marque ambos Delete all member users e Delete all member groups. Essas duas opções removerão automaticamente os usuários ou grupos que não estão sendo adicionados explicitamente a GPO. Você só precisa fazer isso no item número 1 na lista de configurações.

  6. Agora você precisará certificar-se de que você tenha adicionado de volta os grupos de Domain Admins e Local Administrator para que você não se trave totalmente fora do computador. Para fazer isso, clique no botão Add... para abrir a caixa de diálogo Local Group Member.

  7. Agora digite BuiltIn \ Administrator no campo Name e clique em OK.

  8. Você deve adicionar DOMAINNAME\Domain Admins, pois é uma boa prática ter a conta DA como um membro do grupo de administração local em todos os computadores no Domínio. Para isso vamos usar a variável DomainName. Clique em Adicionar... e agora clique no campo de texto Nome: e, em seguida, pressione F3. Isso exibirá a caixa de diálogo Selecionar variável. Clique no campo DomainName e pressione Select e depois OK. (Você pode digitar também %DomainName% no campo de nome e pressionar OK)

    Bom até este passo, nós já limpamos os administradores locais não autorizados e liberamos para os grupos autorizados, agora vamos prover uma forma para habilitar um admin local pontualmente para um único usuário em uma única estação de trabalho.

    Nas etapas abaixo o nome do computador é DESKTOP01 e o nome do domínio é BRASIL. Queremos adicionar o grupo Administradores BRASIL \ DESKTOP01 ao grupo de administradores locais, mas também queremos que o mesmo aconteça em DESKTOP02, DESKTOP03 e assim por diante, cada com seu próprio grupo com nome exclusivo baseado no nome do computador.

  9. Agora volte e repita os passos 3 a 6 até chegar à caixa de diálogo Local Group Member novamente.

  10. Escreva "%DomainName%\%ComputerName%Administradores" no campo de texto Nome e clique em OK

Agora para controlar e diferenciar as senhas dos administradores Built-In, indicamos a solução da própria Microsoft LAPS .