
Gerar um favicon que resulte em qualquer hash alvo no Shodan
Gere um favicon que resulta em qualquer hash alvo no Shodan
Esta ferramenta implementa um método de força bruta para gerar qualquer pré-imagem para o algoritmo http.favicon.hash do Shodan. Você pode, por exemplo, fazer seu site aparecer ao pesquisar por um hash específico de sua escolha:
Leia mais sobre o método e a implementação no meu post do blog aqui:
"How I got a Shodan Favicon Hash = 1337"
Primeiro, instale o Rust, a linguagem de programação na qual este projeto foi feito para compilá-lo a partir do código-fonte. Em seguida, estes comandos o transformam em um executável otimizado:
git clone https://github.com/JorianWoltjer/shodan-favicon-preimage.git && cd shodan-favicon-preimage
cargo build --release
./target/release/shodan-favicon-preimage --help
Usage: shodan-favicon-preimage [OPTIONS] <INPUT> [TARGET]
Arguments:
<INPUT> File to compute hash on
[TARGET] The target hash to find (32 bits) [default: 1337]
Options:
-o, --output <OUTPUT> Output file to store the base64 encoded content [default: output.b64]
-h, --help Print help
Pegue qualquer arquivo .ico existente e passe-o como primeiro argumento. Opcionalmente, escolha um hash alvo diferente do padrão 1337:
$ shodan-favicon-preimage favicon.ico 31337
Aligning input...
State: 2363324422 @ 20948 bytes
Starting search...
SUCCESS: Found hash=31337 for input 4107189463 ("17zO9A==\n")
Wrote result to "output.b64"
Decode it using `base64 -di "output.b64" > output.ico`
O arquivo output.b64 será a forma codificada que resulta no seu hash alvo via MurmurHash3, mas você também pode decodificá-lo em um arquivo .ico comum. Depois, verify.py pode ser usado para verificar se o hash está realmente correto:
$ base64 -di "output.b64" > output.ico
$ ./verify.py output.ico
31337