Cap
Difficulty: Easy | OS: Linux
Last updated
Difficulty: Easy | OS: Linux
Last updated
Em breve...
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.
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.
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:
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.
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 !!