Maltego Часть 4. ВК, Instagram, LinkedIN и другие фантастические твари

  • Tutorial
И снова здравствуйте, дорогие друзья. Мы опять готовимся окунуться в прекрасный мир OSINT.



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

Часть 1 — Что такое Maltego и зачем оно нужно

Часть 2 — Интерфейс и базовое устройство

Часть 3 — Maltego и OSINT в Facebook

Facebook мы рассмотрели. Теперь давайте пройдемся по остальным соцсетям, которые могут быть полезны нам в ходе OSINT.

Instagram





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



Сначала мы конвертируем ссылку Instagram в корректную Entitie, но вот не задача — Entitie не заполнена. Получили только User ID. Выгружаем все остальные данные с помощью Transform — [Instagram] User Details. На выходе получаем корректно заполненную Entitie для Instagram профиля.

Теперь по базовым функциям.



[Instagram] User Followers — выгрузить список подписчиков пользователя;
[Instagram] User Following — выгрузить список тех, на кого подписался пользователь;
[Instagram] User Media — выгрузить фото и видео пользователя;
[Instagram] User Tagged Media — выгрузить медиа файлы, на которых отметили пользователя.

Если психануть и перекликать все пункты, то для аккаунта среднестатистического человека мы получим вот такую картину:



Первая проблема выплывает сама собой из внутреннего устройства соцсети. Поскольку в Instagram все форматы страниц в любом случае являются аккаунтами, то разделять подписки и подписчиков мы можем только по пометкам над Links. Если включаем группировку Entities, то они все сливаются для нас в единый блок.



Для работы с выгруженными фото и видео у нас есть следующие Transforms:



[Convert] To Entitie — выгружает и конвертирует в доп. Entities URL аккаунта, URL фото/видео и Alias аккаунта;
[Convert] To Location — выгружает Entitie с геолокацией фото;
[Face Recognition] Search — определяет лица на фото и запусткает по ним поиск с учетными данными владельца фото;
[Instagram] Comments — выгружает аккаунты пользователей, которые оставили комментарии под фото/видео;
[Instagram] Get Likes — выгружает аккаунты лайкнувших фото/видео пользователей;
[Instagram] To Photo | Video Details — загружает в Entitie доступные данные по фото/видео;
[Instagram] To Profile — предоставляет профиль пользователя, которому принадлежит фото/видео.

Далее, я решил протестировать, можно ли найти с ходу другие соцсети человека с помощью Transforms из группы Search Profile in Other Networks.



Все данные Transforms завязаны на механизм Face Recognition, о котором мы поговорим в отдельной статье. Мудрить сильно не стал и запустил сразу все, благо их немного и итоговая информационная выдача будет невелика: либо есть аккаунт, либо нет.

Прим. Автора: Никогда! Слышите? НИКОГДА не запускайте пункт ALL TRANSFORMS! Это для вашего же блага. То, что вы получите по итогу, будет просто гигантской мешаниной Entities и Links. При проведении OSINT с использованием Maltego запускать по несколько Transforms, как было описано выше, следует только в том случае, если вы четко представляете, какая итоговая информационная выдача вас ждет. Постепенное продвижение в ходе OSINT — залог победы.
Результат меня, мягко говоря, удивил! С ходу всплыл мой профиль в LinkedIN:




А вот по Хидео Кодзиме получилась еще более занятная информационная выдача:



Удалось выудить:
— 1 аккаунт ВК;
— 4 аккаунта Facebook;
— 1 аккаунт Foursquare; 
— 3 аккаунта в Twitter;
— 1 аккаунт Xing (аналог LinkedIN);
— 1 аккаунт MySpace.

LinkedIN





Тут уже LinkedIN сам напросился. Давайте разберемся, какую информацию мы сможем вынуть из аккаунта этой соцсети с применением Maltego. И давайте, наверное, возьмем кого-нибудь поинтереснее чем я. Билла Гейтса, например.



Итак, для аккаунта нам доступно:
[Linkedin] People Also Viewed — выгружает список последних пользователей, которые просматривали данный аккаунт,
[Linkedin] User Details — выгружает и создает Entities компании, учебного заведения и места жительства, исходя из указанной в профиле информации;
[Linkedin] User Posts — выгружает все посты пользователя;
[SL DB] Get Email by Linkedin Profile — поиск e-mail пользователя в базе Social Links по аккаунту LinkedIN.



Для Entitie компании мы можем следующее:



[Convert] To Entitie — выгружает Entitie ссылки с URL картинки профиля компании;
[Linkedin] Company Details — выгружает Entities местоположения офиса и профили аффилированных компаний;
[Linkedin] Current Employees — выгружает список профилей, у которых указано, что они работают в компании;
[Linkedin] Past Employees — выгружает список профилей, у которых указано, что они работали в компании.

При получении информации через Transform [Linkedin] Company Details для теста по Microsoft имеем выдачу:


Прим. Автора: кстати, есть еще одна интересная OSINT-методика для Maltego. По Entitie местоположения мы можем выгрузить из базы OpenCorporates список всех компаний, расположенных по указанному адресу. Далее, для интересующей нас компании мы можем выполнить поиск ее аккаунтов по различным соцсетям.




По Entities учебного заведения и поста пользователя Transform для выгрузки информации нет.

ВКонтакте





Вот и добрались, наконец-то, до ВКонтакте. Ну и коль скоро у нас уже есть аккаунт Хидео Кодзимы в ВК, то продолжим с ним. Аккаунт точно его. Инфа — сотка!



Для получения информации у нас в арсенале есть следующие Transforms:



[Vkontakte] Friends — выгрузить список друзей;
[Vkontakte] User Details — выгрузить в качестве отдельных Entities информацию о пользователе;
[Vkontakte] User Groups and Pages — выгрузить список групп и страниц пользователя;
[Vkontakte] User Photos — выгрузить список фото пользователя;
[Vkontakte] User Posts — выгрузить список постов пользователя;
[Vkontakte] User Videos — выгрузить список видео пользователя.

Итоговая выдача выглядит как-то так:




Теперь давайте копнем поглубже и узнаем, что мы можем получить по отдельным Entities.
Для Групп и Страниц все просто — можем получить список пользователей, которые в них состоят и подписаны на них, соответственно. Списки пользователей выгружены, связи взаимных подписок построены. Не забываем чистить граф от удаленных учеток (DELETED). Они же, в простонародии у SMM-щиков — собачки.



По Постам, Видео и Фото нам доступна всего одна Transforms — выгрузить список пользователей, лайкнувших пост/видео/фото. Давайте выгрузим списки и накинем инфы на граф. Все на месте и перед нами опять врата OSINT-ада)

Нам такое видеть уже не впервой. Начинаем чистить выдачу. Сначала убираем все списки, а потом начинаем смотреть вручную получившиеся связи.

Спустя 5 минут картина начинает вырисовываться.



Ну вот, не прошло и 10 минут, а мы с помощью таких банальных, на первый взгляд, методик вычислили BEST OF THE BEST фанатов Кодзимы. Это люди, которые состоят во всех группах, в друзьях у Кодзимы и лайкнули последние 3 его поста, фото и видео.



Twitter





По мнению СМИ всего мира, посты именно в данной соцсети приравниваются к официальным высказываниям и заявлениям.

Твитнул такой Илон Маск в 2018 году, что не плохо было бы вывести компанию с биржи и вот вроде даже инвестор есть, и как ПОНЕСЛОСЬ… Медиа уже на утро во всю трубили, что Tesla уходит с биржи, котировки акций взлетели на 11%, комиссия по ценным бумагам США (SEC) возбудила расследование о манипуляциях с рынком ценных бумаг. И это все из-за одного твита.
В итоге SEC в досудебном порядке добилась того, что теперь Илон Маск обязан согласовывать с ними любые свои посты, которые касаются компании Tesla в любые соцсети.

Вот такой вот он Twitter. Матерь хэштегов и поле боя холиваров всех мастей.

Ну и раз уж начали мы с Илона Маска, с ним и продолжим. По аккаунту в Twitter с ходу мы можем:



[Twitter] Get info from password recovery page — получить информацию со страницы восстановления пароля;
[Twitter] To User Followers — выгрузить список фоловеров;
[Twitter] To User Following — выгрузить список тех, на кого подписан пользователя;
[Twitter] User Details — выгрузить в профиль информацию из аккаунта.

Однако, если мы перейдем в All Transforms и в поиске наберем Twitter, то мы увидим несколько более развернутую картину. Это связано с тем, что с Transforms от Social Links в комплекте идут еще и Transforms для Twitter от самих Paterva.



К уже указанным Transforms добавляются:

[Twitter] To User RT — выгрузить ретвиты пользователя;
[Twitter] To User Tweets — выгрузить твиты пользователя;
[Twitter] To User Tweets + RT — выгрузить твиты + ретвиты;
To Twitter Affiliation [This person receives Tweets from ?] — выгрузить список пользователей, которые писали твиты данному пользователю;
To Twitter Affiliation [This person wrote Tweets to ?] — выгрузить список кому пользователь писал твиты;
To Twitter details [From Twitter number or screen name] — аналог [Twitter] User Details;
To Twitter followers — аналог [Twitter] To User Followers;
To Twitter friends— аналог [Twitter] To User Following;

Как и во всех предыдущих случаях, успешность OSINT с применением всех этих Transforms зависит исключительно от того, как вы строите свою линию расследования и какие методики применяете.


Прим. Автора: в целом, по обычным людям из Twitter можно вынуть много полезной и не очень информации, если они, конечно, им пользуются.

При поиске информации в Twitter (и вообще в любых соцсетях) избегайте перехода по связям к различным медийным личностям. Они имеют ОЧЕНЬ большое число фоловеров и твитов. Причем, когда я говорю «большое», я говорю о количестве от 100 тысяч! С такими объемами вам даже Maltego XL не поможет.

GitHub




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



Но вот какие же секреты он хранит?

Для получения информации нам потребуется аккаунт GitHub и API ключ, который можно сгенерировать в личном кабинете аккаунта. С учетом инструкции на сайте Social Links убираем все галочки при создании токена.



Токен создан и добавлен в Maltego. Можем приступать.

[Github] Followers — выгрузить список подписчиков;
[Github] Following — выгрузить список подписок;
[Github] Get Email — выгрузить e-mail аккаунта на граф;
[Github] Organization — выгрузить Entitie организации, указанной в аккаунте, на граф;
[Github] Starred — выгрузить список репозиториев, которые отметил пользователь;
[Github] User Details — выгрузить информацию о пользователе;
[Github] User Repos — выгрузить список репозиториев пользователя;
[Github] User Subscriptions — выгрузить подписки пользователя.



Также имеется широкий спектр Transforms для выгрузки на граф состава репозиториев, но в данной статье мы рассматриваем GitHub с точки зрения получения информации от пользователей.



И тут также полный набор, если человек ее заполнил в своем профиле, разумеется.



Далее все зависит от ваших знаний методов OSINT и умения анализировать и связывать воедино полученную информацию.

Одноклассники.ru



Одноклассники —– настало ваше время! Многим может показаться, что данная соцсеть ничем не примечательна, на самом деле, она оказывает очень большую помощь при поиске информации на людей возраста 40+.

В моей практике OSINT, минимум, 7 раз я использовал по полной информацию, которую удалось найти в данной соцсети.

Но для начала, как специалист по защите информации хочу выразить свое НЕГОДОВАНИЕ абсолютно абсурдным требованием соцсети заплатить деньги за то, чтобы сделать свой профиль полностью приватным. Думаете, я пошутил?





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

В плане OSINT, однако, это облегчает задачу, потому что не все люди запариваются покупкой данных опций.

К сожалению, по данной соцсети у нас есть, пока что, только возможность выгрузки списка друзей и информации из аккаунта на граф. Для базовых методов этого, конечно, хватает, но хотелось бы побольше возможностей. Transforms активно расширяются со стороны Social Links и думаю, что по функционалу будут очень схожи с набором Transforms для ВКонтакте.
Прим. Автора: одной из очень удобных функций Maltego является конвертация Entities. Представим ситуацию, что вам требуется выполнить поиск с применением распознавания лиц, но у вас есть Entitie — Person с прикрепленной фото. Легким движением мыши вы можете конвертировать ее в нужную вам Entitie и не разрывать граф связей. Подробности на снимках экрана ниже.





Как мы видим, по итогу имеем Entitie нового типа и теперь мы можем применять к ней полный спектр Transforms, которые доступны для этого типа Entitie, но были не доступны для Entitie — Person. Таким образом, в ходе OSINT вы можете корректировать граф и делать его логически более связным и удобным для чтения.


Фантастические твари



Все остальные: Gravatar, Xing, Myspace, Snapchat и Мой Мир представлены в виде отдельных Entities c набором параметров, которые выгружаются в свойства и на граф при необходимости.



Однако, полноценных Transform для работы с Entities этих сетей нет. Исключение составляет, разве что, Foursquare. В ней можно выгрузить список друзей.

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



Вот и все с социальными сетями и Maltego на сегодня. Как оказалось, все не так сложно и запутано, верно?

Не пропустите следующую статью, в которой мы рассмотрим механизм распознавания лиц на фото от Social Links и как он работает в экосистеме Maltego.
T.Hunter
Атакующая безопасность

Похожие публикации

Комментарии 11

    +2
    Спасибо за статьи (только с этой части обратил на них внимание, с интересом прочитал все).

    Не подéлитесь хотя бы порядком цен на такое счастье? На сайте Social Links, как водится у не уважающих своих клиентов вендоров, только формочка запроса.

    И ещё вопрос про возможности автоматизации. Вы пишете, что OSINT требует постепенной ручной работы и это, безусловно, гарантирует наилучший результат. Но иногда нужен массовый, пусть и менее качественный анализ (чтобы, например, выявить возможные связи в большой группе людей). На сайте Social Links есть упоминание об API, но никаких подробностей. Не используете / не пробовали использовать?
      0
      Прошу прощения за поздний ответ.

      По порядку цен. Тут конкретно к сожалению не могу сказать, так как ПО на всю нашу дружную команду закупало руководство и какие у них договоренности с Social Links я, к сожалению, не в курсе. По общему ценообразованию: вам потребуется либо Maltego Classic, либо Maltego XL, а уже поверх него накатывается SL. Опять же Social Links позиционирует свой продукт, как корпоративное решение и по этому нет смысла вываливать ценник на сайт. Как по мне, так это стандартная корп практика. Даже у тех же PATERVA на сайте отдельный раздел, если покупает организация. Так что тут скорее как у всех)))

        0
        Ценник на Maltego я нашёл, спасибо, это-то недорого для такого класса задач. Интересовал именно Social Links. Чтобы не лезть к ним запросом, если точно пойму, что не укладывается в мой бюджет (а не уложиться он может, думаю, только в случае, если тарификация по числу запросов, а не фиксированный тариф — потому что запросов будет очень много, см. мой коммент ниже про сценарий использования).
        0
        Относительно вопроса автоматизации.

        Тут я имел ввиду работу по количеству опознающих признаков. Например: нам нужно построить связи между 2мя группами людей по признаку общего места работы и района проживания. Постепенное продвижение, в данном случае, выглядит как работа сначала по признаку «общего места работы», а потом по признаку «общий район проживания» или наоборот. Если Вы попытаетесь работать сразу по 2-3 признакам одновременно, то Вы рискуете либо что-то пропустить, либо получить мешанину связей, которую потом будет очень трудно разгребать. Количественный состав групп людей в данном случае особой роли не играет)

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

        P.S. Maltego как раз и служит для некой автоматизации процесса построения связей между большими группами объектов) Для еще более пущей автоматизации можно создать «Machinеs». Их я вскользь упоминал при разборе интерфейса во второй статье.

        Относительно API от SL. Тут я полагаю они имеют ввиду, что можно использовать их API для интеграции их решений в свое ПО. Наша компания пока что не занимается разработкой OSINT ПО по этому не интересовался как у них он работает)
          0
          Ну у меня задачка, грубо говоря «вот Вам N организаций (где N — десятки-сотни тысяч), выявите, кто из них может быть аффилирован друг с другом». Через ЕГРЮЛ подтягиваем очевидные связи (учредители, руководители, адреса/телефоны), получаем граф на сотни тысяч вершин, с ним работаем.
          И вот обогатить этот граф связями типа «директор ООО А — друг директора ООО Б» как раз помог бы подобный инструмент. Понятно, что даже не в большинстве случаев, но тут хотя бы какой-то процент попаданий ужé полезен. Вручную на таких объёмах, естественно, много не наанализируешь, если заранее нет каких-то предположений, откуда копать.
            0
            Думаю ценник там не дороже чем само maltego. А вот по поводу графа аффилированности на российском рынке можете посмотреть сервис List.org. Он сам такие графики строит на основе ЕГРЮЛ. Правда интерактивность там так себе)
              0
              Видимо, list-org.ru :) На самом деле, на основе ЕГРЮЛ только ленивый не строит. Лучше всего получается у СПАРКа. Но покупать их API сильно дороже и очень сильно медленнее, чем покупать полную выгрузку ЕГРЮЛ за 150 т.р./год напрямую у ФНС и парсить самому.
              Ну и задачу построить граф не от конкретного лица, а от достаточно большого списка лиц, не решает никто. И задачу дообогащения этого графа дополнительными данными. И много ещё других задач, которые у меня в ТЗ…
              +1
              А для каких целей вам необходимо выявлять подобную аффилированность?
              Касательно АПИ — то оно действительно есть и полностью копирует функционал в мальтеге.
              Про порядок цен автор указал вено. Для АПИ цены зависят от кол-ва запросов за период.
                0
                Цели — это уже отдельный разговор :) Лежащий в плоскости текущей судебной практики по аффилированности, субординации требований и субсидиарной ответственности.

                Запросов может быть много, потому что искать надо методом «ковровой бомбардировки». Т.е. берём, скажем, разово 10 000 юрлиц, из них через ЕГРЮЛ и иные источники выходим на 50 000 взаимосвязанных физ. лиц. По ФИО и другим данным (место работы в случае руководителя, засветившийся в ЕГРЮЛ телефон и пр.) пытаемся их идентифицировать. И всех, кто с какой-то значимой вероятностью идентифицировался, пробиваем на взаимные связи со всеми остальными. Связи, которые выглядят правдоподобно, добавляем в граф. Ну и желательно, чтобы этот процесс занимал не часы, а минуты (со своей стороны распараллелю запросы насколько надо, конечно). И его ещё надо иногда повторять по мере появления новых данных из других источников.
                По итогам может ничего не найтись, соответственно, ценность для заказчика системы будет равна нулю. А если найдётся — то это будет только вспомогательным источником информации.
                Поэтому тариф «за количество запросов», боюсь, вряд ли подойдёт. В таких сценариях обычно можно не разориться только при наличии безлимитного тарифа. Потому что ну сколько будет стóить, скажем, миллион запросов в месяц?..
          0

          Офигеть какая интересная статья, побольше бы такого. Брату дам почитать. Меня к счастью в соц сетях нет. И фоток нет, не увлекаюсь, регистрация только на васм, хабр, и трекерах:) да есть цифровой след но он мизерный, завел для себя правило держать мнение при себе а если невтерпёж, вываливать только малыми порциями. Чтоб криптоАналитики не заинтересовались.:)

            0
            Ага) В нашем мире «посадки» за репост теперь только так( Эх, был же интернет в 2007 году… Мамку любого можно было оттаскать и все ок. А теперь даже IP не нужен чтобы вычислять) Может оно конечно и к лучшему, но лично я скучаю по тому старому доброму интернету. И дело даже не в «мамках», а в том, что тебе в целом не нужно было тогда особо париться как твои слова будут истолкованы спустя время… Блин! Надо книжку «Чиполино» выкинуть! А то не ровен час экстремистской литературой признают. Блин! «Незнайка на луне» же еще!))))

            P.S. В пятой статье будет тест функционала распознавания лиц на фото через Social Links.

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

          Самое читаемое