Как использовать Maltego для OSINT: практическое руководство

Как использовать Maltego для OSINT: практическое руководство

Maltego - это мощный инструмент для сбора и анализа открытых данных из различных источников, таких как интернет, социальные сети, базы данных и т.д. С помощью Maltego вы можете создавать графы, которые показывают связи между различными сущностями, такими как домены, адреса электронной почты, телефоны, организации и т.д. Вы также можете использовать трансформации, которые принимают сущность на входе и выдают новые сущности на выходе. Таким образом, вы можете расширять свои исследования и получать новую информацию из разных источников.


В этом посте я расскажу вам, как начать работать с Maltego и как провести простое OSINT-исследование. Для этого вам понадобится:

  • Зарегистрироваться на сайте Maltego  и скачать клиентское приложение.
  • Выбрать подходящую версию Maltego: Community Edition (бесплатная), Classic (платная) или XL (платная). В этом посте я буду использовать Community Edition.
  • Активировать свою учетную запись Maltego и войти в приложение.
  • Подключиться к серверу Maltego и выбрать нужные наборы трансформаций (Transform Hub).

После того, как вы выполните эти шаги, вы сможете создавать свои первые графы в Maltego. Давайте рассмотрим пример OSINT-исследования, в котором мы будем искать информацию о домене gnu.org.

Шаг 1: Создаем новый граф в Maltego

Для этого нажимаем на кнопку Maltego в левом верхнем углу и выбираем New из главного меню. Это создаст новый граф для нашего исследования.

Шаг 2: Добавляем сущность Domain на граф

Для этого ищем сущность Domain в палитре сущностей (Entity Palette), которая находится слева от окна, и перетаскиваем ее на граф. По умолчанию сущности имеют стандартное значение. В нашем случае сущность Domain имеет значение paterva.com. Это можно изменить, дважды щелкнув по значению сущности (или нажав клавишу F2 с выбранной сущностью Domain) и изменив значение на: gnu.org.

Шаг 3: Запускаем трансформации на сущности Domain

Что такое трансформации?

Трансформации - это функции, которые принимают сущность на входе и создают новые сущности на выходе. Выходные сущности затем связываются со входной сущностью. Таким образом растет граф в Maltego. Это можно сравнить с тем, как проводятся исследования: вы начинаете с какого-то кусочка информации и вы выводите из него новые кусочки информации.

Каждая трансформация принимает определенные типы сущностей на входе. Вы можете увидеть список трансформаций, которые могут принять сущность на входе, щелкнув правой кнопкой мыши в любом месте графа с выбранной сущностью. Вы можете выбрать, какую трансформацию запустить, выбрав ее в контекстном меню. Если вы знаете, какую трансформацию вы хотите запустить, вы можете искать ее с помощью поискового поля в меню Run Transform. Обратите внимание на + в пунктах меню: он указывает на набор трансформаций (Transform Set), где сгруппированы связанные трансформации. Щелкнув по набору трансформаций, вы увидите трансформации в этом наборе. Чтобы вернуться назад, выберите стрелку назад, как показано ниже, или просто щелкните правой кнопкой мыши в любом месте меню трансформации.

Запускаем трансформацию To Email Address [From whois info] для поиска адресов электронной почты из домена

В этом примере давайте найдем контактные данные владельца домена gnu.org. Раскрываем набор трансформаций ‘Domain owner detail’ и выбираем трансформацию ‘To Email address [From whois info]’. Эта трансформация получает запись “whois” для домена gnu.org и извлекает административные адреса электронной почты для домена. Результаты трансформации добавляются в качестве дочерних сущностей к сущности Domain. Мы также можем извлечь любые номера телефонов, присутствующие в данных whois, запустив трансформацию ‘To Phone numbers [From whois info]’.

Шаг 4: Запускаем трансформацию To DNS Name [From Domain] для поиска поддоменов

Далее мы хотим найти все поддомены, связанные с доменом gnu.org. Поддомен - это часть домена, которая идет перед основным доменом. Например,  www.gnu.org  - это поддомен домена gnu.org. Поддомены могут содержать различную информацию о разных частях организации или ее сервисах.

Для этого мы запускаем трансформацию ‘To DNS Name [From Domain]’ на сущности Domain. Эта трансформация ищет все поддомены, связанные с доменом gnu.org, и добавляет их в качестве дочерних сущностей к сущности Domain.

Шаг 5: Запускаем трансформацию To IP Address [DNS] для поиска IP-адресов поддоменов

Теперь мы хотим узнать IP-адреса поддоменов, которые мы нашли на предыдущем шаге. IP-адрес - это уникальный идентификатор компьютера или устройства в сети Интернет. IP-адрес может помочь нам определить физическое местоположение устройства или его провайдера.

Для этого мы запускаем трансформацию ‘To IP Address [DNS]’ на каждой сущности DNS Name. Эта трансформация выполняет DNS-запрос для каждого поддомена и возвращает соответствующий IP-адрес. Результаты трансформации добавляются в качестве дочерних сущностей к сущностям DNS Name.

Шаг 6: Запускаем трансформацию To Netblock [Whois] для поиска блоков IP-адресов

Блок IP-адресов - это диапазон IP-адресов, которые принадлежат одному владельцу или организации. Блоки IP-адресов могут помочь нам определить, кто контролирует эти IP-адреса и какие другие IP-адреса могут быть связаны с ними.

Для этого мы запускаем трансформацию ‘To Netblock [Whois]’ на каждой сущности IP Address. Эта трансформация получает запись “whois” для каждого IP-адреса и извлекает блок IP-адресов, к которому он принадлежит. Результаты трансформации добавляются в качестве дочерних сущностей к сущностям IP Address.

Шаг 7: Запускаем трансформацию To Location [GeoIP] для поиска географического местоположения IP-адресов

Теперь мы хотим узнать географическое местоположение IP-адресов, которые мы нашли на предыдущих шагах. Географическое местоположение IP-адреса - это приблизительное местоположение устройства или провайдера, которому принадлежит этот IP-адрес. Географическое местоположение может помочь нам определить, где находятся серверы или пользователи, связанные с доменом.

Для этого мы запускаем трансформацию ‘To Location [GeoIP]’ на каждой сущности IP Address. Эта трансформация использует базу данных GeoIP для определения страны, региона и города, соответствующих каждому IP-адресу. Результаты трансформации добавляются в качестве дочерних сущностей к сущностям IP Address.

Шаг 8: Запускаем трансформацию To Website [From Domain] для поиска веб-сайтов поддоменов

Наконец, мы хотим посмотреть, как выглядят веб-сайты поддоменов, которые мы нашли на предыдущих шагах. Веб-сайт - это набор веб-страниц, связанных с определенным доменом или поддоменом. Веб-сайты могут содержать различную информацию о целях, деятельности или продуктах организации или ее сервисов.

Для этого мы запускаем трансформацию ‘To Website [From Domain]’ на каждой сущности DNS Name. Эта трансформация пытается открыть веб-страницу по адресу каждого поддомена и возвращает скриншот веб-сайта. Результаты трансформации добавляются в качестве дочерних сущностей к сущностям DNS Name.

Вот и все! Мы провели простое OSINT-исследование домена gnu.org с помощью сервиса Maltego. Мы нашли много интересной информации о владельце домена, поддоменах, IP-адресах, блоках IP-адресов, географическом местоположении и веб-сайтах. Вы можете продолжать исследование, запуская другие трансформации на сущностях, которые вас интересуют. Вы также можете сохранить свой граф для дальнейшего анализа или экспортировать его в различные форматы.

Я надеюсь, что этот пост был полезен и интересен для вас. Если у вас есть какие-либо вопросы или нужна помощь, не стесняйтесь обращаться ко мне. Спасибо за внимание! ????

Maltego OSINT трансформации графы сущности домены IP-адреса whois GeoIP веб-сайты
Alt text

Где кванты и ИИ становятся искусством?

На перекрестке науки и фантазии — наш канал

Подписаться