Enumeração em ambiente Windows

O Windows é um sistema operacional feito para ser usado tanto no modo stand-alone, como em um ambiente conectado em rede. No mundo do Windows, a segurança de acesso aos seus recursos, objetos e outros componentes é feita através de vários mecanismos, como veremos a seguir.

Você precisa entender como acessar recursos como são gerenciados os arquivos compartilhados ou outros itens. Windows usa o modelo que pode ser resumido da seguinte forma: quem tem acesso a que recurso. Por exemplo, um usuário tem acesso ao compartilhamento de arquivos ou impressora.

Usuários

Em qualquer sistema operacional, o item responsável por controlar o acesso ao sistema é o usuário. Contas de usuários são usadas no Windows para tudo, desde compartilhamento de arquivos até rodar serviços que permite componente de software acessar e executar com o privilégio apropriado. Na instalação padrão do Windows, existem duas contas de usuários presentes e prontos para serem usados pelo dono do sistema: o administrador e o convidado. Estas contas tem sofrido mudanças desde o Windows Vista até a versão 10.

Convidado

Esta conta está presente no sistema operacional por um bom tempo, mas não houve grandes mudanças. Em resumo, ela foi criada com um perfil bem limitado de funcionalidades e poder no ambiente, além de não ficar ativo por padrão. Ele deve ser ativado para ser usado (o que raramente é feito). Na prática, o convidado fica desativado.

Administrador

Esta conta sofreu diversas mudanças a partir do Windows Vista. Desde esta versão, ela sempre esteve presente e também não é ativada por padrão por questões de segurança. Além de estar presente, ele sempre era ativado pelos usuários, pois permitia ele fazer qualquer coisa que quisessem de forma consciente, mas ao mesmo tempo, traz o risco de malwares serem executados em background com as mesmas permissões da sessão do usuário: com privilégios administrativos.

Para contrariar isso no Vista, a conta foi desativada e você será solicitado a criar sua própria conta ao instalar o SO a partir do zero. Embora essa conta possa ter privilégios de administrador, você deve usá-los somente em situações específicas que os exijam. No Windows, isso significa que, a menos que você tente executar uma função que exija privilégios de administrador, você não os usará mesmo se tiver a capacidade de ser um administrador. Mas quando você deseja acessar uma função ou recurso que requeira esses privilégios elevados, será questionado se você deseja executar o comando e, nesse caso, terá permissão para fazer. O que o Windows está realmente fazendo é aumentar os privilégios para esse único processo e deixar todo o resto em execução na sua conta com privilégios normais. Sim, isso significa que você está executando como um usuário padrão, se você for um administrador, e você só poderá executar privilégios de administrador caso a caso.

Windows tem algumas contas embutidas que não são feitas para serem usadas pelo usuário diretamente. Estas contas foram feitas para executar processos no background e outras atividades necessárias. Processos no Windows podem ser executados dentro de um dos contextos dos usuários:

  • Serviços Locais: Uma conta de usuário com acesso maior que o normal no sistema local com limite de acesso a rede;
  • Serviço de Rede: Uma conta de usuário com acesso normal a rede, mas com limite ao sistema local;
  • Sistema: Uma conta com estilo super-usuário que tem acesso praticamente ilimitado ao sistema local;
  • Usuário atual: É o usuário atualmente em uso e logado no sistema, o qual pode rodar aplicativos e tarefas, mas ainda está sujeito a restrições que outros não estão sujeitos. As restrições nesta conta permanecem mesmo se a conta que está sendo usada por uma conta de administrador;

Cada uma destas contas é usada por uma razão específica. Em uma sessão típica do Windows, cada um está rodando diferentes processos por trás para manter o sistema performando bem. De fato, no Windows, cada conta pode estar rodando um ou mais serviços de uma vez, embora muitas vezes seja um relacionamento um-para-um.

O que todas estas contas tem em comum é sua estrutura e desenho. Cada objeto de usuário contém informações sobre a conta do usuário, nível de acesso, grupos os quais eles são membros, privilégios e outras informações importante como sua identidade única para prevenir conflitos.
Sugestões de livros:

Grupos

Os grupos são usados por sistemas operacionais como Windows e Linux para controlar o acesso aos recursos, bem como para simplificar o gerenciamento. Os grupos são ferramentas de administração eficazes que permitem o gerenciamento de vários usuários. Um grupo pode conter um grande número de usuários que podem então ser gerenciados como uma unidade, para não mencionar o fato de que um grupo pode até ter outros grupos aninhados dentro dele para simplificar o gerenciamento. Essa abordagem permite que você atribua acesso a um recurso, como uma pasta compartilhada, para um grupo em vez de cada usuário individualmente, economizando tempo e esforço substanciais. Você pode configurar seus próprios grupos conforme achar adequado em sua rede e sistemas, mas a maioria dos fornecedores, como a Microsoft, inclui uma série de grupos predefinidos que você pode usar ou modificar conforme necessário. Há vários grupos padrão no Windows:

  • Logon Anônimo (Anonymous Logon): Projetado para permitir acesso anônimo a recursos. Normalmente usado ao acessar um servidor web ou aplicativos da Web;
  • Lote (Batch): Usado para permitir que tarefas em lote executem tarefas de agendamento, como um trabalho de limpeza noturno que exclui arquivos temporários;
  • Grupo de criadores (Creator Group): O Windows 2000 usa este grupo para conceder automaticamente permissões de acesso a usuários que são membros do mesmo grupo(s) como o criador de um arquivo ou um diretório;
  • Proprietário do Criador (Creator Owner): A pessoa que criou o arquivo ou diretório é um membro desse grupo. O Windows 2000 e versões posteriores usam esse grupo para conceder automaticamente permissões de acesso ao criador de um arquivo ou diretório;
  • Todos (Everyone): Todos os usuários interativos, de rede, dial-up e autenticados são membros deste grupo. Esse grupo é usado para dar acesso amplo a um recurso do sistema;
  • Interativo (Interactive): Qualquer usuário conectado ao sistema local tem a identidade interativa, que permite que apenas os usuários locais acessem um recurso;
  • Rede (Network): Qualquer usuário acessando o sistema através de uma rede possui a identidade de rede, que permite que apenas usuários remotos acessem um recurso;
  • Restrito (Restricted): Usuários e computadores com recursos restritos têm a identidade Restrita. Em um servidor membro ou estação de trabalho, um usuário local que é um membro do grupo Usuários (em vez do grupo Usuários avançados) tem essa identidade;
  • Self: Refere-se ao objeto e permite que o objeto se modifique;
  • Serviço (Service): Qualquer serviço que acesse o sistema possui a identidade de Serviço, que concede acesso aos processos sendo executados pelo Windows 2000 e serviços posteriores;
  • Sistema (System): Os sistemas operacionais Windows 2000 e posteriores possuem a identidade de sistema, que é usada quando o sistema operacional precisa executar uma função no nível do sistema;
  • Usuário do Terminal Server (Terminal Server User): Permite que usuários do Terminal Server acessem aplicativos do Terminal Server e executem outras tarefas necessárias com os Serviços de Terminal.

Importante notar que dependendo do ambiente, do software e hardware instalado, e as políticas de configuração do sistema, você poderá encontrar mais grupos com nomes diferentes aparecerão.

Identificadores de segurança

De forma simples, o identificador de segurança (SID) é um número atribuído pelo sistema operacional para identificar exclusivamente um objeto específico, como um usuário, grupo ou até mesmo um computador. Quando um objeto é criado, o sistema gera e atribui o SID, verifica e garante que ele nunca é será novamente.

Enquanto usuários e administradores de sistema podem viver usando os nomes comuns, para Windows internamente isso não funcionará. Se o Windows se referir a um nome comum como os seres humanos em vez de usar um SID, então tudo associado a esse nome ficaria vazio ou inacessível se o nome fosse alterado de alguma forma.

Em vez de permitir que essa situação ocorra, a conta de usuário é em vez disso amarrada a uma sequência imutável (o SID), que permite que o nome de usuário para alterar sem afetar nenhuma das configurações do usuário. Isso significa que um nome de usuário pode mudar, mas o SID (enquanto ligado ao nome de usuário) não. Na verdade, não é possível alterar o SID associado a uma conta sem ter de atualizar manualmente todas as definições de segurança associadas a esse usuário para reconstruir a respectiva identidade.

Entendendo a estrutura do SID

Todos os SIDs começam com S-1-5-21, mas por outro lado eles são únicos. Como um pentester, pode-se decodificar o SID inteiro e determinar algumas informações sobre o usuário e grupo, mas vamos dar uma olhada especificamente nas contas dos usuários.

As duas principais contas (visitante e administrador) tem algumas propriedades únicas. Especificamente, estas contas terminam com 500 na de administrador e 501 na do visitante. Não importa qual sistema Windows você esteja verificando.

Você também achará SIDs em toda instalação do Windows que corresponda a certas contas embutidas. Por exemplo, o SID S-1-5-18 pode ser achado em qualquer cópia do Windows que você encontre e que corresponda a conta do sistema local, a conta de serviço que é carregada pelo Windows antes do usuário logar.

Veja alguns exemplos de valores para grupos e usuários especiais que são universais no Windows:

  • S-1-0-0 (Null SID) – Este é atribuído quando o valor do SID é desconhecido ou para um grupo sem membros;
  • S-1-1-0 (World) – É o grupo que contém todos os usuários;
  • S-1-2-0 (Local) – Este SID é atribuído para usuários que fazem log on no terminal local.

Apesar de você usar um usuário para acessar o sistema, o Windows identifica cada usuário, grupo ou objeto pelo SID. Por exemplo, Windows usa o SID para olhar por uma conta e ver se a senha combina. Também são usadas em cada situação na qual permissões são validadas, por exemplo, quando um usuário tenta acessar uma pasta ou um recurso compartilhado. Tenha em mente que o SID é único e nunca é reusado.

Onde eles ficam armazenados?

Como as contas e grupos são importantes, eles precisam ser armazenados e manter um rastreio de tudo isto. No caso do Windows, eles ficam no Security Accounts Manager (SAM). Simplesmente, o SAM é um banco de dados local que contém usuários e senhas das contas específicas do sistema. Ele fica empacotado e é parte do Registro do Windows em cada sistema.

Dentro do SAM, cada conta de usuário é relacionada com uns pedaços de informações. Informações associadas com as contas são as senhas, as quais são armazenadas criptografadas tanto em hash Lan Manager (LM)  e em formato hash NTLM. Este hash permite o computador determinar se a senha inserida pelo usuário está correta ou incorreto e precisa ser inserida novamente.

Caminha completo do SAM

O arquivo SAM fica localizado na pasta \windows\system32\config\. Entretanto, somente em situações extremas como uma instalação corrompida ou similar, você deve alterar este arquivo. Remover, alterar ou mecher de alguma forma, poderá fazer o seu sistema não dar mais boot.

Suporte e Versões do Windows

Para todas as intenções e propósitos, o arquivo SAM está sendo usado em todas as versões do Windows, exceto aquelas com mais de 15 anos. Nas versões que suportam o SAM, o banco de dados roda em background e para o usuário é imperceptível.

Sugestões de livros:

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Deixe um comentário

O seu endereço de e-mail não será publicado.