osint что это такое
Разведка на основе открытых источников
Введение
С каждым годом количество пользователей интернета растет. К началу октября 2020 года 4.9 млрд людей, а это 63.2% жителей земли, пользуется интернетом. А размер данных в интернете достигал 2.7 Зеттабайт (1 ЗБ
10 12 ГБ). И каждый год —количество пользователей и устройств, подключенных к сети, увеличивается на 6% и 10% соответственно. Большая часть этой информации общедоступна. Источники, ссылающиеся на эти данные или на данные из газет, журналов, радио и телепередач, публичных отчетах правительства, называются открытыми. Поиск информации по таким источникам, выбор и сбор, а также дальнейший анализ – это разведывательная дисциплина, именуемая разведкой на основе открытых источников (OSINT).
https://www.internetworldstats.com/stats.htm
Разведка на основе открытых источников или OSINT
Нужно отличать OSINT (Open Source INTelligence) от «просто информации» (иногда именуемой OSIF, или Open Source InFormation), то есть данных и сведений, циркулирующих в свободно доступных медиаканалах. OSINT – это специфическая информации, собранная и особым образом структурированная ради ответа на конкретные вопросы. Сбор данных в OSINT принципиально отличается, от других направлений разведки, прежде всего от агентурной. Главной проблемой для агентурной разведки является получение информации из источников, в основном не желающих сотрудничать. А в OSINT главной трудностью является поиск содержательных и надежных источников среди изобилия общедоступной информации.
История развития
История OSINT начинается с формирования в декабре 1941 года Службы мониторинга зарубежных трансляций в США для сбора и изучения радио программ. Сотрудники записывали и переводили радио передачи, а затем отправляли в военные ведомства в виде еженедельных отчетов. Одним из примеров их работы исследования корреляции между стоимостью апельсинов в Париже и успешностью бомбардировок железнодорожных мостов. [iv]Следующем этапом можно назвать период с 2005 по 2009 год, когда в США был создан центр по анализу разведывательных материалов из открытых источников. Доступность интернета и начавшийся бурный рост социальных сетей в этот же период, увеличил кол-во общедоступной информации. С 2009 по 2016 продолжающиеся развитие социальных сетей и усиления их влияние на нашу жизнь, а также появления интернета вещей, вызвало бурный рост объема информации. И наконец последний период 2016-2019, когда OSINT начинает активно применяться бизнесами, политическими кампаниями, следователями, правоохранительными органами, инвесторами и службами безопасности в их деятельности.
https://www.youtube.com/watch?v=bP3jbfP4xZY
Основные сферы использования
Разведка на основе открытых источников применяется не только государствами для защиты своих интересов. Рассмотрим несколько сценариев использования, не связанных с взаимодействием стран.
OSINT активно использует исследователями угроз и уязвимостей различного программного обеспечения. Они исследуют возможные пути распространения вредоносных программ и препятствуют этому. Одним из открытых источников, для проверки файлов или программ на наличие вредоносного функционала является virustotal.com. У пользователя есть возможность проверить файл по контрольной сумме или же загрузить его, и удостоверится в его безопасности.
Злоумышленники тоже используют OSINT. Предварительный анализ позволяет узнать информацию об целевой инфраструктуре, о работниках, о клиента, что позволяет лучше произвести атаку. Это одна из причин для того, чтобы ограничивать публичную информацию о компании.
Эта методика также используется в бизнесе для получения аналитики. Например, развития новых рынков, оценка рисков, мониторинг конкурентов, а также исследование целевой аудитории и клиентов для рекламных кампаний, что благоприятно влияет на успешность бизнеса.
Нельзя забыть о журналистах, которые используют открытые источники, как материалы для своих расследований. Например, фонд борьбы с коррупцией использует выписки из кадастра и информацию о полетах самолетов для своих расследований.
Еще одним полезным применением OSINT в жизни занимается сообщество любителей CTF. Они организовали компанию, которая занимается поиском информации об пропавших людях. Они проводят сбор разведывательных данных о пропавшем без вести лице и передают полученные сведения в правоохранительные органы. Они предоставляют обучающие курсы для желающих и помочь в поисках информации.
Трудности, с которыми сталкивается OSINT сегодня
Новые источники информации появляются очень быстро. На каждые 5 источников, которые пропадают, появляется еще 10 новых. Необходимо поддерживать актуальность данных, что увеличить их ценность при использовании. Большое количество источников исчезает из-за ужесточения норм компьютерной безопасности и конфиденциальности.
Еще одной трудностью является ограниченность функционала средств для поиска информации. В основном одной программы с открытым исходным кодом для поиска недостаточно, а также они не пригодны для масштабирования. А в корпоративных инструментах слишком много не настраиваемых компонентов. Для успешного поиска информации требуется знание различных инструментов и умение, поиска новых методов получения информации.
Как идентифицировать владельца Bitcoin кошелька
Появления криптовалют упрощает доступ к отслеживанию платежей. Дизайн блокчейна делает общедоступным информацию об транзакциях. Например, по адресу биткоина можно вычислить информацию об источнике или получателе перевода, его размере, количестве транзакций и времени их совершения, и связать с другими адресами биткоинов в том кошельке. Раньше для отслеживания информации об переводах и транзакциях требовалось обращаться в банк, что требовало достаточно много времени и основания для запроса.
Основные этапы разведки
Рассмотрим процесс проведение разведки, приведенной в книге Майкла Баззелла.
1. Во-первых, необходимо составить план исследования или определить цель.
2. Подготовить оборудование и программы, необходимые для решения поставленной задачи.
3. Выполнить поиск по всем доступным идентификаторам.
5. Анализ полученные данные.
6. Подготовка заключение и результатов.
7. Архивирование или очистка оборудования.
Заключение
Несмотря на длительную историю, разведка по открытым источникам только начинает своё развитие, в связи с бурным ростом объема информации. Данная область является востребованным видом исследования материалов. Для тех, кто её использует, открывают дополнительную информацию: для работников – возможность больше узнать о будущем работодателе, для бизнеса – анализ рынка и клиентов. Но с другой стороны, каждый человек должен понимать, какую информацию стоит сообщать публично и понимать, что может стать общедоступной информацией.
Боевой OSINT — разведка и сбор информации из открытых источников
OSINT (англ. Open source intelligence) или разведка на основе открытых источников включает в себя поиск, сбор и анализ информации, полученной из общедоступных источников. Ключевой целью является поиск информации, которая представляет ценность для злоумышленника либо конкурента. Сбор информации во многом является ключевым элементом проведения пентеста. От того, насколько качественно он был осуществлён, может зависеть, как эффективность пентеста в целом, так и эффективность отработки отдельных векторов атаки (социальная инженерия, брутфорс, атака на Web-приложения и пр.). В разрезе кибербезопасности/пентеста OSINT чаще всего применяется для сбора публичных данных о компании, и это касается не только информации о email-адресах ее сотрудников. Не менее интересной будет информация о:
DNS-именах и IP-адресах;
доменах и субдоменах, зарегистрированных за компанией;
фактах компрометации почтовых адресов;
открытых портах и сервисах на них;
публичных эксплойтах для найденных сервисов;
имеющихся механизмах безопасности и т.д.
Сегодня посмотрим с помощью каких инструментов и какую информацию можно найти в открытых источниках на примере нашей компании.
Статья носит информационный характер. Не нарушайте законодательство.
Консольные инструменты
TheHarvester
Используя различные поисковые источники можно получить различный результат. Например, при использовании поисковой системы Yahoo:
А при использовании Google:
Dmitry
Чтобы получить максимальное количество информации о домене указываем все ключи. В числе прочего, инструмент будет сканировать порты, но в ограниченном диапазоне, поэтому лучше для этих целей использовать Nmap
Nmap («Network Mapper») — это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Это нестареющая классика и первый инструмент, который используют при проведении пентеста. Его функционал довольно обширен, но в нашем случае от него потребуется только определение открытых портов, названия запущенных сервисов и их версии.
Узнав открытые порты запустим тот же Nmap, но уже будем использовать различные группы скриптов, которые помогут обнаружить возможные ошибки конфигурации:
При выполнении этой команды Nmap выполнит все скрипты, собранные в этих группах для получения информации из каждой группы: получение расширенного вывода версии сервисов, поиск расширенной информации о сервере, поиск публичных уязвимостей и т.д. Эта информация так же поможет определить возможные точки входа в сетевой периметр организации.
WhatWeb
TiDos
поиск email-адресов и прочую контактную информацию в Интернете;
OSINT по-русски. Выбираем мощные и бесплатные сервисы для пробива и конкурентной разведки
Содержание статьи
OSINT (Open Source INTelligence) — это разведка по открытым источникам, то есть поиск информации о человеке или организации по базам данных, которые доступны всем. Этим занимаются как специальные организации и службы, так и компании (чтобы проверить сотрудников или узнать больше о конкурентах) и просто люди, когда хотят получше узнать, с кем они общаются в интернете и не окажется ли «серцеед888» маньяком‑убийцей.
Мы собрали список сервисов, которые помогут в этом. Упор сделан на сайты, ориентированные на РФ, поскольку в разных странах форматы данных отличаются и это затрудняет поиск.
warning
Несанкционированный сбор персональной информации — это нарушение закона «О персональных данных» и других законов РФ. Также подобные действия могут образовать состав преступления по статье 137 УК РФ «Нарушение неприкосновенности частной жизни». Ни автор, ни редакция не несут ответственности за любые последствия использования приведенных в этой публикации сведений. Вся информация представлена исключительно ради информирования читателя.
Надеемся, эта подборка позволит читателю накопать много полезной информации, а возможно, даже избежать проблем. Однако, если у тебя возникнут сомнения в законности твоих действий, помни, что никогда не поздно прекратить. В любом случае ты действуешь на свой страх и риск.
Поиск по email
Emailsherlock.com — автоматический поиск по email-адресу. Найдет, к каким сайтам привязан адрес почты.
Проверка по нескольким почтам дала не так много результатов, как хотелось бы. Поиск ограничен только самыми популярными сайтами (соцсети). Еще из минусов – сайт по‑черному пиарит сторонние сервисы, не все из которых даже живы, но почти все просят денег.
Emailrep.io находит, на каких сайтах зарегистрированы аккаунты, использующие определенную почту.
Проверка репутации ящика
Дополнительно на основе проверки по спам‑базам, а также базам вредоносной активности сервис проверяет репутацию аккаунта: в частности, не попадался ли он в утечках.
Поиск по никнейму
Часто поиск по email не дает много результатов. В таких случаях стоит поискать по никнейму (часть до @ ) — обычно информации становится в разы больше.
WhatsMyName — это не просто сервис, а целый комбайн, который ищет по 280 сервисам!
WhatsMyName
Здесь можно сортировать сервисы по категориям, а еще есть возможность экспортировать результат поиска (URL найденных профилей) в нескольких форматах.
Сервис Usersearch.org предоставляет поиск не только по популярным соцсетям, но и по тематическим форумам и сайтам знакомств.
USERSEARCH.ORG
Выдача удобна тем, что ты не только получаешь список сервисов со ссылкой на аккаунт, но и для каждого сервиса есть ссылка на страницу удаления аккаунта, на случай, если это вдруг твой аккаунт. Также сервис может дополнительно искать по телефону, email и пробивать по базе HIBP.
SuIP.biz — постоянно обновляемая и обширная база сервисов с удобной выдачей. Время проверки — где‑то одна‑две минуты. Минус — деления на категории нет.
suIP.biz
По завершении поиска можно скачать отчет в формате PDF.
Instant Username Search — сервис с быстрой проверкой по популярным и не очень сервисам. У него в базе встречаются интересные тематические сайты, вроде MyAnimeList и Last.fm.
InstantUsernameSearch
Checkuser ищет по небольшому списку сайтов, а кроме того, позволяет проверять занятость доменного имени.
На сам поиск уходит примерно минута. Единый список ссылок из результатов получить нельзя.
Namechekup использует обширный список сервисов для проверки, которая, кстати, не занимает много времени.
Получить все ссылки разом здесь тоже нельзя.
Список веб‑сервисов у Namecheckr небольшой, но и проверка очень быстрая. Сами сервисы по большей части популярные и не очень соцсети. Проверяет и некоторые домены.
Отдельно существует сервис‑двойник под незамысловатым названием Namech_k. Он проверят упоминание конкретного юзернейма по десяткам сайтов. К тому же у сервиса есть свой API, чтобы можно было вызывать из скриптов.
Namech_k
В репозитории нашего соотечественника (и автора статьи в «Хакере») Soxoj есть большой список проверок, которые могут быть полезны для интернет‑розыска, и сервисов поиска по никнейму — спасибо ему! Здесь собраны такие утилиты, как Sherlock, Maigret, Snoop, sherlock-go и Investigo, каждая из которых зарекомендовала себя как неплохой инструмент для поиска и сбора открытых данных.
Чек‑лист Soxoj
Отдельно хотелось бы выделить и упомянуть утилиту Maigret.
Maigret
Она позволяет собирать досье на человека по имени пользователя, проверяя наличие учетных записей на огромном количестве сайтов (более 2300) и собирая всю информацию с доступных страниц. Не использует никаких ключей API. Это, кстати, форк другой OSINT-утилиты — Sherlock. Обрати внимание, что по умолчанию поиск запускается не по всем сайтам, а только по 500 самых популярных.
Поиск по номеру телефона
SpravkaRU.Net — весьма объемный телефонный справочник, который может искать также по ФИО.
К сожалению, домашними телефонами уже мало кто пользуется, а телефонные справочники по большей части ориентированы именно на них. Поэтому объемы информации не такие уж впечатляющие.
Microsoft позволяет проверять привязку номера к аккаунту на сайте account.live.com. Этим можно пользоваться!
Email2phonenumber собирает данные со страниц восстановления аккаунта во множестве сервисов и находит номер телефона.
Помимо этого, утилита может генерировать список номеров и перебирать сервисы на наличие номера телефона (где он указан в профиле).
Бот last4mailbot найдет последние четыре цифры номера телефона клиента Сбербанка.
last4mailbot
Поиск производится исключительно по email. Проверка нескольких почт, заведомо привязанных к Сбербанку, показала, что бот действительно выдает верные данные.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Михаил Артюхин
Этому городу нужен новый герой, прошлого арестовали 😉
OSINT или разведка по открытым источникам
Поиск по открытым источникам — это методология сбора и анализа данных, находящихся в открытом доступе, для получения дополнительной информации о цели.
В данной статье расскажем о том, какими методами и средствами можно собирать информацию из открытых источников об организации, покажем примеры такой информации и расскажем о максимально большом количестве утилит и методов, которые могуть помочь увеличить покрытие.
Надеемся, что статья будет полезна как пентестерам и охотникам за ошибками для увеличения области аудита, так и стороне защиты (blue team, application security и т.д.) для защиты инфраструктуры своей организации.
Дисклеймер
В рамках статьи, понятия OSINT, open-source intelligence, recon, reconnaissance, рекогносцировка и поиск по открытым источникам будут синонимами.
В статье приведены только бесплатные программы, с открытым исходным кодом и программы с пробным периодом.
С чего все начинается
Самым первым этапом проведения пентеста (после заключения договора) является выделение области тестирования и сбор информации о цели. В зависимости от специфики конкретного пентеста количество изначальных сведений может отличаться, однако, предполагается, что на данном этапе мы знаем:
Род деятельности организации.
Доменное имя организации.
Что можно получить благодаря поиску в интернете?
Из одного домена сделать множество доменов и поддоменов.
Найти новые точки входа.
Найти интересные пути в веб-приложениях и API.
Получить информацию об используемом ПО, аппаратных компонентах и используемых языках программирования.
Найти учетные записи, которые могут быть активными в целевых веб-приложениях.
OSINT workflow\mindmap
Казалось бы, что пользоваться поисковыми системами умеет каждый, но при этом множество исследователей пишут огромные статьи и майндмапы как они эффективно ищут в интернете. Например, по ссылке доступна подборка таких майндмапов. Подборке уже несколько лет, но она все еще остается актуальной.
Стоит заметить, что осинт это циклический процесс: если мы находим какую-либо информацию, например, новый IP адрес или доменное имя, то для них надо проделать все те же шаги, которые мы прошли, чтоб их найти.
OSINT Framework
Самый популярный майндмап для поиска по открытым источникам это OSINT Framework.
Его прелесть в том, что он вобрал в себя всевозможные сайты, утилиты и базы данных, которые могут быть полезны при реконе. На любой ваш вопрос по осинту, скорее всего, в нем будет ответ.
Единственный минус в том, что он сделан для стран наподобие США, и он не учитывает, что в России своя специфика.
Активная и пассивная разведка
Рекон подразделяется на 2 этапа: пассивная и активная разведка.
Пассивная разведка
Во время пассивной разведки вы никак не взаимодействуете с вашей целью. Вы не отправляете ей пакеты со своего компьютера, вы не резолвите доменные имена на серверах цели, вы не пингуете ее айпишники, вы не заходите на ее веб-приложения, и даже двери офиса не трогаете.
Примеры данного этапа разведки:
Поиск в поисковых системах типа Google и «хакерских» поисковых системах, просмотр баз данных с утечками, анализ вакансий на HH и linkedin, извлечение метаданных из публично доступных файлов и т.д.
Активная разведка
Взаимодействие с инфраструктурой организации: скан портов, перебор директорий, запуск «шумных» сканеров (Acunetix, Burp Pro Active Scanner и т.д.), фаззинг параметров, резолвинг большого количества доменных имен на серверах цели и т.д.
Такие действия создают много логов в SIEM-системах, триггеров в SOC и могут даже положить несколько серверов.
В данной статье будет затронута только тема пассивной разведки.
Начинаем разведывать
Давайте для начала вспомним про самые популярные записи DNS, которые могут быть нам полезны:
А запись — соответствие домена IPv4-адресу.
AAAA запись — соответствие домена IPv6-адресу.
CNAME — Canonical name — используется для того, чтобы один домен мог указывать на другое имя домена.
MX — Mail Exchange — адрес почтового сервера.
TXT — большая текстовая строка длиной 65535 байт. Используется для публичных ключей, SPF, и другой информации.
NS — Name Server — указание на сервер резолвинга доменных имен.
SOA — Start of Authority — информация об администраторе домена. Используется при делегировании домена. В записи содержится Name Server, ответственное лицо и таймстемпы, относящиеся к срокам делегирования.
PTR — Pointer — содержит IP-адрес, который указывает на домен при reverse DNS lookup (обратном резолвинге).
Пример некоторых DNS записей
Доменные имена
Самое первое и простое что мы можем сделать — это порезолвить доменные имена. Для этого есть десятки утилит, как терминальных так и доступных онлайн.
Неполный список утилит и сервисов, которые могут разрезовлить доменное имя:
Nslookup (linux\windows nslookup yandex.ru).
Ping (linux\windows ping yandex.ru).
Traceroute (linux traceroute ya.ru \ windows tracert ya.ru).
Dig (linux dig @8.8.8.8 yandex.ru ANY).
getent (linux getent hosts yandex.ru).
Вывод различных утилит для резолва доменных имен
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Помимо соответствия IP-адрес—домен мы можем узнать, например, DNS-серверы, с помощью утилиты nslookup, а также можем получить все DNS-записи, например, командой dig.
Получение NS Записей доменного имени yandex.ru утилитой nslookup
Получение всех записей для доменного имени yandex.ru утилитой dig
Имея IP-адреса веб-приложений мы можем начать смотреть соседние IP-адреса в подсетях, перебирать виртуальные хосты и изучать владельцев этих IP-адресов.
DNS-серверы нам могут в дальнейшем помочь при активной разведке для перебора поддоменов и проведения различных атак.
Whois
Whois — протокол, основная цель которого заключается в получении регистрационных данных о владельцах доменных имён, IP-адресах и автономных систем (ASN).
Изначально целью появления системы Whois было дать возможность системным администраторам искать контактную информацию других администраторов серверов по IP-адресам и доменным именам.
Неполный список утилит и сервисов, которые могут разрезовлить доменное имя:
Whois (windows\linux whois yandex.ru и whois 77.88.55.77)
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Из вывода Whois можно получить email-адреса владельцев и администраторов, адреса DNS-серевров, подсети и ASN.
Вывод утилиты whois для доменного имени yandex.ru
Вывод утилиты whois для IP-адреса 77.88.55.77
Whois history
Существуют сервисы периодически собирающие и агрегирующие записи Whois. Благодаря таким сервисам можно поностальгировать и получить использующиеся ранее почты, хостинги, DNS-серверы и целые подсети:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Reverse Whois
Тогда как Whois выдает сведения по доменым именам или IP-адресам, обратный Whois позволяет искать по всей информации, которая есть в выводе обычных Whois, например, по email-адресам, по именам владельцев, по организациям и т.д.
Таким образом можно расширить скоуп найдя новые email-адреса, хостинги, DNS-серверы, подсети, доменные имена и поддомены.
Неполный список сервисов, которые могут искать по содержимому Whois:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Поиск по содержиму Whois позволяет находить забытые администраторами веб-приложения и сервисы, особенно, если использовать его вместе в поиском по истории Whois.
Также можно обнаружить:
Домены и поддомены.
SPF и DMARC
SPF и DMARC нужны для отправки и приема почты, а в частности для того чтобы злоумышленники от вашего имени не отправляли письма.
SPF — это подпись, содержащая информацию о серверах, которые могут отправлять письма. В SPF используются свои правила и синтаксис. В том числе, в ней содержатся IP-адреса и доменные имена.
DMARC — это политика, которая показывает как обращаться с письмами, которые пришли не с доменов указанных в SPF.
Неполный список утилит для поиска и анализа SPF и DMARC:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Для анализа SPF также есть selfhosted утилита, которая извлекает поддомены из SPF записей https://github.com/0xbharath/assets-from-spf.
Пример запуска и результат работы утилиты
python assets_from_spf.py spacex.com
Анализ содержимого SPF-записи доменного имени spacex.com утилитой assets_from_spf
IP и подсети
Reverse DNS lookup
Обратный резолв DNS-адресов — поиск по PTR записям DNS. Если администратор добавил такую запись, то по IP-адресу можно будет узнать, какие доменные адреса на него указывают.
Неполный список сервисов, которые могут провести Reverse DNS lookup:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
В приложениях часто используется роутинг на основании имени хоста (vhosts), поэтому зная только IP-адрес, мы попадем на страницу ошибки веб-сервера, а с помощью Reverse DNS lookup можно получить имя хоста и добраться к самому веб-приложению.
DNS history
История DNS записей домена. Существуют сервисы, которые запоминают записи DNS, и показывают их историю.
Сервис https://viewdns.info/iphistory, запоминает только A записи доменов и дату привязки.
Пример результата работы веб-приложения
А сервис https://securitytrails.com/, помимо А записи, позволяет искать также по АААА, MX, NS, SOA и TXT записям.
Пример результата работы веб-приложения
Что это нам дает?
Это позволяет расширить область аудита, узнав новые IP-адреса, а также получить:
Если узнать IP-адреса, которые использовались ранее, тогда можно даже обойти Web Application Firewall. Поиск старых IP-адресов, например, один из методов обхода защиты Cloudflare.
Помимо приведенных выше веб-сервисов можно также воспользоваться selfhosted решениями:
Пример запуска и результат выполнения утилиты
Перед первым запуском изменить ключи от API сервисов в файле data/apis/api.conf.
Поиск утилитой сloudmare.py IP-адресов, ранее указовывших на доменное имя yandex.ru
https://github.com/m0rtem/CloudFail (проект сейчас мертв, но, надеемся, что скоро его оживят)
ASN lookup
ASN (autonomous system number) — номер автономной системы.
Интернет состоит из локальных сетей, каждая из которых имеет подсети и свои политики маршрутизации, и которые соединяются с другими локальными сетями. Одна такая локальная сеть, это одна автономная система и у нее есть уникальный номер — ASN. Эти номера используются в BGP-маршрутизации.
По номеру AS можно посмотреть IP-адреса и подсети, которые в ней содержатся. Если это большая компания, типа Яндекса, или университетов, то можно предположить что вся AS принадлежит этой компании, и большая ее часть, может войти в область аудита. Также в выводе можно обнаружить почтовые адреса и другую информацию о компании.
Неполный список сервисов, которые имеют возможность поиска по ASN:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Поисковые системы
Как гуглить?
Вы каждый день пользуетесь поисковиками типа Google или Яндекс, но, наверное, не все подозревают, что умеет этот самый Google.
Используя немного магии поиска можно получить множество полезной информации.
Что можно получить из поисковой системы?
Информацию об утечках учетных данных.
Комментарии в исходном коде.
Веб-страницы для разработчиков (например dev.*).
Файлы и страницы, содержащие секреты и пароли.
Потенциально опасные файлы.
URL-адреса и пути, которые могут являться точками входа.
Другие ресурсы, связанные с организацией.
Как искать?
Для поиска нужно использовать специальные операторы. Например, список операторов для Google:
– исключить из поиска.
Site:itmo.ru – поиск в пределах сайта.
cache:itmo.ru – возвращает кэш сайта.
filetype:txt – только txt файлы.
related:itmo.ru – сайты связанные с искомым.
inurl:test – в URL встречается слово test.
intitle:test – в Title встречается слово test.
intext:test – в тексте встречается слово test.
В других поисковых системах список операторов может отличаться.
По продвинутому использованию поисковиков существует множество статей, поэтому не будем углубляться в эту тему:
https://habr.com/ru/post/437618/ — полный список операторов поиска Google.
https://www.tutorialspoint.com/google_hacking_tests.htm — однокнопочное решение для поиска: вводите домен, нажимаете на нужную кнопку и получаете вывод Google.
Пример результата работы веб-приложения
Поисковые системы для хакеров
Помимо поиска в обычных поисковых системах типа Google можно искать в специальных «хакерских» поисковых системах. Примеры таких поисковиков:
Эти сервисы постоянно сканируют весь интернет, и заполняют свои базы ответами серверов.
Все приведенные выше сервисы имеют платные функции, но без покупки подписки можно получить ограниченный вывод, ограниченную функциональность или ограниченное количество запросов в месяц.
Shodan
Сервис позволяет искать по IP-адресам, портам и содержимому ответов сервера. Это может позволить найти новые поддомены, а также то, что не смог найти Nmap.
Для поиска используется свой синтаксис, с которым можно ознакомиться по ссылке https://help.shodan.io/the-basics/search-query-fundamentals.
Censys
Censys этот тот же самый Shodan, но более новый и с приятным интерфейсом.
Опять же используется свой синтаксис, с которым можно ознакомиться по ссылке: https://search.censys.io/search/language.
Binaryedge
Еще более новая разработка это сервис BinaryEdge.
binaryedge.io — поиск поддоменов для доменного имени yandex.ru
Помимо тех же функций, которые имеются и в Shodan и в Censys, данный сервис еще умеет искать поддомены, email-адреса в утечках данных, умеет искать изображения, связанные с доменом, и в этих картинках умеет искать по тексту.
binaryedge.io — поиск по изображениям для доменного имени yandex.ru
В сервисе есть еще несколько различных функций, но они уже недоступны в бесплатных и пробных версиях.
Документация с примерами доступна по ссылке: https://docs.binaryedge.io/search/.
Метаданные
Каждый раз, когда вы создаете или редактируете файл, в нем остается множество метаданных. Когда вы загружаете этот файл в интернет, зачастую метаданные сохраняются. Так как поисковые системы индексируют файлы, вы можете найти их, например, в google используя оператор поиска file.
Существуют уже готовые решения, которые позволяют ввести домен, выбрать интересующие расширения файлов и ожидать результатов:
Пример запуска и результат выполнения утилиты
Поск метаданных с помощью утилиты metagoofil.py для доменного имени yandex.ru
Пример запуска и результат выполнения утилиты
Что нам это дает?
Используемые операционные системы
Системы контроля версий
Системы контроля версий (github, gitlab и т.д.) также обладают возможностями расширенного поиска. У них свой синтаксис и свои «дорки».
Поиск слова password в файлах secrets.yml в системе контроля версий github.com
Что нам это дает?
Части кода приложений.
Несколько полезных ссылок для поиска по коду:
Пример результата работы веб-приложения
https://searchcode.com/ — ищет по опубликованному исходному коду в публичных системах контроля версий.
Пример результата работы веб-приложения
https://github.com/techgaun/github-dorks — полезная информация по операторам поиска на github.
Также есть несколько selfhosted сервисов для поиска секретов на github:
Пример запуска и результат выполнения утилиты
Основная прелесть утилиты в том, что она постоянно производит сканирование репозиториев, и как только появляются секреты в коммитах, оперативно вам об этом сообщает.
Со стандартными настройками утилита будет сканировать все системы контроля версий в поисках заданных сигнатур в файле config.yaml. Для эффективного поиска данных по заданной цели рекомендуется писать свои сигнатуры.
Запуск утилиты shhgit для поиска секретов на github.com
Для демонстрации можно попробовать указать в параметре search-query интересующую строку, например:
Запуск утилиты sshgit для поиска строки yandex на github.ru
Также можно указать локальные репозитории для поиска секретов.
Запуск утилиты sshgit для поиска секретов в репозиториях, расположенных на файловой системе
Сведения об установке, пример запуска и результат выполнения утилиты
При установке могут возникнуть проблемы.
Рекомендуется воспользоваться таким способом установки:
git clone https://github.com/michenriksen/gitrob.git
go mod init github.com/michenriksen/gitrob
go mod download github.com/elazarl/go-bindata-assetfs
go get github.com/michenriksen/gitrob/core
Для работы нужно экспортировать токен доступа в переменную среды:
Запуск утилиты gitrob для поиска секретов в репозиториях организации
Результаты доступны как в терминале, так и в веб-версии.
Веб-версия утилиты gitrob, содержащая результатаы анализа репозиториев
Утилита ищет секреты в репозиториях на файловой системе.
Пример запуска и результат выполнения утилиты
Запуск производится в директории целевого реозитория:
Запуск утилиты gitleaks для поиска секретов в репозитории на файловой системе
Также, если мы нашли никнеймы и email-адреса сотрудников, мы можем поискать их аккаунты в различных системах контроля версий, и посмотреть, что они коммитят. Потенциально возможно найти в личных репозиториях сотрудников части кода приложений компании-цели.
Также, стоит заметить, что нужно анализировать не только последнюю версию исходного кода в ветке master, но и предыдущие коммиты. Сотрудник может закоммитить критичные данные в систему контроля версий, понять, что он «накосячил» и удалить их следующим коммитом. Не удалив сам коммит из истории.
Что еще можно получить из систем контроля версий?
Gitlab имеет возможность перечисления пользователей по URL-адресам вида: https://gitlab.com/api/v4/users/1, где 1 это порядковый номер пользователя. В selfhosted версиях gitlab такая уязвимость тоже присутствует.
gitlab.com — вывод информации о пользователе
Помимо ссылок на социальные сети, из вывода API Gitlab можно получить захэшированное значение почты пользователя в параметре avatar_url. Если мы знаем, например, имя домена и ФИО пользователя, то восстановить исходное значение не составит труда, ведь для хэширования используется md5.
Также в системах контроля версий существуеют возможность получения публичных ssh и gpg ключей. Получить их можно по URL-адресам следующего вида:
gitlab.com — вывод информации о ключах шифрования пользователя
Subdomain enumeration
Subdomain enumeration — в дословном переводе означает перечисление поддоменов, а смысл у словосочетания примерно следующий: «использовать все известные методы для получения как можно большего числа поддоменов».
Запуск утилиты sublister для поиска поддоменов для доменного имени yandex.ru
Для получения списка поддоменов существуют онлайн базы, а также утилиты, которые требуется запускать локально, после чего они будут делать запросы в различные онлайн сервисы и поисковые системы.
Неполный список сервисов и утилит, которые могут показать список поддоменов для домена:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Как получить поддомены с помощью Cloudflare
У сервиса есть довольно интересная функциональность, учитывая то, что Cloudflare создан для защиты от атак.
Если зарегистрироваться с бесплатным аккаунтом в Cloudflare, то можно будет начать добавлять свой сайт в сервис, причем неважно, привязан он к какому-нибудь аккаунту или нет.
На первом шаге вводим доменное имя цели, а на следующем шаге, Cloudflare нам предоставляет известные ему поддомены с их A записями. Вероятно, это создано для того, чтобы вы привязали как можно больше поддоменов к сервису для защиты от атак, но для разведчика, эта функциональность позволяет получить несколько новых поддоменов и IP-адресов.
cloudflare.com — поиск поддоменов для доменного имени yandex.ru
По имени домена утилита выводит поддомены, IP-адреса, MX и TXT записи, открытые порты и версии программного обеспечения, DNS-серверы. Также утилита строит красивый граф.
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Утилита для поиска поддоменов в открытых источниках. Также может перебирать поддомены по словарю, с помощью утилиты subbrute.
Пример запуска и результат выполнения утилиты
Запуск утилиты sublister для поиска поддоменов для доменного имени yandex.ru
Очередная утилита для пассивного поиска поддоменов.
Пример запуска и результат выполнения утилиты
Для лучшего вывода рекомендуется в конфигурационном файле добавить API ключи сервисов (рекомендуется использовать как минимум SecurityTrails, GitHub, Shodan и VirusTotal).
Запуск утилиты subfinder для поиска поддоменов для доменного имени yandex.ru
Результат поиска поддоменов для доменного имени yandex.ru утилитой subfinder
Утилита, как и Sublist3r, ищет информацию о доменах в открытых источниках. Однако, использует гораздо большее число источников, в том числе требующие API-ключи.
Пример запуска и результат выполнения утилиты
Предварительно рекомендуется создать конфигурационный файл с API-ключами сервисов (рекомендуется использовать как минимум SecurityTrails, GitHub, Shodan и VirusTotal).
Запуск утилиты amass для поиска поддоменов для доменного имени yandex.ru
Очень быстрая утилита для резола доменов с достаточно большим количеством ошибок. Позволяет разрезолвить миллион доменных имен за минуту.
Пример запуска и результат выполнения утилиты
Рекомендуется запускать на серверах с широким каналом, а не на домашних ПК.
Процесс резолвинга поддоменов утилитой massdns
Результат резолвинга поддоменов утилитой massdns для домена yandex.ru
Обертка для massdns. Его преимущество заключается в том, что данная утилита удаляет из вывода поддомены, если слишком большое количество доменов указывает на один IP-адрес, тем самым повышая качество вывода.
Пример запуска и результат выполнения утилиты
Резолвинг поддоменов утилитой massdns для домена yandex.ru
Подробнее, об указанных выше утилитах, а также десятках других утилит, можно прочитать в статье: https://pentester.land/cheatsheets/2018/11/14/subdomains-enumeration-cheatsheet.html.
SSL\TLS сертификаты
Получение новых поддоменов из сертификатов
Для шифрования трафика у веб-приложения должен быть сертификат, по которому браузер пользователя сможет определить, что этот сайт надежен.
Google решил, что протокол https недостаточно надежный, и создал свой проект по мониторингу и проверке сертификатов https://transparencyreport.google.com/https/certificates
Этот сервис предназначен не для тестирования на проникновение или разведки, но так как сертификаты выпускаются как для доменов, так и для поддоменов, а иногда один сертификат даже включает в себя множество доменов и поддоменов, сервис Google может дать нам довольно много информации.
transparencyreport.google.com — поиск сертификатов для доменного имени yandex.ru и его поддоменов
Также есть еще как минимум два онлайн сервиса с подобной функциональностью:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример запуска и результат выполнения утилиты
Поиск сертификатов для доменного имени yandex.ru и его поддоменов утилитой certgraph
Для построения графов нужно запустить утилиту с ключом «json» и скопировать вывод на веб-страницу.
Поиск сертификатов для доменного имени yandex.ru и его поддоменов утилитой certgraph с выводом в формате json
Визуализация найденной информации утилитой certgraph
SSL\TLS scan
Сертификаты также можно провалидировать. Для этого есть онлайн сервисы, которые за нас отправляют запросы на серверы нашей цели.
ssllabs.com — анализ конфигурации SSL\TLS веб-серверов
Из вывода этих сервисов мы можем опять же получить поддомены, которые есть в сертификате, а также эти сервисы могут найти уязвимости в используемой криптографии или протоколах.
Еще эти сервисы выводят http-ответы серверов, в которых может находиться версия сервера или используемого ПО.
Неполный список сервисов, которые могут просканировать сертификаты.
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Что это нам дает?
Версия используемого ПО на сервере
Credentials stuffing
Credentials stuffing — это атака, при которой атакующий находит почты пользователей и ищет пароли от них в базах утечек, а затем пытается вставить их во все возможные формы входа целевой системы.
Пароли можно поискать в следующих сервисах:
https://haveibeenpwned.com/ — самый популярный сервис поиска утечек email-адресов.
Пример результата работы веб-приложения
https://krevetk0.medium.com/credential-stuffing-in-bug-bounty-hunting-7168dc1d3153 — статья исследователя, в которой он рассказывает, как он неоднократно эксплуатировал данную уязвимость в bugbounty.
https://psbdmp.cc/ — сервис, который автоматически находит строки, похожие на пароли в файлах, размещенных на веб-сайте pastebin.com
Пример результата работы веб-приложения
Collection #1 — сборник практически всех утечек, которые попадали в интернет.
Поиск email-адресов
Для проведения атак credential stuffing для социальной инженерии и других атак, необходимо иметь список email-адресов и/или юзернеймов пользователей. Также по email-адресам можно делать поиск reverse Whois.
Нам известно два сервиса, которые собирают email-адреса:
https://hunter.io/search — помимо адресов, показывает еще и страницы, где он их нашел.
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Также, существует утилита, позволяющая провалидировать почтовые адреса https://github.com/reacherhq/check-if-email-exists. Причем она работает без отправки писем на адреса цели. Можно не хостить ее у себя, а воспользоваться веб-версией от разработчиков, с ограничением на количество запросов https://reacher.email/.
Пример общения с веб-версией
reacher.email — проверка существования почтового адреса noc@vk.com
Email-адреса также можно получать из метаданных файлов и парсить из социальных сетей.
Linkedin\hh.ru\\career
На сайтах типа linkedin и hh, а также на сайтах компаний, на эндпоинтах \career или \job, можно найти вакансии, в которых зачастую присутствует полезная информация.
В своих резюме и на Linkedin, пользователи часто указывают кем и где они работают, и часто в описаниях своей работы пишут, чем они конкретно занимаются, например, «поднимал почтовый сервер под названием таким-то», или пишут, что они «переписывали легаси-код с такой-то платформы, но не упели за время своей работы».
Существуют специализированные парсеры соцсетей, например для Linkedin есть минимум 2 парсера:
Пример запуска и результат выполнения утилиты
https://github.com/joeyism/linkedin_scraper — библиотека на python для продвинутых пользователей, для упрощения парсинга linkedin.
Используя эти сервисы, можно получить фамилии и имена сотрудников с их аватарами. По аватарам можно найти другие соцсети сотрудников и попробовать найти что-то полезное, но поиск людей, это тематика для другой статьи.
Если мы знаем формат почты (например имя.фамилия@домен или первая_буква_имени.фамилия@домен), то мы можем из полученных ранее данных составить список почт сотрудников.
Что нам это дает?
Стеки технологий и используемое ПО
Информация о сотрудниках для соц. инжнерении
Личные соцсети сотрудников
В данном разделе собраны подходы, которые не удалось объединить более общими тематиками.
Co-hosting
Анализ co-hosting-а позволяет смотреть кто хостится у этих же провайдеров. Это не принесет полезной информации, если хостинг является, например, hostinger или digital ocean, однако, если компания достаточно большая, у которой есть свои подсети и AS, то мы можем найти доменные имена, расположенные в этих подсетях, которые с большой вероятностью относятся к нашей цели.
Для этого можно воспользоваться сервисом https://securitytrails.com/.
Пример результата работы веб-приложения
Из этой информации мы можем получить новые поддомены и домены.
Threat Hunting
Вы наверняка знаете что есть сервис VirusTotal, в который можно загрузить подозрительный сэмпл файл и он проверит его на наличие в базах антивирусного ПО, а также можно ему передать ссылку и он также проверит ее на вредоносность. Нам для разведки интересно то, что он еще умеет проверять доменные имена по базам.
virustotal.com — информация о доменном имени raidforums.com в виде графа
На примере домена raidforums.com, VirusTotal показал множество файлов, которые кто-то загружал для проверки, несколько поддоменов, вывел содержимое Whois, показал IP-адреса и сертификаты. И еще построил граф.
К сожалению, в бесплатной версии мы не можем скачать файлы, которые были загружены в сервис, но это может дать нам подсказку, что можно искать в Google.
Существует несколько сервисов с аналогичной функциональностью, например https://www.threatcrowd.org/. Он может все тоже самое, что и VirusTotal, но у них могут быть разные сведения о доменах.
У этих сервисов также есть платные функции, возможно с их помощью можно получить еще больше информации.
Wayback machine
Wayback machine — проект по сохранению всего интернета, который периодически делает снапшоты популярных сайтов.
archive.org — веб-приложение, расположенное на доменном имени yandex.ru в 1998 году
Существует утилита, которая извлекает URL-адреса, сохраненные в Wayback Machine: https://github.com/tomnomnom/waybackurls.
Поиск URL-адресов в сервисе waybackmachine для доменного имени test.ru с помощью утилиты waybackurls
Тендеры и закупки
При публикации тендеров, заказчики прикладывают к заявке технические задания с описанием требований к исполнителям. Из технического задания можно получить дополнительную информацию о используемом в компании ПО и оборудовании.
Также можно извлечь метаданные из приложенных файлов и получить ФИО сотрудников и версию ПО для обработки документов.
Пример тендерной закупки компании Яндекс.Деньги
Website fingerprinting
Используя специальные сервисы, не заходя на целевой веб-сайт, мы можем посмотреть версии ПО которые там используются, а также CMS системы, на которых работает веб-сайт, если они есть.
Для этого можно воспользоваться следующими сервисами:
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Такие сервисы парсят заголовки HTTP-ответов, чтобы получать версии ПО, а также смотрят на содержимое страниц для профилирования.
BugBounty
Далеко не все компании имеют публичную платформу вознаграждений за поиск ошибок, но для больших и крупных это становится одной из лучших практик ИБ.
Что мы оттуда можем достать?
Расширить область аудита доменами и поддоменами из раздела Scope.
Изучить сданные отчеты и узнать используемое в компании ПО и примеры уязвимостей, которые уже сдавали в программу.
Где искать информацию?
Пример результата работы веб-приложения
Пример результата работы веб-приложения
Информацию о BugBounty конкретной организации также можно найти по в файле /.well-known/security.txt, в котором обычно публикуется информация о программе и том куда можно писать о найденных уязвимостях. Подробнее о проекте можно прочитать по ссылке https://securitytxt.org/.
Пример содержимого файла security.txt
Также существует веб-приложение, которое агрегирует уязвимости с HackerOne, с удобным поиском и фильтрами: http://h1.nobbd.de/.
h1.nobbd.de — поиск публичных отчетов по запросу mail.ru
Wi-Fi анализ
https://wigle.net/ — сервис, который собирает Wi-Fi точки доступа по всему миру.
Сервис не позволяет просто на карте кликать на точки доступа, однако он позволяет искать по, например, SSID (имя точки доступа). А также он поддерживает регулярные выражения: «%» — ноль или более любых символов и «_» — один любой символ.
Поиск точек доступа Wi-Fi с именем yandex в сервисе wigle.net
Эту информацию можно использовать для атак типа Rogue access point и атак социальной инженерии.
MAC address lookup
В рамках пассивной разведки, маловероятно, что вы получите MAC-адреса устройств вашей цели. Однако, если вам как-то удалось их заполучить, то имея только MAС-адрес можно идентифицировать сетевое устройство.
macvendorlookup.com — идентификация сетевого устройства по MAC-адресу
MAC-адрес можно разделить на 6 октетов, где первые 3 принадлежат компании-производителю сетевого устройства, а вторые 3 октета являются идентификатором самого устройства.
Используя специальные сервисы и читщиты производителей, можно попробовать узнать не только производителя, но и название самого устройства:
Пример результата работы веб-приложения
Script Kiddy way
Искать информацию руками долго и утомительно, зато надежно. Однако хакеры придумали комбайны, которые все сделают за вас. Этих комбайнов десятки, если не сотни, вот несколько примеров:
В чем отличие от ручного поиска?
Их преимущество в том, что освобождают человека от рутинных задач.
А недостатки заключаются в следующем:
Длительная первоначальная конфигурация.
Длительное время работы.
Необходимость (желательность) предоставления API-ключей от различных сервисов (балансы которых они быстро опустошат).
Большое количество ошибок как первого так и второго рода (множество лишней информации и отвергнутая нужная информация)
Если вы знаете еще интересные способы поиска информации в интернете, то пишите об этом в комментариях!