Social Mapper: инструмент анализа социальных сетей, который ищет связь между профилями через распознавание лиц


Social Mapper — это инструмент с открытым исходным кодом, который использует распознавание лиц для корреляции профилей социальных сетей на разных сайтах в больших масштабах. Программа использует автоматизированный подход для поиска в популярных сайтах социальных сетей по именам и изображениям целей, чтобы точно определять и группировать присутствие человека, выводя результаты в наглядный отчёт, который оператор-человек может быстро просмотреть.

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

Social Mapper поддерживает следующие платформы социальных сетей:

  • LinkedIn
  • Facebook
  • Twitter
  • Google Plus
  • Instagram
  • VKontakte
  • Weibo
  • Douban

Social Mapper принимает различные типы ввода, такие как:

  • Название организации для поиска через LinkedIn
  • Папка с именованными изображениями
  • CSV-файл с именами и URL-адресами изображений в Интернете

Случаи использования (когда вам может понадобиться)

Программа Social Mapper в первую очередь предназначена для тестеров на проникновение и Red Teamers, которые будут использовать его для расширения своих целевых списков и поиска нужных им профилей в социальных сетях. Отсюда то, что вы делаете, ограничено только вашим воображением, но вот несколько идей для начала:

(Примечание: Social Mapper не выполняет эти атаки, он собирает данные, необходимые для их массового выполнения.)

  • Создайте поддельные профили в социальных сетях, чтобы «подружиться» с целями, и отправьте им ссылки или вредоносное ПО. Последние статистические данные показывают, что пользователи социальных сетей более чем в два раза чаще нажимают на ссылки и открывают документы по сравнению с теми, которые доставляются по электронной почте.
  • Перехитрите пользователей, чтобы они раскрыли свои электронные адреса и номера телефонов с помощью ваучеров и предложений, чтобы собрать нужную информацию для фишинга, vishing (голосовой фишинг) или smishing (СМС фишинг)
  • Создавайте пользовательские фишинговые кампании для каждого сайта в социальных сетях, зная, что у цели есть учётная запись. Сделайте их более реалистичными, включив их фотографию в электронное письмо Захватите пароли для повторного использования пароля.
  • Просматривайте целевые фотографии в поисках значков карт доступа сотрудников и знакомьтесь с интерьерами зданий.

Как установить Social Mapper

Примечание: об установке Social Mapper Kali Linux смотрите здесь.

Эти инструкции покажут вам установку и способы использования Social Mapper.

Зависимости Social Mapper

Поскольку это инструмент на основе Python, теоретически он должен работать в Linux, ChromeOS (Developer Mode) и macOS. Основными зависимостями являются Firefox, Selenium и Geckodriver. Чтобы установить инструмент и настроить его, выполните следующие шаги:

  1. Установите последнюю версию Mozilla Firefox для macOS отсюда: https://www.mozilla.org/en-GB/firefox/new/

Или для Debian/Kali (но не обязательно для Ubuntu) получите версию Firefox без ESR добавив новый источник в репозитории:

sudo add-apt-repository ppa:mozillateam/firefox-next && sudo apt update && sudo apt upgrade

Убедитесь, что новая версия Firefox находится в одной из папок, входящих в переменную окружения $PATH. То есть этот веб-браузер должен открываться в консоли по имени файла без указания полного пути до бинарника. Если это не так, то вручную добавьте директорию веб браузера в $PATH.

  1. Установите Geckodriver для вашей операционной системы и убедитесь, что он также находиться в папке, входящей в переменную окружения $PATH, на Mac вы можете поместить его в /usr/local/bin, на ChromeOS вы можете поместить его в /usr/local/bin, а на Linux вы можете разместить его в /usr/bin.

Загрузите последнюю версию Geckodriver здесь: https://github.com/mozilla/geckodriver/releases

Скачайте исполнимый файл для вашей системы, распакуйте его, и поместите в одну из папок с другими исполнимыми файлами, например в /usr/bin.

  1. Установите необходимые библиотеки:

В Linux (производных Debian) установите следующие зависимости:

sudo apt-get install build-essential cmake libgtk-3-dev libboost-all-dev git python-sklearn

Наконец завершите установку, в Linux и macOS это делается так:

git clone https://github.com/Greenwolf/social_mapper
cd social_mapper/setup
python -m pip install --no-cache-dir -r requirements.txt

Для Mac просмотрите файл setup/setup-mac.txt, там вы найдёте некоторые дополнительные инструкции по установке xcode, brew и xquartz.

  1. Для своей работы Social Mapper нужны учётные данные для входа в службы социальных сетей.

Откройте файл social_mapper.py и введите учётные данные социальных сетей в глобальные переменные в верхней части файла:

global linkedin_username
global linkedin_password
linkedin_username = ""
linkedin_password = ""
global facebook_username
global facebook_password
facebook_username = ""
facebook_password = ""
global twitter_username
global twitter_password
twitter_username = ""
twitter_password = ""
global instagram_username
global instagram_password
instagram_username = ""
instagram_password = ""
global google_username
global google_password
google_username = ""
google_password = ""
global vk_username
global vk_password
vk_username = "" # Can be mobile or email
vk_password = ""
global weibo_username
global weibo_password
weibo_username = "" # Can be mobile
weibo_password = ""
global douban_username
global douban_password
douban_username = ""
douban_password = ""

Необязательно заполнять сразу все строки, будут использоваться только те социальные сети, для которых указаны учётные данные.

  1. Для Facebook убедитесь, что язык учётной записи, для которой вы предоставили учётные данные, установлен на «Английский (США)» на время выполнения.

Как пользоваться Social Mapper

Social Mapper запускается из командной строки, используя набор обязательных и дополнительных параметров. Вы можете указать такие параметры, как тип ввода и какие сайты проверять, а также ряд других параметров, которые влияют на скорость и точность.


Обязательные параметры

Для запуска инструмента необходимо указать 4 параметра, формат ввода, входной файл или папку и основной режим работы:


-f, --format	: Укажите будет ли -i, --input являться 'name', 'csv', 'imagefolder' или итоговым файлом 'socialmapper'
-i, --input	: Имя компании, CSV файл, папка с изображениями или HTML файл Social Mapper  для ввода в Social Mapper
-m, --mode	: 'fast' (быстрый) или 'accurate' (точный) позволяет вам выбрать, пропускать ли потенциальные цели после того, как первые наиболее вероятные найдены, в некоторых случаях имеется потенциал увеличить скорость программы в 20 раз

Кроме того, должен быть выбран по крайней мере один сайт социальной сети из следующего списка (можно использовать несколько опций):

-a, --all		: Выбирает все перечисленные ниже параметры проверяет каждый сайт, для которого у Social Mapper есть учётные данные
-fb, --facebook		: Проверить Facebook
-tw, --twitter		: Проверить Twitter
-ig, --instagram	: Проверить Instagram
-li, --linkedin		: Проверить LinkedIn
-gp, --googleplus	: Проверить Google Plus
-vk, --vkontakte	: Проверить VKontakte
-wb, --weibo		: Проверить Weibo
-db, --douban		: Проверить Douban

Необязательные параметры

Дополнительные необязательные параметры также могут быть установлены для внесения дополнительных настроек в способ работы Social Mapper:

-t, --threshold		: Настройка распознавания лиц — порог для засчитывания совпадения, это что-то вроде уровня точности. По умолчанию это 'standard', но можно установить на 'loose', 'standard', 'strict' или 'superstrict'. Например 'loose' найдёт больше совпадений, но некоторые могут оказаться неверными. В то время как 'strict' может найти меньше совпадений, но в конечном отчёте также будет и меньше неверных находок.
-cid, --companyid	: Дополнительный параметр для добавления в LinkedIn Company ID если поиск по имени выбирает неверную компанию.
-s, --showbrowser	: Сделать браузер Firefox видимым, чтобы вы могли видеть выполняемые поиски. Полезно для отладки.
-v, --version		: Показать текущую версию.
-e, --email		: Укажите нечёткий формат электронной почты, например "<f><last>@domain.com" для генерации дополнительных CSV файлов для каждого сайта с именем (<first> или <f>), фамилией (<last> или <l>), полным именем, email, profileURL, photoURL. Это можно скормить в платформу для фишинга, такой как Gophish или Lucy.

Примеры запуска Social Mapper

Вот парочка примеров запуска для начала в различных случаях использования.

Быстрый запуск для Facebook и Twitter по некоторым целям, которые у вас есть в imagefolder, которые вы планируете изучить вручную и вас не особо волнуют ложные находки:

python social_mapper.py -f imagefolder -i ./mytargets -m fast -fb -tw

Исчерпывающий прогон по крупной компании, где ложные срабатывания должны быть сведены к минимуму:

python social_mapper.py -f company -i "SpiderLabs" -m accurate -a -t strict

Большой прогон, который должен быть разделен на несколько сеансов из-за времени, первый прогон выполняется в LinkedIn и Facebook, а второй возобновляется и дополняется в Twitter, Google Plus и Instagram:

python social_mapper.py -f company -i "SpiderLabs" -m accurate -li -fb
python social_mapper.py -f socialmapper -i ./SpiderLabs-social-mapper-linkedin-facebook.html -m accurate -tw -gp -ig

Быстрый прогон (~5 минут) без распознавания лиц для создания CSV с именами, адресами электронной почты, профилями и ссылками на фотографии для 1000 человек из компании LinkedIn, где формат электронной почты известен как «firstname.lastname» :

python social_mapper.py -f company -i "SpiderLabs" -m accurate -li -e "<first>.<last>@spiderlabs.com"

Примеры данных для ввода:

  1. Пример папки imagefolder в которой собраны именованные файлы с фотографиями
  2. Файл csv.csv
  3. Пример для компании:
python social_mapper.py -f company -i "Здесь имя компании" -m accurate -a -t strict

Решение проблем

Руководство по импорту результатов Social Mapper в Maltego Community (Free) Edition

1) Загрузите и установите Maltego Community Edition.

2) Возьмите CSV-файл результатов Social Mapper и перенесите все на один столбец. В каждой строке этого нового столбца введите организацию или группу, которая связывает все цели вместе.

3) Откройте Maltego и перейдите в Файл (или Верхний левый символ круга)> Импорт> Импортировать график из таблицы.

4) Выберите отредактированный CSV-файл результатов Social Mapper и выберите «Дерево» в разделе «Параметры подключения» (рисунок 1).


5) В конфигурации сопоставления выберите сопоставление для каждого столбца. Компания для 1-го столбца, Персона для 2-го столбца и URL-адреса для остальных (Изображение 2).

6) В таблице подключения в конфигурации сопоставления укажите Персона для каждого URL, а Организацию — для Персона (Изображение 3).

7) Убедитесь, что это правильно в представлении Graph Connectivity. Затем завершите импорт.

Решение проблем с социальными сетями

Сайты социальных сетей часто меняют свои форматы страниц и имена классов. Если Social Mapper не работает для вас на определённом сайте, то этот раздел может вам помочь.

Краткое руководство по устранению неполадок для Social Mapper, которое поможет вам исправить проблемы, которые могут возникнуть из-за изменений сайта.

Пожалуйста, отправляйте свои наработки в репозиторий на ГипХабе если вы исправите что-то в социальной сети!

Почему Social Mapper поломался?

Social Mapper может перестать работать с определёнными сайтами социальных сетей, которые изменяют имена классов HTML, которые Social Mapper использует для извлечения информации из веб-страниц.

Как я могу это исправить?

Чтобы исправить неработающий сайт, просто откройте соответствующий модуль Python в папке модулей и обновите имена классов, которые ищет BeautifulSoup, или измените код синтаксического анализа.

На изображении ниже вы можете увидеть ряд вещей, на которые полагается Social Mapper:


  • URL, который он использует для поиска целей.
  • Имя класса div, в котором содержится каждый из людей, вернувшихся из поиска.
  • Код, который он использует для манипулирования извлечёнными данными для анализа ссылки на профиль и изображение профиля.

Например, в модуле facebookfinder.py он находит профили пользователей на основе класса _401d div. Если бы Facebook изменил это, строку 77 в facebookfinder.py пришлось бы изменить соответствующим образом.

Дополнительную информацию смотрите также здесь.


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *