Содержание статьи
По словам представителей американской разведки, около восьмидесяти процентов полезной информации приходит из общедоступных источников. И лишь небольшая часть — это разведданные, добытые непосредственно агентурой. Разница огромна, но нельзя забывать, что именно полученные разведкой детали позволяют подтвердить и верифицировать общую картину.
Это хорошо иллюстрирует история о том, как в ЦРУ в советское время восстановили на основе фотографии из журнала схему электрификации Урала и предприятий ядерной промышленности. Аналитики разведки зацепились за одно заретушированное изображение панели мониторинга, а потом проделали огромную работу, собирая данные из советских газет, журналов и отчетов дипмиссий. Но решающими оказались снимки местности с разведывательных аэростатов, потому что иначе невозможно было подтвердить правомерность выводов о расположении линий энергопередач и заводов.
![](https://xakep.ru/wp-content/uploads/2019/09/236755/cia-gov.jpg)
Не менее важно уметь достать «разведданные», когда речь заходит про сбор информации о людях. Это может быть расследование заражения и поиск виновника или идентификация личности для уточнения поверхности атаки. Далее рассмотрим неординарные случаи получения информации тогда, когда сбор из открытых источников не дает нужного результата.
Пробиваем бота Telegram
Как ты знаешь, у Telegram широкая функциональность для работы с ботами. Ничего не стоит создать нового, получить токен для управления и использовать в готовом скрипте с GitHub. Так же легко токены от ботов и утекают: найти их можно по элементарным доркам. А иногда в руки просто попадается малварь, которая использует функции Telegram как пульт управления, — знал бы ты, сколько архивов стиллеров хранится в облаке мессенджера!
Что останавливает от вытаскивания всей информации бота через утекший токен? Конечно, это API Telegram, в котором ограничиваются множественные подключения для ботов из разных мест. А даже если бот не работает или его владелец проигнорирует ошибки подключения, то мы все равно сможем получать только новые, не обработанные ранее сообщения. Наконец, бот не обладает знанием о том, с кем он общался в прошлом. Таким образом, прочитать историю не получится — нужно тихо ждать, пока кто-то напишет, чтобы перехватить сообщение.
К счастью, HTTP API для работы с ботами — это только надстройка над оригинальным MTProto API, который позволяет взаимодействовать с ними, как с человеческими аккаунтами. А для работы с этим протоколом уже есть готовые библиотеки! Лично я советую Telethon, в котором не так давно была реализована прослойка для управления ботами.
Как ты понимаешь, возможности при таком способе увеличиваются на порядок. Теперь мы можем подключиться незаметно для владельца бота и вытащить историю сообщений. А первый диалог, очевидно, будет с его хозяином. Я написал простой скрипт, который тащит переписки, сохраняет медиаконтент, имена и фотографии собеседников.
И кстати, ты наверняка помнишь, что недавно в Telegram добавили функцию удаления своих сообщений у собеседника. Так вот, если удалить сообщение из диалога с ботом, то у него оно останется.
Узнаем номер телефона в ноль касаний
Представь, что тебе нужно узнать номер телефона, лежащего в кармане другого человека. И при этом не привлекать внимания! Конечно, для этого есть масса способов, начиная от брутального перехвата через IMSI catcher и заканчивая социальной инженерией. А до 2018 года Wi-Fi в московском метро легко отдавал по MAC номер телефона и рекламный профиль его владельца.
Исследователи из Hexway недавно опубликовали информацию о том, как устройства Apple общаются между собой через Bluetooth LE. Для взаимной идентификации они используют хеши от данных аккаунта человека: три байта от SHA-256 номера телефона, Apple ID и почтового ящика. Да-да, айфоны, макбуки и даже наушники буквально кричат в радиоэфир вокруг, кто они и в каком режиме работы находятся.
К счастью, хеши отсылаются не всегда, а только в конкретных случаях: например, при открытии экранов ввода пароля от беспроводной сети. Но этого достаточно: предложи человеку подключиться к Wi-Fi — и хеши от его данных у тебя.
Кроме того, вспомним, что российский номер состоит из одиннадцати цифр и по трем байтам фактически будет лишь несколько десятков коллизий. И даже еще меньше, если мы точно знаем регион и оператора. Авторы исследования сделали удобный скрипт, который позволяет сгенерировать хеши по нужным диапазонам. Отдельные энтузиасты уже создали готовую базу, вычистив несуществующие коды операторов. Так что после получения списка номеров остается только сузить количество «подозреваемых» с помощью запросов HLR для пробива активности абонента и проверки наличия у него аккаунтов мессенджеров. Пара итераций — и у тебя в руках номер нужного мобильника.
Также не стоит забывать об Apple ID и почтовом ящике! Теперь у тебя есть все данные для проверки информации об аккаунтах человека, которую ты найдешь в открытых источниках.
Поиск email через сетевой ханипот
А теперь предположим, что мы находимся в противоположной ситуации: можем контактировать с человеком только через сеть, например мессенджер Jabber. Мы знаем, что он занимается разработкой малвари, но ведет двойную жизнь и имеет официальную работу. Нам бы очень хотелось выяснить его личность, но использует он исключительно Tor и VPN. За что мы можем зацепиться в этом случае?
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»