Documentação: Poison CTF

Poison CTF Writeup

Writeup apresentado pela Behind Security como parte da série Jornada ao OSCP, focando no Poison CTF do HackTheBox.

Poison CTF icon

Poison CTF

O Poison CTF é uma máquina que se concentra principalmente em envenenamento de logs e redirecionamento/tunelamento de portas. A máquina está executando o FreeBSD, o que apresenta alguns desafios para usuários iniciantes, pois muitos binários comuns de outras distribuições não estão disponíveis.

HackTheBox Logo

HackTheBox

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

Resumo Executivo

Introdução

Este relatório de Pentest documenta a avaliação de segurança conduzida no endereço IP 10.10.10.84. A avaliação teve como objetivo identificar vulnerabilidades que poderiam ser exploradas para comprometer a segurança da infraestrutura-alvo.

Objetivo

O objetivo desta avaliação de segurança foi identificar e explorar vulnerabilidades na infraestrutura do alvo para avaliar as medidas de segurança existentes e fornecer recomendações para mitigar os riscos identificados.

Requisitos

  • Identificar vulnerabilidades na aplicação web hospedada no endereço IP 10.10.10.84.
  • Explorar vulnerabilidades críticas e moderadas para avaliar a exposição potencial a ataques.
  • Avaliar a possibilidade de acesso não autorizado a sistemas e dados.

Resumo de Alto Nível das Vulnerabilidades Encontradas

Enumeração do Servidor Web

  1. Inclusão Local de Arquivos (Elevada): Arquivos locais do sistema poderiam ser incluídos ao explorar uma falha em browse.php. Para mitigar isso, implemente validação de entrada e sanitize a entrada do usuário no script browse.php para prevenir ataques de travessia de diretórios. Além disso, restrinja o acesso a arquivos a um diretório específico e implemente uma lista branca de arquivos permitidos que podem ser acessados através do script.

  2. Exposição de Informações Sensíveis (Elevada): Um arquivo (pwdbackup.txt) contendo informações sensíveis foi identificado, codificado em base64. Para melhorar a segurança, evite armazenar informações sensíveis como senhas ou credenciais em texto simples ou codificação base64. Use criptografia e métodos de armazenamento seguro. Implemente controles de acesso adequados para restringir o acesso a arquivos e diretórios sensíveis.

Acesso Inicial - Credenciais SSH Expostas

  1. Credenciais SSH Expostas (Alta): Credenciais para o usuário "charix" foram decodificadas, permitindo acesso SSH não autorizado. Para mitigar isso, altere imediatamente as senhas para o usuário "charix".

Pós-Exploração

  1. LPE para root (Escalação Local de Privilégios para root) (Extrema): Credenciais para a sessão VNC do usuário root foram descobertas em /home/charix/secret.zip. Uma ferramenta chamada vncpwd foi usada para descriptografar a senha VNC armazenada, permitindo acesso remoto ao sistema como root. Para evitar isso, use mecanismos de armazenamento seguro e criptografia para dados sensíveis, e reveja e restrinja o acesso a arquivos críticos como /home/charix/secret.zip.

Recomendações

  1. Implementar validação de entrada e sanitizar a entrada do usuário no script browse.php para prevenir ataques de travessia de diretórios. Restringir o acesso a arquivos a um diretório específico e implementar uma lista branca de arquivos permitidos.
  2. Evite armazenar informações sensíveis em texto simples ou codificação base64. Use criptografia e métodos de armazenamento seguro para dados sensíveis e implemente controles de acesso adequados para restringir o acesso a arquivos e diretórios sensíveis.
  3. Alterar imediatamente as senhas para o usuário "charix" para evitar acesso SSH não autorizado.
  4. Armazenar com segurança dados sensíveis, como senhas VNC, usando criptografia. Rever e restringir o acesso a arquivos críticos para evitar divulgação não autorizada de informações sensíveis.

Metodologia

A avaliação envolveu enumeração de serviços, enumeração do servidor web e atividades de pós-exploração. Vulnerabilidades em inclusão local de arquivos, exposição de informações sensíveis, credenciais SSH expostas e escalonamento local de privilégios para root foram identificadas e exploradas. As recomendações visam melhorar as medidas de segurança para mitigar os riscos identificados.

Legenda das Cores

Legenda das cores no console:

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

Classificação de Risco

Desafio Independente - 10.10.10.84

export IP=10.10.10.84

Enumeração de Serviços

Endereço IPPortas Abertas
10.10.10.84TCP: 22, 80

Enumeração do Servidor Web

Inclusão Local de Arquivos

Explicação da Vulnerabilidade: Behind Security conseguiu incluir arquivos locais do sistema explorando uma falha em browse.php.

Correção da Vulnerabilidade:

  1. Validação de Entrada: Implemente validação de entrada e sanitize a entrada do usuário no script browse.php para prevenir ataques de travessia de diretórios.
  2. Listagem Branca de Arquivos: Restrinja o acesso a arquivos a um diretório específico e implemente uma lista branca de arquivos permitidos que podem ser acessados através do script.

Severidade: Elevada

Passos para Reproduzir o Ataque:

  1. Acesse http://10.10.10.84/browse.php?file=/etc/passwd. Você pode substituir /etc/passwd por qualquer arquivo desejado.
Vulnerabilidade de inclusão - php
Lendo /etc/passwd

Exposição de Informações Sensíveis

Explicação da Vulnerabilidade: Behind Security conseguiu identificar a presença de um arquivo (pwdbackup.txt) contendo informações sensíveis, codificado em base64. Base64 não é uma forma recomendada de armazenar informações sensíveis, pois pode ser facilmente decodificado.

Correção da Vulnerabilidade:

  1. Proteger Informações Sensíveis: Evite armazenar informações sensíveis como senhas ou credenciais em texto simples ou codificação base64. Use criptografia e métodos de armazenamento seguro.
  2. Controles de Acesso: Implemente controles de acesso adequados para restringir o acesso a arquivos e diretórios sensíveis.

Severidade: Elevada

Passos para Reproduzir o Ataque:

  1. Obtenha o arquivo em http://10.10.10.84/pwdbackup.txt
Usando o script listfiles para descobrir o arquivo pwdbackup.txt

Acesso Inicial - Credenciais SSH Expostas

Explicação da Vulnerabilidade: Behind Security decodificou as credenciais para o usuário "charix" e foi capaz de fazer login via SSH.

Correção da Vulnerabilidade:

  1. Alterar Senhas: Altere imediatamente as senhas para o usuário "charix".

Severidade: Alta

Passos para Reproduzir o Ataque:

  1. Obtenha o conteúdo de http://10.10.10.84/pwdbackup.txt
  2. Remova os espaços e salve o conteúdo codificado em um arquivo (neste caso, chamado de "encoded.enc").
  3. Decodifique o arquivo executando o script bash abaixo.
  4. Use a senha decodificada para fazer login como "charix" via SSH: ssh [email protected] (o nome de usuário "charix" pode ser validado lendo o arquivo /etc/passwd e procurando por usuários com acesso ao csh. A entrada se parece com isso: charix:/home/charix:/bin/csh).
Usando vi para remover todos os espaços do texto codificado
Script em bash para decodificar o texto

Pós-Exploração

LPE para root

Explicação da Vulnerabilidade: Após analisar os processos em execução na máquina, uma instância VNC em execução como root se destacou. As credenciais para a sessão VNC do usuário root podem ser encontradas ao extrair o conteúdo de /home/charix/secret.zip (o arquivo zip está protegido por senha, mas isso não é um grande problema, pois é a mesma senha que descobrimos para o usuário "charix"). O uso de uma ferramenta específica para descriptografar a senha VNC armazenada permite que um atacante remoto faça login como root via VNC, assumindo o controle total do sistema.

Correção da Vulnerabilidade:

  1. Armazenamento de Senha: Use mecanismos de armazenamento seguro e criptografia para dados sensíveis.
  2. Controles de Acesso: Analise e restrinja o acesso a arquivos críticos como /home/charix/secret.zip.

Severidade: Extrema

Passos para Reproduzir o Ataque:

  1. Faça o download do vncpwd para sua máquina local e compile-o (cd vncpwd && make), vamos usá-lo para descriptografar a senha VNC armazenada.
  2. Transfira /home/charix/secret.zip para sua máquina e descomprima. Quando solicitado uma senha, use a senha para "charix" que descobrimos antes.
  3. Configure um encaminhamento de porta SSH usando as credenciais para o usuário "charix": ssh -L 5901:localhost:5901 [email protected].
  4. Use ./vncpwd /caminho/para/senha/vnc/armazenada para descriptografar a senha VNC.
  5. Use uma ferramenta como vncviewer para se conectar ao servidor VNC usando a senha descriptografada. Note que temos encaminhamento de porta ativo via SSH, então localhost:5901 será o endereço do servidor.
Descobrindo o processo VNC (saída do linpeas.sh)
Quebrando a criptografia da senha vnc armazenada
Conexão via VNC como root!
Prova de Exploração: user.txt e root.txt CENSURADOS

Conclusão

Esperamos que você tenha achado nosso conteúdo sobre o Poison CTF útil e convidamos você a explorar mais nosso site para descobrir outros tópicos interessantes que abordamos. Desde cibersegurança 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 das tendências. Estamos comprometidos em oferecer a melhor experiência de usuário 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