
Ferramenta alimentada pelo Shodan para descobrir endereços IP reais por trás do Cloudflare ao fazer hash de ícones favicon usando MurmurHash3, permitindo a identificação do servidor de origem e reconhecimento de rede.
Pesquisas por IP real a partir do ícone favicon utilizando Shodan.

pip3 install -r requirements.txtPrimeiro, defina como você passa a chave de API:
-k ou --key para passar a chave para o stdin-kf ou --key-file para passar o nome do arquivo que contém a chave-sc ou --shodan-cli para obter a chave da CLI do Shodan (se você a inicializou)Atualmente, esta ferramenta pode ser usada de três maneiras diferentes:
-ff ou --favicon-file: você armazena localmente um ícone favicon que deseja pesquisar-fu ou --favicon-url: você não armazena localmente o ícone favicon, mas sabe a URL exata onde ele se encontra-w ou --web: você não sabe a URL do ícone favicon, mas ainda sabe que ele está lá-fh ou --favicon-hash: você conhece o hash e deseja pesquisar em toda a internet.Você pode especificar arquivos de entrada que podem conter URLs de domínio, URLs de ícones favicon ou simplesmente caminhos de ícones armazenados localmente:
-fl, --favicon-list: o arquivo contém o caminho completo de todos os ícones que você deseja pesquisar-ul, --url-list: o arquivo contém a URL completa de todos os ícones que você deseja pesquisar-wl, --web-list: o arquivo contém todos os domínios que você deseja pesquisarVocê também pode salvar os resultados em um arquivo CSV/JSON:
-o, --output: especifica a saída e o formato, ex.: results.csv salvará em um arquivo CSV (o tipo é reconhecido automaticamente pela extensão do arquivo de saída)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 armazena todos os resultados; os campos chave dependem do tipo de pesquisa que você deseja realizar.
No caso de --favicon-file ou --favicon-list:
favhash armazena o hash do ícone faviconfile armazena o caminhoNo caso de --favicon-url ou --url-list:
favhash armazena o hash do ícone faviconurl armazena a URL do ícone favicondomain armazena o nome do domíniomaskIP armazena o IP "falso" (ex.: o do Cloudflare)maskISP armazena o nome do ISP associado ao maskIPNo caso de --web ou --web-list:
favhash armazena o hash do ícone favicondomain armazena o nome do domíniomaskIP armazena o IP "falso" (ex.: o do Cloudflare)maskISP armazena o nome do ISP associado ao maskIP(neste caso, a URL do ícone favicon é retornada pelo atributo href do elemento HTML <link rel='icon'>)
Se, ao pesquisar o ícone favicon, nada de útil for encontrado, not-found será retornado.
Em todos os três casos, o campo found_ips é adicionado para cada entrada verificada. Se nenhum IP for encontrado, not-found será retornado.
É necessário pelo menos python3.6 devido à sintaxe moderna.
Sinta-se à vontade para abrir uma issue; seu feedback e sugestões são sempre bem-vindos <3
Unveiling IPs behind Cloudflare por @noneprivacy
Esta ferramenta é apenas para fins educacionais. Os autores e colaboradores não se responsabilizam pelo uso indevido desta ferramenta. Use por sua conta e risco!
Concebido por Francesco Poldi noneprivacy, construído com Aan Wahyu Petruknisme
stanley_HAL me explicou como o Shodan calcula o hash do favicon.
| Variável | Tipo |
|---|
| FavUp.show | bool |
| FavUp.key | str |
| FavUp.keyFile | str |
| FavUp.shodanCLI | bool |
| FavUp.faviconFile | str |
| FavUp.faviconURL | str |
| FavUp.web | str |
| FavUp.shodan | class Shodan |
| FavUp.faviconsList | list[dict] |