
Быстро обнаруживайте открытые хосты в интернете, используя несколько поисковых систем.
Возможности • Установка • Использование • Конфигурация • Запуск Uncover • Присоединиться в Discord
uncover — это обёртка на Go, использующая API известных поисковых систем для быстрого обнаружения открытых хостов в интернете. Она создана с учётом автоматизации, поэтому вы можете выполнять запросы и использовать результаты в своих текущих инструментах пайплайна.
Для успешной установки uncover требуется go1.21. Выполните следующую команду, чтобы получить репозиторий:
go install -v github.com/projectdiscovery/uncover/cmd/uncover@latest
uncover -h
Эта команда выведет справку по инструменту. Вот все поддерживаемые флаги:
Использование:
./uncover [флаги]
Флаги:
ВВОД:
-q, -query string[] поисковый запрос; поддерживает: stdin, файл, конфигурационный ввод (пример: -q 'example query', -q 'query.txt')
-e, -engine string[] поисковая система для запроса (shodan,shodan-idb,fofa,censys,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow,google,driftnet,daydaymap) (по умолчанию shodan)
-asq, -awesome-search-queries string[] использовать отличные поисковые запросы для обнаружения открытых активов в интернете (пример: -asq 'jira')
ПОИСКОВАЯ СИСТЕМА:
-s, -shodan string[] поисковый запрос для shodan (пример: -shodan 'query.txt')
-sd, -shodan-idb string[] поисковый запрос для shodan-idb (пример: -shodan-idb 'query.txt')
-ff, -fofa string[] поисковый запрос для fofa (пример: -fofa 'query.txt')
-cs, -censys string[] поисковый запрос для censys (пример: -censys 'query.txt')
-qk, -quake string[] поисковый запрос для quake (пример: -quake 'query.txt')
-ht, -hunter string[] поисковый запрос для hunter (пример: -hunter 'query.txt')
-ze, -zoomeye string[] поисковый запрос для zoomeye (пример: -zoomeye 'query.txt')
-ne, -netlas string[] поисковый запрос для netlas (пример: -netlas 'query.txt')
-cl, -criminalip string[] поисковый запрос для criminalip (пример: -criminalip 'query.txt')
-pw, -publicwww string[] поисковый запрос для publicwww (пример: -publicwww 'query.txt')
-hh, -hunterhow string[] поисковый запрос для hunterhow (пример: -hunterhow 'query.txt')
-gg, -google string[] поисковый запрос для google (пример: -google 'query.txt')
-on, -onyphe string[] поисковый запрос для onyphe (пример: -onyphe 'query.txt')
-df, -driftnet string[] поисковый запрос для driftnet (пример: -driftnet 'query.txt')
-ddm, -daydaymap string[] поисковый запрос для daydaymap (пример: -daydaymap 'query.txt')
КОНФИГУРАЦИЯ:
-pc, -provider string файл конфигурации провайдера (по умолчанию "$CONFIG/uncover/provider-config.yaml")
-config string файл конфигурации флагов (по умолчанию "$CONFIG/uncover/config.yaml")
-timeout int таймаут в секундах (по умолчанию 30)
-rl, -rate-limit int максимальное количество HTTP-запросов в секунду
-rlm, -rate-limit-minute int максимальное количество запросов в минуту
-retry int количество повторных попыток при неудачном запросе (по умолчанию 2)
-proxy string HTTP-прокси для использования с uncover
ВЫВОД:
-o, -output string файл вывода для записи результатов
-f, -field string поле для отображения в выводе (ip,port,host) (по умолчанию "ip:port")
-j, -json запись вывода в формате JSONL(ines)
-r, -raw запись сырого вывода, как получено от удалённого API
-l, -limit int ограничение количества возвращаемых результатов (по умолчанию 100)
-nc, -no-color отключение цветов в выводе
ОТЛАДКА:
-silent показывать только результаты в выводе
-version показать версию проекта
-v показать подробный вывод
Пример использования uncover в качестве библиотеки приведён в каталоге examples.
Файл конфигурации провайдера по умолчанию должен находиться по пути $CONFIG/uncover/provider-config.yaml и содержать следующее в качестве примера.
Примечание: Ключи API обязательны и должны быть настроены перед запуском uncover.
shodan:
- SHODAN_API_KEY_1
- SHODAN_API_KEY_2
censys:
- CENSYS_API_TOKEN_1:CENSYS_ORGANIZATION_ID_1
- CENSYS_API_TOKEN_2:CENSYS_ORGANIZATION_ID_2
fofa:
- FOFA_EMAIL_1:FOFA_KEY_1
- FOFA_EMAIL_2:FOFA_KEY_2
quake:
- QUAKE_TOKEN_1
- QUAKE_TOKEN_2
hunter:
- HUNTER_API_KEY_1
- HUNTER_API_KEY_2
zoomeye:
- ZOOMEYE_API_KEY_1
- ZOOMEYE_API_KEY_2
netlas:
- NETLAS_API_KEY_1
- NETLAS_API_KEY_2
criminalip:
- CRIMINALIP_API_KEY_1
- CRIMINALIP_API_KEY_2
publicwww:
- PUBLICWWW_API_KEY_1
- PUBLICWWW_API_KEY_2
hunterhow:
- HUNTERHOW_API_KEY_1
- HUNTERHOW_API_KEY_2
google:
- GOOGLE_API_KEY_1:Google_API_CX_1
- GOOGLE_API_KEY_2:Google_API_CX_2
onyphe:
- ONYPHE_API_KEY_1
- ONYPHE_API_KEY_2
driftnet:
- DRIFTNET_API_KEY_1
- DRIFTNET_API_KEY_2
daydaymap:
- DAYDAYMAP_API_KEY_1
- DAYDAYMAP_API_KEY_2
nerdydata:
- NERDYDATA_API_KEY_1
- NERDYDATA_API_KEY_2
Если для одного провайдера указано несколько ключей/учётных данных, при каждом запуске будет использоваться случайный ключ.
Также вы можете установить ключ API в качестве переменной окружения в вашем профиле bash.