Cap

Difficulty: Easy | OS: Linux


Walkthrough - Youtube Habemus Shell


  • Em breve...

HackTheBox Machine


Scanning


image.png

Services and Versions


Exploration


Port 80 - HTTP


  • Acessamos a página web e nos deparamos com uma dashboard e um menu lateral

  • O menu IP CONFIG executa o comando ifconfig do sistema operacional e exibe na tela essas informações.

  • O menu Network Status executa o comando netstat do sistema operacional e exibe na tela essas informações.

IDOR


  • No menu “Security Snapshot…” temos um botão de download e uma url com um <id>

  • Sempre que abrimos a página, ela atualiza o id

  • Se clicarmos em Download, ela baixa um pcap desse id correspondente.

  • Se mudarmos o id podemos ver que há outros que estão com tráfego salvo.

  • Então aqui caracteriza uma vulnerabilidade de IDOR onde podemos ver dados de outros usuários.

  • Poderíamos fazer um bruteforce nesse id com o objetivo de encontrar outros que estejam preenchidos.

  • Uma boa tentativa, é sempre retornar para um numero mais baixo, tendo em vista que o admin sempre é o primeiro usuário do sistema.

  • Mudamos então para o id 0 e baixamos o .pcap

  • Abrimos o arquivo no nosso analisador de pacotes de preferencia, eu preferi abrir no Wireshark

  • Sabemos que no alvo temos um FTP aberto, e o FTP é um protocolo que não tem criptografia, ou seja, toda informação que passa por ele podemos recuperar em claro através de um sniffer de rede.

  • Nesse caso, já temos o log do tráfego, então analisando os pacotes, foi possível encontrar o usuário e senha para o serviço FTP.

Port 21 - FTP


  • Agora que temos as credenciais para o serviço FTP, podemos tentar conectar.

  • Encontramos então a nossa primeira Flag user.txt

  • Podemos baixar ela do FTP com o comando abaixo:

Initial Access


  • Como já tínhamos credenciais, tentamos reaproveitá-las para tentar conectar no serviço SSH que também havia no alvo.

  • Conseguimos logar com sucesso no alvo através do ssh reaproveitando as credenciais obtidas no pcap.

Privilege Escalation


  • Analisamos por SUID, por em arquivos de configuração, por outras misconfigurations, e encontramos através do CAPABILITES um binário com permissões que o deixavam vulnerável.

  • Utilizamos o comando abaixo para listar os capabilities

  • Observe que o binário python3.8 esta com o capabilities cap_setuid

  • Esse recurso nos da a possibilidade de alterar o UID (definir o UID de root em um processo)

No Linux, capabilities são permissões granulares que permitem a um processo realizar tarefas específicas que normalmente requerem privilégios de superusuário (root). Em vez de dar acesso total ao sistema via root, as capabilities permitem conceder apenas as permissões necessárias para realizar ações específicas.

  • Quer dizer então que através do python podemos alterar o UID para o de root.

  • Lembra qual o UID do root? Sempre 0 mas como podemos confirmar isso ? No /etc/passwd

  • O primeiro 0 é o UID do usuário.

  • Então agora podemos executar comandos python em oneliner

  • Observe que agora nosso binário /bin/bash tem o binário suid para executar como root.

  • Podemos então executar o comando bash -p para conseguir um shell de root.

  • Finalizamos aqui pessoal, até a próxima !!

Last updated