Я тебя по API вычислю Используем API социальных сервисов для конкурентной разведки. #securitymeetup #mailru
Я тебя по API вычислюИспользуем API социальных сервисов
для конкурентной разведки.#securitymeetup #mailru
2
Что же такое API?• API - Application Programming Interface
• API - это интерфейс, предоставляемый приложением, который позволяет использовать функционал этого приложения в своих проектах, не вдаваясь в принципы его работы.
• API является единственным способом взаимодействия с blackbox приложениями.
• Большинство современных социальных сервисов обладают собственным API.
3
У mail.ru тоже есть свой API :)
4
Схема работы с API
5
Схема работы с API (напрямую)
6
API и Конкурентная Разведка• Конкурентная разведка – сбор различной информации на человека
или организацию.
• Конкурентные разведчики постоянно обращаются к социальным сервисам, как к основным источникам информации.
• Информации там очень много, поэтому зачастую приходится автоматизировать процесс.
• Парсер (Граббер) – скрипт или программа, предназначенная для автоматизированного сбора информации с сайтов.
• Варианты реализации парсера:1. Через API.2. Через эмуляторы браузера.
7
API или Эмулятор - что выбрать?
• API удобен в использовании, подробно документирован, но очень часто имеет крайне урезанный функционал.
• Эмуляторы умеют ровно столько, сколько умеют обычные пользователи сервиса.
• Очень часто, то, что можно вытащить через эмуляторы, нельзя вытащить через API.
• Бывают частные случаи, когда API предоставляет возможности, недоступные для пользовательского интерфейса сервиса.
Вывод: Если функционала API хватает, то безусловно нужно использовать API.
8
Немного о геотегах• GeoTagging – процесс добавления географической информации к
всевозможным мультимедийным файлам.
• Почти все современные мобильные устройства поддерживают добавления геотегов к фотографиям в момент съемки.
• Многие социальные сервисы обрабатывают геотеги при заливке фотографии.
Пример обработки фотографии с геотегами контактом:
9
Пример геотегов в JPEG картинке
10
Зачем геотеги обычным пользователям?
• Похвастаться перед друзьями своими фотографиями с пруфами в виде координат.
• Удобно для профессиональных фотографов.
• Часто используется для сортировки фотографий в альбомах по месту, где они сделаны.
• Можно лишний раз спалить своё местоположение там, где не надо.
11
Пример GEO-фейла
А вы помните историю этой картинки? :)
12
Пример GEO-фейла
13
API + GEO = Деанонимизация
• Некоторые социальные сервисы позволяют искать фотографии по координатам.
• К таким сервисам относятся: instagram, vkontakte, twitter.
• API обладает более широкими возможностями в плане поиска фотографий, чем интерфейс пользователя.
• Для каждой координаты выдаётся очень много фотографий, поэтому собирать их руками нецелесообразно.
14
Основная структура парсера
• Идея написать подобный парсер появилась после финала Positive Hack Days 2014.
• В дальнейшем предполагалось использовать его, в основном, для blackbox пентестов.
• В качестве языка программирования был выбран Python.
• Использовался API.
• Работа велась напрямую с API серверами.
15
Запрос к API на примере «Вконтакте»
https://api.vk.com/method/photos.search?lat=55.740701&long=37.609161&count=100&radius=100&start_time=1400619600&end_time=1400792400
lat – Географическая широта.
long – Географическая долгота.
count – Максимальное количество результатов (максимум 100).
radius – Радиус поиска (в метрах).
start_time - Начальная граница интервала времени (в формате timestamp).
end_time – Конечная граница интервала времени (в формате timestamp).
16
Ответ API сервера «Вконтакте»
17
Ответ сервера в читабельном виде
* Красным подчеркнуты поля, которые будут интересовать нас в дальнейшем
18
Проблемы в процессе реализации
Проблема:• Как сохранить фотки на диске, и не переполнить хард?Решение:• На помощь приходит HTML.
Проблема:• API сервер выдаёт ограниченное количество фоток для
промежутка времени. Решение:• Придётся делить отрезок времени на временные интервалы и
парсить их.
19
Блок-схема работы парсера
20
Запуск парсера
21
Пример работы парсера (Mail.ru)
22
Следующая цель: Лубянка
23
Следующая цель: ГосДума
24
Обращайте внимание на мелочи
25
Пример деанона :)
26
Выводы
• API - это просто. Как правило, библиотеки для работы с API хорошо документированы и разобраться в них не составляет особого труда.
• API – это очень мощное оружие для конкурентной разведки.
• Внимательно следите за тем, что вы выкладываете в сеть. Это может быть использовано не в ваших интересах :)
• Даже документированные возможности API могут быть использованы крайне нестандартно, не говоря уже о недокументированных возможностях.
27
Спасибо за внимание
• twitter.com/BetepO_ok• bitbucket.org/BetepokNoname/photobygeo/