Cap
Difficulty: Easy | OS: Linux

Walkthrough - Youtube Habemus Shell
Em breve...
HackTheBox Machine
Scanning

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
ifconfigdo sistema operacional e exibe na tela essas informações.

O menu Network Status executa o comando
netstatdo 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
idSe clicarmos em Download, ela baixa um
pcapdesse id correspondente.

Se mudarmos o
idpodemos ver que há outros que estão com tráfego salvo.

Então aqui caracteriza uma vulnerabilidade de
IDORonde podemos ver dados de outros usuários.Poderíamos fazer um bruteforce nesse
idcom 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.txtPodemos 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
CAPABILITESum binário com permissões que o deixavam vulnerável.Utilizamos o comando abaixo para listar os capabilities

Observe que o binário
python3.8esta com o capabilitiescap_setuidEsse recurso nos da a possibilidade de alterar o UID (definir o UID de root em um processo)
No Linux,
capabilitiessã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
pythonpodemos alterar oUIDpara o de root.Lembra qual o UID do root? Sempre
0mas 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/bashtem o binário suid para executar como root.Podemos então executar o comando
bash -ppara conseguir um shell de root.

Finalizamos aqui pessoal, até a próxima !!
Last updated