
firmwalker
Um script bash simples para pesquisar no sistema de arquivos de firmware extraído ou montado.
Ele irá pesquisar através do sistema de arquivos de firmware extraído ou montado por itens de interesse como:
- etc/shadow e etc/passwd
- listar o diretório etc/ssl
- procurar por arquivos relacionados a SSL como .pem, .crt, etc.
- procurar por arquivos de configuração
- procurar por arquivos de script
- procurar por outros arquivos .bin
- procurar por palavras-chave como admin, password, remote, etc.
- procurar por servidores web comuns usados em dispositivos IoT
- procurar por binários comuns como ssh, tftp, dropbear, etc.
- procurar por URLs, endereços de email e endereços IP
- Suporte experimental para fazer chamadas à API Shodan usando a CLI Shodan
Uso
- Se desejar usar a parte de análise estática de código do script, instale o eslint:
npm i -g eslint
./firmwalker {caminho para o sistema de arquivos raiz} {caminho para firmwalker.txt}
- Exemplo:
./firmwalker linksys/fmk/rootfs ../firmwalker.txt
- Um arquivo
firmwalker.txt será criado no mesmo diretório do script, a menos que você especifique um nome de arquivo diferente como segundo argumento
- Não coloque o arquivo firmwalker.sh dentro do diretório a ser pesquisado, isso fará com que o script pesquise a si mesmo e ao arquivo que está criando
chmod 0700 firmwalker.sh
Como estender
- squashfs-root.zip - contém arquivos de firmware de roteador extraído aleatório. O Firmwalker pode ser executado contra este sistema de arquivos.
- rt-ac66u.txt - arquivo de saída do firmwalker
- xc.txt - arquivo de saída do firmwalker de um dispositivo Ubiquiti
Script criado por Craig Smith e expandido por:
- Athanasios Kostopoulos
- misterch0c
Links