Аркадий Литвиненко, Security Meetup 9 апреля, Mail.Ru Group

  • View
    1.051

  • Download
    5

  • Category

    Software

Preview:

Citation preview

Я тебя по 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/

Recommended