Poison CTF Writeup
Tabela de Conteúdos
ToggleWriteup apresentado pela Behind Security como parte da série Jornada ao OSCP, focando no Poison CTF do HackTheBox.
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
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
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 scriptbrowse.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.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
- 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
- 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 chamadavncpwd
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
- 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. - 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.
- Alterar imediatamente as senhas para o usuário "charix" para evitar acesso SSH não autorizado.
- 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 IP | Portas Abertas |
---|---|
10.10.10.84 | TCP: 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:
- 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. - 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:
- Acesse
http://10.10.10.84/browse.php?file=/etc/passwd
. Você pode substituir/etc/passwd
por qualquer arquivo desejado.
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:
- 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.
- 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:
- Obtenha o arquivo em
http://10.10.10.84/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:
- Alterar Senhas: Altere imediatamente as senhas para o usuário "charix".
Severidade: Alta
Passos para Reproduzir o Ataque:
- Obtenha o conteúdo de
http://10.10.10.84/pwdbackup.txt
- Remova os espaços e salve o conteúdo codificado em um arquivo (neste caso, chamado de "encoded.enc").
- Decodifique o arquivo executando o script bash abaixo.
- 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 aocsh
. A entrada se parece com isso:charix:/home/charix:/bin/csh
).
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:
- Armazenamento de Senha: Use mecanismos de armazenamento seguro e criptografia para dados sensíveis.
- Controles de Acesso: Analise e restrinja o acesso a arquivos críticos como
/home/charix/secret.zip
.
Severidade: Extrema
Passos para Reproduzir o Ataque:
- 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. - Transfira
/home/charix/secret.zip
para sua máquina e descomprima. Quando solicitado uma senha, use a senha para "charix" que descobrimos antes. - Configure um encaminhamento de porta SSH usando as credenciais para o usuário "charix":
ssh -L 5901:localhost:5901 [email protected]
. - Use
./vncpwd /caminho/para/senha/vnc/armazenada
para descriptografar a senha VNC. - 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ãolocalhost:5901
será o endereço do servidor.
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
A Behind Security é uma plataforma online dedicada a fornecer artigos informativos sobre cibersegurança, privacidade e programação.