HACKING: Root Me, Active Directory -GPO

O desafio envolve analisar o arquivo .pcap com vários protocolos.

Neste desafio específico, precisamos analisar o protocolo SMB e encontrar o sinalizador que falta.

Pré-requisitos:

  • Conhecimento de uma ferramenta de análise de captura de rede.
  • Conhecimento da política de grupo.
  • Conhecimento de Python

Você pode encontrar o desafio no link abaixo:

https://www.root-me.org/en/Challenges/Forensic/Active-Directory-GPO

Declaração

Durante uma auditoria de segurança, foi registrado o tráfego de rede durante a sequência de inicialização de uma estação de trabalho conectada a um Active Directory. Analise esta captura e encontre a senha do administrador.

Primeiro vamos baixar o arquivo ch12.pcap do desafio e abri-lo no Wireshark.

Agora, antes de nos aprofundarmos na captura de pacotes, vamos dar uma visão de alto nível dos diferentes protocolos. Para fazer isso, navegue até Estatísticas → Hierarquia de protocolo.

E você verá a janela abaixo, mostrando diferentes protocolos.

Vamos dar uma olhada nos diferentes protocolos e imediatamente o SMB2 chamou minha atenção na lista.

O que é PME

A Wikipédia afirma:

Em redes de computadores , Server Message Block ( SMB ), cuja versão também era conhecida como Common Internet File System ( CIFS /sɪfs/ ), [1] [2] é um protocolo de comunicação [3] para fornecer acesso compartilhado a arquivos , impressoras e portas seriais entre nós em uma rede. Ele também fornece um mecanismo autenticado de comunicação entre processos .

Vamos filtrar os dados com o protocolo SMB2. Para fazer isso, basta digitar smb2 na barra de filtros e veremos apenas o tráfego usando o protocolo SMB2.

Depois de filtrarmos pelo protocolo SMB2, vamos dar uma olhada mais de perto.

  1. Existem 2 índices de fluxo numerados 14 e 24.
  2. O índice de fluxo 14 está tentando configurar a sessão e depois termina
  3. O índice de fluxo 24 contém mais dados em comparação com 14

Vamos seguir o índice de fluxo 24, para isso clique com o botão direito — -> Seguir fluxo TCP.

E podemos ver todas as solicitações e respostas em vermelho e azul, respectivamente.

Percorrendo o fluxo, encontramos um arquivo xml em texto não criptografado:

<?xml versão=”1.0" codificação=”utf-8"?>
<Grupos clsid=”{3125E937-EB16–4b4c-9934–544FC6D24D26}”><Usuário clsid=”{DF5F1855–51E5–4d24–8B1A-D9BDE98BA1D1}” nome=”Helpdesk” imagem=”2" alterado=”2015– 05–06 05:50:08 "UID =" {43F9FF29-C120–48B6–8333–9402C927BE09} ”> <Propriedades Action =” u ”newName =” ”FullName =” ”Descrição” ”" CPassword = ”PSMSCOUXQUME =” +w” changeLogon=”1" noChange=”0" neverExpires=”0" acctDisabled=”0" userName=”Helpdesk”/></User><User clsid=”{DF5F1855–51E5–4d24–8B1A-D9BDE98BA1D1} ”nome=”Administrador” imagem=”2" alterado=”2015–05–05 14:19:53" uid=”{5E34317F-8726–4F7C-BF8B-91B2E52FB3F7}” userContext=”0" removePolicy=”0" ><Properties action=”U” newName=”” fullName=”Admin Local” description=”” cpassword=”LjFWQMzS3GWDeav7+0Q0oSoOM43VwD30YZDVaItj8e0" changeLogon=”0" noChange=”0" neverExpires=”1" acctDisabled=”0" subAuthority =”” nome_do_usuário=”Administrador”/></Usuário>
</Grupos>

Se olharmos os dados acima, podemos ver:

nome=”Administrador”

cpassword=”LjFWQMzS3GWDeav7+0Q0oSoOM43VwD30YZDVaItj8e0″

Como você pode ver, temos a senha do Administrador, mas ela está criptografada. Agora, para completar o desafio, temos que quebrar a senha.

Descriptografando senha

Encontre a chave AES

Para descriptografar a senha criptografada AES, precisamos da chave que foi usada para criptografar a senha.

Para encontrar a chave que a MS está usando para criptografar senhas, vamos começar pesquisando a chave no Google. Depois de pesquisar por alguns minutos, encontrei a chave em:

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be

Todas as senhas são criptografadas usando uma chave derivada do Advanced Encryption Standard (AES).

A chave AES de 32 bytes é a seguinte:

4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8 
 f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b

Agora temos a chave que foi usada para criptografar a senha e o próximo passo é encontrar uma maneira de descriptografar a senha AES.

Descriptografando a senha AES

Como não estou muito familiarizado com criptografia, decidi usar o código python fornecido em https://github.com/MartinIngesen/gpocrack/blob/master/gpocrack.py

Infelizmente, o código fornecido não funcionou para mim e depois de olhar mais de perto e fazer algumas alterações, finalmente funcionou.

!pip install pycrypto
from Crypto.Cipher import AES
import base64
cpassword="LjFWQMzS3GWDeav7+0Q0oSoOM43VwD30YZDVaItj8e0="
decoded_password = base64.b64decode(cpassword)
key = b'\x4e\x99\x06\xe8\xfc\xb6\x6c\xc9\xfa\xf4\x93\x10\x62\x0f\xfe\xe8\xf4\x96\xe8\x06\xcc\x05\x79\x90\x20\x9b\x09\xa4\x33\xb6\x6c\x1b'
decryption_suite = AES.new(key, AES.MODE_CBC, '\x00'*16)
plain_text = decryption_suite.decrypt(decoded_password)
print("Password is: {}".format(plain_text.strip()))
password_list = (plain_text.decode().split('\x00')) # removing null bytes
password = ''.join(str(i) for i in password) # list to string
print(password)

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Referências

  1. https://github.com/MartinIngesen/gpocrack/blob/master/gpocrack.py
  2. https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be
  3. Wikipedia > Tagged CryptographyGpoGroup PolicyRoot Me

Fonte: digitalitskills

 HACKING: ByPass – Microsoft SmartScreen

Microsoft SmartScreen é uma tecnologia de filtragem desenvolvida pela Microsoft que é usada para identificar sites suspeitos e bloquear o acesso a eles, ajudar a prevenir phishing e filtrar downloads de software potencialmente perigosos.

Este artigo é uma reprodução sucinta do post realizado pelo pesquisador Joe Helle no seu Medium e pode ser útil durante a realização de um PenTest.

Observe que ao ser realizado o download do BloodHount-win21-x64.zip o SmartScreen entra em ação bloqueando o download.

Google Chrome

Microsoft Edge

Mozilla Firefox

Para realizar o ByPass, basta acessar o arquivo hosts (C:\Windows\System32\drivers\etc\hosts) como Administrador e direcionar os endereços abaixo para o IP ex: 0.0.0.0:

# SmartScreen
0.0.0.0	telem-edge.smartscreen.microsoft.com dl-edge.smartscreen.microsoft.com nav-edge.smartscreen.microsoft.com safebrowsing.googleapis.com safebrowsing-cache.google.com safebrowsing.google.com sb-ssl.google.com app-edge.smartscreen.microsoft.com

Agora não é exibido nenhum bloqueio do download.

Google Chrome

Microsoft Edge

Mozilla Firefox

Observação

Este procedimento compromete a segurança do sistema operacional tornando-o vulnerável a qualquer tipo de ameaça caso não possua nenhuma proteção adicional.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: medium.themayor