Автоматизируем поиск хостов через Censys

Автоматизируем поиск хостов через Censys

Этичный Хакер

Сегодня поговорим про Censys. Так же как и в Shodan здесь есть консольный инструмент, который требуется установить:

pip install censys

и задать свои API ID и Secret, через команду:

censys config

Теперь все готово к работе и мы можем поискать новые хосты. Базовая команда для поиска по списку доменов будет выглядеть как-то так:

cat domain.list | xargs -I@ bash -c 'censys search "services.tls.certificates.leaf_data.subject.common_name:@" --index-type hosts -o @.ssl.censys.json'

Затем выводим все IP и добавляем их в файл censys.list:

cat *censys.json | jq -c '.[] | {ip: .ip}' | sed 's/[^0-9,.]*//g' | anew censys.list

Однако, стоит учитывать, что для бесплатного тарифа стоит ограничение на 100 результатов для каждого запроса. Этого хватит для небольших организаций, но однозначно будет мало для крупных.

Чтобы немного решить эту проблему, можно уточнить запросы, например, искать по конкретному софту или по определенным кодам ответов (проявите фантазию).

Например, мы можем найти все хосты с BIG-IP:

cat domain.list | xargs -I@ bash -c 'censys search "(services.tls.certificates.leaf_data.subject.common_name:@) and services.software.product=\"BIG-IP LTM\"" --index-type hosts -o @.bigip.ssl.censys.json'

или все хосты с Confluence:

cat domain.list | xargs -I@ bash -c 'censys search "(services.tls.certificates.leaf_data.subject.common_name:@) and services.software.product=\"Confluence\"" --index-type hosts -o @.confluence.ssl.censys.json'

или все хосты с кодом ответа 200:

cat domain.list | xargs -I@ bash -c 'censys search "(services.tls.certificates.leaf_data.subject.common_name:@) and services.http.response.status_code:200" --index-type hosts -o @.200.ssl.censys.json'

Report Page