Notícias IBLISS Segurança Digital

Bypassing em GPO´s do Windows

Este artigo visa mostrar uma forma simples de se burlar algumas GPO´s do Windows. Inicialmente serão mostradas apenas 3 detalhadamente, mas antes, vamos entender o que são  GPO´s.

GPO´s – O que são?

Há muito anos, a Microsoft  introduziu o conceito “Group Policy” para centralizar o e facilitar o gerenciamento  de usuário e estações  de trabalho .
Dentro da Group Policy, temos vários objetos  que visam controlar configurações locais da estação do usuário, estes controles são conhecidos como Group Policy Objects ou simplesmente GPO´s, que  são o motivo desta pesquisa.

GPO´s  a serem burlados

Existe um grande  quantidade de objetos que podem ser alterados  dentro de uma Group Policy, inicialmente foram selecionados 3  para realização de testes.
São eles:

Impedir acesso ao prompt de comando.
Impedir acesso a ferramenta de edição de registro
Remover Gerenciador de tarefas

O acesso a estes itens pode ser feito usando a ferramenta gpedit.msc.
Os dois primeiros estão em:
Configuração do usuário ->  Systema

Já a opção para o Gerenciador de tarefas esta em:
Configuração -> Sistema -> Opções de Ctrl+Alt+Del

gpo1

Iniciando à análise

Para saber como uma GPO atua no sistema  foi utilizado o software Process Monitor, que nada mais é um software que monitora o comportamento de outros softwares.  Para esta caso, o binário monitorado será o mmc.exe ( Microsoft Manager Console) pois ele é a interface para arquivos .msc (gpedit.msc )

Basta criar um filtro como na imagem abaixo:

gpo2

 

Com o procmon em funcionamento  foi possível entender como o mmc age e pôde se identificada a chave de registro usada para controlar as 3 GPO´s. Para isso, cada objeto foi habilitado e desabilitado, capturando assim seu comportamento:

gpo3

gpo4

 

Clicando com botão direito da chave, em seguida em “Jump to”, é possível acessar o registro diretamente:

gpo5

 

Este processo foi apenas encontrar detalhes de como a GPO atua no sistema e todo processo foi feito com um usuário administrador. Agora que já se tem o conhecimento como a GPO atua, o passo seguinte é burlar a proteção utilizando um usuário comum.

 

Burlando a GPO

Depois que a GPO de restrição de execução do prompt de comando foi habilitada ao tentar acesso e exibida a seguinte mensagem:

gpo6

Portanto, temos certeza que a GPO foi aplicada com sucesso.  (Leve em consideração que neste momento já não é mais utilizado um usuário com poderes administrativos .)

Como foi visto no tópico anterior, existe uma entrada do registro que controla a permissão, chamada DisableCMD, logo, o binário cmd.exe necessariamente precisa  saber onde esta chave se encontra no registro,  ler o seu valor  pra assim permitir ou não a execução.

Para  o próximo, passo é imprescindível  criar uma copia de segurança do arquivo cmd.exe!
Copie-o em um diretório onde seu usuário(sem poderes administrativos) tenha permissão de gravar.

Alterando o binário:

Depois de feita a copia, a alteração do binário poderá ser feita de várias formas, serão citadas 3:

Editor hexa:
Abra seu cmd.exe em qualquer editor hexa e procure pela string DisableCMD, altere apenas um byte e salve. Exemplo BisableCMD (isso mesmo, troque D por um B)

gpo7

Edit do Windows: (deve-se marcar abrir em modo binário)

gpo8

Patcher

gpo9

Como mostrado na imagem, este programa irá gerar um executável  que buscará a string DisableCMD dentro do cmd.exe e somente na primeira ocorrência irá substituir  apenas um byte, de D para C

Após alterado ao byte, execute normalmente  o seu prompt de comando mesmo com a GPO habilitada.

Conclusão:

O procedimento para burlar é bem simples pelo fato dos binários possuírem as strings hardcoded  no código fonte e além disso, não terem qualquer tipo ofuscação após serem compilados.

Esta técnica foi testada em máquinas Windows XP, Windows 2003 e Windows 2008 com sucesso.

Para as GPO´s de acesso ao registro (regedit) e TaskManager o procedimento é o mesmo, apenas mudando as strings  encontradas em cada binário.