07.12.2015

Сбор контактов из LinkedIn при помощи модуля linkedin_crawl

image

Linkedin_crawl – модуль, написанный на базе фреймворка recon-ng и предназначенный для сбора информации о работниках определенной компании, представленной в социальной сети LinkedIn.

Автор: Mike Larch

Linkedin_crawl – модуль, написанный на базе фреймворка recon-ng и предназначенный для сбора информации о работниках определенной компании, представленной в социальной сети LinkedIn. Linkedin_crawl собирает контактные данные из секции «People also Viewed», которая доступна на большинстве публичных страниц пользователей. При помощи полученной информации можно генерировать адреса электронной почты во время фишинговых атак, либо пополнять словарь, используемый во время внутренних или внешних пентестов.

Установка linkedin_crawl

Поскольку модуль является часть фреймворка Recon-ng, установка довольно проста:

git clone https://LaNMaSteR53@bitbucket.org/LaNMaSteR53/recon-ng.git

Более подробная информация находится здесь.

Примеры использования

*в целях анонимности примеры отредактированы*

1. Требуется найти хотя бы одного сотрудника из определенной компании. Это можно легко сделать при помощи поискового запроса к Гуглу «имя компании Linkedin» или воспользоваться шаблоном Тима Томса (Tim Tomes):

site:linkedin.com inurl:pub -inurl:dir "at " "Current"

Рисунок 1: Пример поиска одного из сотрудников компании

2. На странице найденного сотрудника должно присутствовать имя компании, написанное без ошибок, и секция «Viewers of this profile also viewed…». Далее скопируйте URL страницы сотрудника. В примере ниже будет рассматриваться сотрудник John Doe, работающий в компании «Example Company».

Рисунок 2: Страница сотрудника John Doe

3. Загрузите фреймворк Recon-ng, перейдите к модулю linkedin_crawl, установите все необходимые настройки и запустите парсинг:

root@kali:~/recon-ng# ./recon-ng

[recon-ng][default] > use recon/companies-contacts/linkedin_crawl
[recon-ng][default][linkedin_crawl] > show options

Name Current Value Req Description
------- ------------- --- -----------
COMPANY no override the company name harvested...
URL yes public LinkedIn profile URL (seed)

[recon-ng][default][linkedin_crawl] > set URL http://www.linkedin.com/pub...
URL => http://www.linkedin.com/pub/john-doe/82/2bb/7a3?trk=pub-pbmap
[recon-ng][default][linkedin_crawl] > show options

Name Current Value Req Description
------- ------------- --- -----------
COMPANY no override the company...;
URL http://www.linkedin.com/pub... yes public linkedin profile...

[recon-ng][default][linkedin_crawl] > run

---------------
EXAMPLE COMPANY
---------------
[*] Parsing ‘http://www.linkedin.com/pub/john-doe...
[*] Added: John Doe, Software Developer at Example Company(Washington...
[*] Parsing ‘http://www.linkedin.com/pub/ali-price...
[*] Added: Ali Price, Director at Example Company
[*] Parsing ‘http://www.linkedin.com/pub/mary-kibble...
[*] Parsing ‘http://www.linkedin.com/pub/matt-james...
[*] Added: Matt James, Director of Software Services at Example Company...

Результаты

После запуска модуль начнет обход контактов из секции “Viewers of this profile also viewed…” и собирать информацию, если сотрудник работает в компании. Если компания небольшая, найдется не очень много сотрудников (парсинг будет длиться не более минуты). Если это большая корпорация, будет найдено тысячи контактов, что может занять несколько часов. В любом случае информация собрана будет. По окончании парсинга можно посмотреть базу собранных сотрудников.

[recon-ng][default] > show contacts

+---------------------..--------------------------------------------------------------+
| rowid | first_name | | last_name | email | title |
+---------------------..--------------------------------------------------------------+
| 1 | Ali | | Price | | Director at Example Company |
| 2 | John | | Doe | | Software Developer at Example Company |
| 3 | Marc | | Smith | | Computer Tech at Example Company |
| 4 | Matt | | James | | Director at Example Company |
| 6 | Robert | | Fiker | | Floor Manager at Example Company |
| 5 | Tina | | Beard | | Marketing Consultant at Example Company |
+---------------------..--------------------------------------------------------------+

[*] 6 rows returned

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

Заключение

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