
Herramienta impulsada por Shodan para descubrir direcciones IP reales detrás de Cloudflare mediante el hash de iconos favicon usando MurmurHash3, permitiendo la identificación del servidor de origen y el reconocimiento de redes.
Búsquedas de IP real a partir del icono favicon y usando Shodan.

pip3 install -r requirements.txtPrimero define cómo pasas la clave de API:
-k o --key para pasar la clave por stdin-kf o --key-file para pasar el nombre del archivo que contiene la clave-sc o --shodan-cli para obtener la clave desde la CLI de Shodan (si la inicializaste)Hasta ahora, esta herramienta se puede usar de tres formas diferentes:
-ff o --favicon-file: almacenas localmente un icono favicon que deseas buscar-fu o --favicon-url: no almacenas localmente el icono favicon, pero conoces la URL exacta donde reside-w o --web: no conoces la URL del icono favicon, pero sabes que está ahí-fh o --favicon-hash: conoces el hash y deseas buscar en todo internet.Puedes especificar archivos de entrada que pueden contener URLs a dominios, a iconos favicon, o simplemente ubicaciones de iconos almacenados localmente:
-fl, --favicon-list: el archivo contiene la ruta completa de todos los iconos que deseas buscar-ul, --url-list: el archivo contiene la URL completa de todos los iconos que deseas buscar-wl, --web-list: el archivo contiene todos los dominios que deseas buscarTambién puedes guardar los resultados en un archivo CSV/JSON:
-o, --output: especifica la salida y el formato, p.ej.: results.csv guardará en un archivo CSV (el tipo se reconoce automáticamente por la extensión del archivo de salida)python3 favUp.py --favicon-file favicon.ico -sc
python3 favUp.py --favicon-url https://domain.behind.cloudflare/assets/favicon.ico -sc
python3 favUp.py --web domain.behind.cloudflare -sc
from favUp import FavUp
f = FavUp()
f.shodanCLI = True
f.web = "domain.behind.cloudflare"
f.show = True
f.run()
for result in f.faviconsList:
print(f"Real-IP: {result['found_ips']}")
print(f"Hash: {result['favhash']}")
FavUp.faviconsList almacena todos los resultados; los campos clave dependen del tipo de búsqueda que quieras realizar.
En el caso de --favicon-file o --favicon-list:
favhash almacena el hash del icono faviconfile almacena la rutaEn el caso de --favicon-url o --url-list:
favhash almacena el hash del icono faviconurl almacena la URL del icono favicondomain almacena el nombre del dominiomaskIP almacena la IP "falsa" (ej. la de Cloudflare)maskISP almacena el nombre del ISP asociado a maskIPEn el caso de --web o --web-list:
favhash almacena el hash del icono favicondomain almacena el nombre del dominiomaskIP almacena la IP "falsa" (ej. la de Cloudflare)maskISP almacena el nombre del ISP asociado a maskIP(en este caso, la URL del icono favicon se obtiene del atributo href del elemento HTML <link rel='icon'>)
Si, al buscar el icono favicon, no se encuentra nada útil, se devolverá not-found.
En los tres casos, se añade el campo found_ips por cada entrada verificada. Si no se encuentra(n) IP(s), se devolverá not-found.
Se requiere al menos python3.6 debido a la sintaxis picante.
No dudes en abrir cualquier issue, tus comentarios y sugerencias son siempre bienvenidos <3
Revelando IPs detrás de Cloudflare por @noneprivacy
Esta herramienta es solo para fines educativos. Los autores y colaboradores no asumen ninguna responsabilidad por el mal uso de esta herramienta. ¡Úsala bajo tu propio riesgo!
Concebida por Francesco Poldi noneprivacy, construida con Aan Wahyu Petruknisme
stanley_HAL me explicó cómo Shodan calcula el hash del favicon.
| Variable | Tipo |
|---|
| FavUp.show | bool |
| FavUp.key | str |
| FavUp.keyFile | str |
| FavUp.shodanCLI | bool |
| FavUp.faviconFile | str |
| FavUp.faviconURL | str |
| FavUp.web | str |
| FavUp.shodan | Shodan class |
| FavUp.faviconsList | list[dict] |