Cicada

]

Recon

Nessa máquina começamos sabendo o IP 10.10.11.35. Com isso em mão, podemos começar a mapear os serviços que executam nesse IP com o NMAP:

Podemos notar um ambiente Windows com Active Directory e SMB.

SMB

Começo enumerando o SMB na tentativa de conseguir acesso a arquivos e pastas sem autenticação no sistema:

É possível notar o diretório HR disponível para leitura, podemos ver os documentos dentro e possivelmente ler o conteúdo:

O conteúdo desse documento informa uma senha padrão para os funcionários, e sugere que seja trocada após o primeiro login:

Agora temos uma possível senha para algum usuário, mas ainda não sabemos nenhum usuário do sistema, podemos usar a técnica de brute-rid para ver possíveis usuários do sistema e validar com o Kerberos.

Com isso podemos montar uma wordlist com os usuários e validar o login usando o Kerbrute

Agora temos uma senha e uma lista de usuários do sistema, no contexto atual o que podemos fazer é testar se algum desses usuários utiliza essa senha fazendo um password spray:

Conseguimos uma credencial michael.wrightson:Cicada$M6Corpb*@Lp#nZp!8 .

Podemos testar os acessos dele no SMB também e ver se temos algo diferente lá, porém ele não tem acesso a nenhum diretório diferente de antes.

Tento essas credenciais para realizar login na máquina, com o evil-winrm, porém sem sucesso:

Podemos tentar enumerar outros usuários com esse acesso:

Na descrição de david.orelious a senha é vazada: aRt$Lp#7t*VQ!3.

Tento novamente um login via evil-winrm, porém sem sucesso também.

Com esse acesso temos acesso a um novo diretório no SMB:

Nesse diretório DEV temos um script de backup para windows, quando baixamos e vemos o código fonte, vemos a credencial de outro usuário gravada no código e conseguimos um novo acesos, emily.oscars:Q!3@Lp#M6b*7t*Vt:

E com essas credenciais, o login via evil-winrm finalmente funciona:

Privilege Escalation

Na shell como emily.oscars, a primeira coisa que faço é verificar as permissões dentro da máquina com o comando whoami /priv:

Pesquisando sobre esses privilégios, encontro documentos que demonstrar como é possível escalar privilégios usando dessas permissões.

Criamos um arquivo qualquer com as instruções:

Importamos o arquivo para o servidor:

Usamos agora o diskshadow para executar as instruções no arquivo que subimos, onde ele vai criar um disco virtual Z que é um clone do disco C:

Agora usamos o robocopy para copiar os arquivos do Disco virtual para o nosso diretório com robocopy /b z:\windows\ntds . ntds.dit:

Com um comando de reg save conseguimos extrair o system de dentro do ntds.dit, e baixamos os arquivos para nossa máquina :

Com o system hive e o ntds.dit em mãos, podemos usar o secretsdump do framework impacket e extrair as hashes desse arquivo:

Agora com a Hash do administrador, podemos logar com esse acesso usando Pass the Hash e conseguir acesso administrativo no servidor:

E com isso podemos pegar a flag de root e terminar o laboratório.

Last updated