VNE
Descrição do Desafio:
Autor: Junias Bonou Plataforma: PicoCTF Categoria: Binary Exploitation Dificuldade: Média Data: 2023 Descrição:
We've got a binary that can list directories as root, try it out !!
Passo a Passo da Solução
1. Entendendo como o binário funciona
Este desafio é feito por meio de conexão ssh
, então não há nenhum arquivo para download. Com a conexão estabelecida, nós temos acesso ao bash da máquina, e no diretório do usuário há um arquivo executável bin
que se executado de primeira vai exibir o erro:
Como próximo passo, setamos a variável SECRET_DIR
para algum diretório e vemos qual vai ser a saída:
E com isso descobrimos que o arquivo lista os arquivos dentro de um diretório, conforme dito na descrição. Mas algo ainda não está claro, que é como este arquivo está listando os arquivos. Para isso podemos digitar qualquer coisa dentro da variável para ver se ocorre algum erro.
Pronto, descobrimos que o arquivo está usando a syscall
do comando ls
.
2. Solução
Aqui nós já sabemos quase tudo, só não sabemos onde está a flag e como pegar o conteúdo de um arquivo. Para encontrar a flag basta imprimir o conteúdo de alguns diretórios que não temos permissão para acessar, no caso a pasta root
foi a primeira a ser testada, e lá estava o arquivo:
A parte de pegar o conteúdo de um arquivo é simples de se fazer, porque se considerarmos que o binário não está tratando o conteúdo da SECRET_DIR
, podemos tentar passar outro comando via pipe. E por sorte, o binário não está tratando o conteúdo.
Flag
picoCTF{Power_t0_man!pul4t3_3nv_1670f174}
Autor da WriteUp
Atualizado