
Инструмент на базе Shodan для обнаружения реальных IP-адресов за Cloudflare путем хеширования иконок favicon с помощью MurmurHash3, позволяющий идентифицировать исходный сервер и проводить сетевую разведку.
Поиск реального IP-адреса по иконке фавикон с помощью Shodan.

pip3 install -r requirements.txtСначала определите, как передать API-ключ:
-k или --key для передачи ключа в stdin-kf или --key-file для передачи имени файла, из которого берётся ключ-sc или --shodan-cli для получения ключа из CLI Shodan (если вы его инициализировали)На данный момент этот инструмент можно использовать тремя разными способами:
-ff или --favicon-file: вы сохраняете локально иконку фавикон, которую хотите найти-fu или --favicon-url: вы не сохраняете локально иконку фавикон, но знаете точный URL, где она находится-w или --web: вы не знаете URL иконки фавикон, но знаете, что она там есть-fh или --favicon-hash: вы знаете хэш и хотите искать по всему интернетуВы можете указать входные файлы, которые могут содержать URL-адреса доменов, фавиконок или просто пути к локально сохранённым иконкам:
-fl, --favicon-list: файл содержит полный путь ко всем иконкам, которые вы хотите найти-ul, --url-list: файл содержит полный URL всех иконок, которые вы хотите найти-wl, --web-list: файл содержит все домены, которые вы хотите найтиВы также можете сохранить результаты в файл CSV/JSON:
-o, --output: укажите выходной файл и формат, например: results.csv сохранит в CSV (тип автоматически определяется по расширению выходного файла)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 хранит все результаты. Ключевые поля зависят от типа выполненного поиска.
В случае --favicon-file или --favicon-list:
favhash хранит хэш иконки фавиконfile хранит путьВ случае --favicon-url или --url-list:
favhash хранит хэш иконки фавиконurl хранит URL иконки фавиконdomain хранит имя доменаmaskIP хранит «поддельный» IP (например, Cloudflare)maskISP хранит название ISP, связанного с maskIPВ случае --web или --web-list:
favhash хранит хэш иконки фавиконdomain хранит имя доменаmaskIP хранит «поддельный» IP (например, Cloudflare)maskISP хранит название ISP, связанного с maskIP(в этом случае URL иконки фавикон возвращается атрибутом href HTML-элемента <link rel='icon'>)
Если при поиске иконки фавикон ничего полезного не найдено, будет возвращено not-found.
Во всех трёх случаях для каждой проверенной записи добавляется поле found_ips. Если IP-адреса не найдены, будет возвращено not-found.
Требуется как минимум python3.6 из-за особенностей синтаксиса.
Не стесняйтесь открывать любые issue, ваши отзывы и предложения всегда приветствуются <3
Unveiling IPs behind Cloudflare by @noneprivacy
Этот инструмент предназначен только для образовательных целей. Авторы и участники не несут ответственности за неправомерное использование этого инструмента. Используйте на свой страх и риск!
Создан Francesco Poldi noneprivacy, совместно с Aan Wahyu Petruknisme
stanley_HAL рассказал, как Shodan вычисляет хэш фавикон.
| Переменная | Тип |
|---|
| 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] |