
Genera una favicon che restituisca qualsiasi hash target su Shodan
Genera una favicon che restituisce qualsiasi hash target su Shodan
Questo strumento implementa un metodo di forza bruta per generare qualsiasi preimmagine per l'algoritmo http.favicon.hash di Shodan. Puoi, ad esempio, far apparire il tuo sito quando si cerca un hash specifico di tua scelta:
Leggi di più sul metodo e sull'implementazione nel mio post sul blog qui:
"How I got a Shodan Favicon Hash = 1337"
Per prima cosa, installa Rust, il linguaggio di programmazione con cui è realizzato questo progetto, per compilarlo dai sorgenti. Poi questi comandi lo trasformano in un eseguibile ottimizzato:
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
Prendi un qualsiasi file .ico esistente e passalo come primo argomento. Facoltativamente, scegli un hash target diverso da quello predefinito 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`
Il file output.b64 sarà la forma codificata che, tramite MurmurHash3, produce il tuo hash target, ma puoi anche decodificarlo in un normale file .ico. Poi verify.py può essere usato per verificare se l'hash è effettivamente corretto:
$ base64 -di "output.b64" > output.ico
$ ./verify.py output.ico
31337