Photon Lockdown
Podemos baixar os arquivos do desafio e extrair. Com isso, obtemos três arquivos:
- fwu_ver
- hw_ver
- rootfs
Os primeiros dois arquivos listados são arquivos de texto e aparentam conter, respectivamente, a versão do firmware e a versão do hardware. Já o rootfs
é um arquivo comprimido com Squashfs, um sistema de arquivos comumente utilizado em sistemas embutidos para transferir o sistema através de um único arquivo comprimido. É possível descompactar esse arquivo utilizando o unsquashfs da seguinte forma:
mkdir root
unsquashfs -d ./root rootfs
Nos comandos acima, primeiro criamos um diretório root e então especificamos que o conteúdo do arquivo rootfs
deve ser extraído no diretório criado. A partir disso, temos acesso a todo o sistema de arquivos compactado, e agora basta uma busca minuciosa para encontrar a senha. Se você tem conhecimento do sistema de arquivos Linux, vai encontrar rapidamente numa busca manual pelos arquivos de configuração no diretório /etc
. Mesmo assim, é possível automatizar esse processo usando um grep no diretório extraído:
grep -ir "password\|HTB" . 2>/dev/null
No comando acima, a opção i
indica que a busca deve ser case-insensitive (isto é, não diferencia maiúsculas das minúsculas) e a opção r
indica que o grep deve realizar uma busca recursiva (ou seja, pesquisar em todos os arquivos presentes nos subdiretórios). Informamos o termo da busca usando regex com o "password\|HTB"
para indicar que devem ser retornados os resultados que contenham password
ou HTB
(que é o padrão das flags do Hack The Box). Por fim, é realizado um redirecionamento com 2>/dev/null
para impedir que possíveis erros sejam impressos no terminal, e com isso podemos encontrar a senha/flag.