HackTheBox. Passo a passo resolvido. Pulverização de senha. De DnsAdmin para SYSTEM

imagem

Continuo publicando soluções enviadas para processamento adicional no site da HackTheBox .

Neste artigo, coletamos informações sobre a máquina, executamos a pulverização de senha para obter o usuário e também aumentamos nossos direitos do DnsAdmin para o SYSTEM usando uma DLL maliciosa.

A conexão ao laboratório é via VPN. É recomendável não conectar-se a partir de um computador de trabalho ou de um host em que os dados importantes estejam disponíveis, pois você acaba em uma rede privada com pessoas que sabem alguma coisa no campo da segurança da informação :)

Informações Organizacionais
, , Telegram . , , .

. , - , .

Recon


Esta máquina possui um endereço IP 10.10.10.169, que eu adiciono ao / etc / hosts.

10.10.10.169    resolute.htb

Primeiro, examinamos portas abertas. Como leva muito tempo para varrer todas as portas com o nmap, primeiro farei isso com o masscan. Examinamos todas as portas TCP e UDP da interface tun0 a uma velocidade de 500 pacotes por segundo.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.169  --rate=500

imagem

O host tem muitas portas abertas. Agora digitalize-os com o nmap para filtrar e selecionar os que você precisa.

nmap resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

imagem

Agora, para obter informações mais detalhadas sobre os serviços que operam nas portas, executaremos uma varredura com a opção -A.

nmap -A resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

imagem

imagem

Na saída do nmap, encontramos o nome de domínio megabank.local, que adicionamos ao / etc / hosts. A primeira coisa na inteligência do Windows é uma lista básica. Pessoalmente, ao testar em uma máquina Linux, eu uso o enum4linux.

enum4linux -a megabank.local

imagem

imagem

imagem

imagem

imagem

E entre as informações sobre a política de domínio, usuários, grupo e senha, encontramos um comentário interessante sobre a marca da conta do usuário. O comentário contém sua senha. Mas, depois de fazer login com essas credenciais, falhamos em todos os serviços.

DO UTILIZADOR


Como já temos uma senha e uma lista de usuários destacadas no sistema, podemos usar uma das técnicas de Movimento Lateral - Pulverização de Senha. Eu escrevi sobre tudo isso em detalhes aqui . A linha inferior é que tentamos senhas conhecidas para todos os usuários conhecidos.

Primeiro de tudo, tentamos classificar através do SMB. Você pode usar o módulo smb_login para o Metasploit Framework para isso.

imagem

Nós indicamos os parâmetros necessários.

imagem

E encontramos com sucesso o usuário a quem essa senha é adequada.

imagem

E verifique as credenciais. Eu prefiro o smbmap, que especifica o usuário, senha, domínio e host.

imagem

E temos uma lista de recursos disponíveis. Se você retornar à lista de portas, haverá um serviço WinRM em execução no 5985. Para um trabalho conveniente com esse serviço no linux, você pode usar o Evil-WinRM .

imagem

USER2


O Evil-WinRM funciona bem, mas o metterpter ainda é mais conveniente. Felizmente, este programa permite que você especifique um diretório com arquivos do PowerShell ou C # durante a conexão, que será carregado automaticamente na sessão. Geraremos um arquivo do PowerShell que conterá a carga do Meterpreter.

imagem

E crie um ouvinte para ouvir a conexão.

imagem

Agora estamos conectados ao Evil-WinRM e especificamos um diretório com um script.

imagem

Mas depois de iniciar o arquivo com o carregamento, vemos que o script funcionou sem erros, mas não há conexão.

imagem

Provavelmente, o script foi bloqueado. Como esse é o PowerShell, é mais provável que você esteja usando o AMSI. Mas o Evil-WinRM possui seus próprios módulos úteis.

imagem

Como você pode imaginar, precisamos do primeiro. Vamos aplicar este módulo e executar nosso arquivo com a carga novamente.

imagem

E observamos uma conexão bem-sucedida.

imagem

Depois de executar os scripts do Recon, ignorando a máquina, encontramos um diretório interessante.

imagem

Este é o diretório que armazena o arquivo de texto das sessões gravadas do PowerShell, após o comando "Iniciar-Transcrição". Estamos procurando um arquivo.

imagem

Vamos ver o conteúdo.

imagem

Portanto, esta é uma sessão de usuário do Ryan. E um pouco mais adiante, encontramos o comando com o qual a senha foi transmitida.

imagem

Tentamos credenciais para o serviço WinRM.

imagem

E, no final, faça o login como Ryan.

RAIZ


E antes de tudo, verificando as informações sobre o usuário atual, encontramos um recurso interessante. Ele é um membro do grupo DnsAdmins.

imagem

Isso nos dá a oportunidade de atualizar nossos privilégios para o SYSTEM. Podemos solicitar que você carregue a DLL na próxima vez que o serviço for iniciado. Vamos gerar a DLL que contém a carga do meterpreter.

imagem

E execute o ouvinte.

imagem

Agora ative o servidor smb. Indicamos o diretório, nome e suporte para a versão 2 do SMB.

imagem

Agora, usando o dnscmd, indicaremos qual DLL carregar.

imagem

imagem

O comando foi concluído com êxito, agora reinicie o serviço DNS.

imagem

E após uma reinicialização, vemos uma conexão via SMB.

imagem

Bem como uma sessão aberta.

imagem

E temos direitos do sistema.

Você pode se juntar a nós no Telegram. Lá você encontra materiais interessantes, cursos mesclados e softwares. Vamos montar uma comunidade na qual haverá pessoas versadas em muitas áreas da TI, para que possamos sempre ajudar-nos mutuamente em qualquer problema de segurança da informação e da TI.

All Articles