Статья Поиск авторизации аккаунтов в приложении Instagram

Всем привет)
Попалась мне в руки папка с данными приложения Instagram (com.instagram.android) с ОС Android и логин пользователя который использовал это приложения но информация о нем есть в двух файлах :
  • com.instagram.android/app_webview/Default/IndexedDB/https_i.instagram.com_0.indexeddb.leveldb/000003.log;
  • com.instagram.android/app_browser_proc_webview/Default/IndexedDB/https_www.instagram.com_0.indexeddb.leveldb/000003.log.
И больше никаких следов по "нику" пользователя в корне папки приложения не было. В интернете по этому поводу я ничего не нашел, да и не пытался особо.
1.JPG
Первым делом сразу отправился смотреть информацию в файлах БД:
  • com.instagram.android\databases\direct.db;
  • com.instagram.android\databases\fileregistry.db;
  • com.instagram.android\databases\transactions.db;
  • com.instagram.android\app_webview\Default\databases\Databases.db;
  • com.instagram.android\app_browser_proc_webview\Default\databases\Databases.db;
Информация о пользователях и переписке содержится в com.instagram.android\databases\direct.db, привлекла информация из таблицы "session" где была указана последняя авторизация в приложение.
3.JPG
Так как таблица содержала две записи "user_id" я смел предположить, что приложением действительно пользовалось два пользователя. Но, как узнать "user_id" нужного мне пользователя, если я знаю только "ник"?
После анализа файлов в которых упоминается "ник" пользователя, следы авторизации которого нашлись в файле: com.instagram.android/app_browser_proc_webview/Default/IndexedDB/https_www.instagram.com_0.indexeddb.leveldb/000003.log
Внимание привлекла строка: "o"ник_пользователя"12*********{ u s e r s . u s e r sяя"
2.JPG
А точней 11 цифр после "ника" пользователя, который может быть его "user_id". Проведя анализ в файле : "com.instagram.android/app_browser_proc_webview/Default/IndexedDB/https_www.instagram.com_0.indexeddb.leveldb/000003.log" нашелся "ник" и "user_id" пользователя, записи переписки которого есть в БД direct.db. В следствии можно сделать вывод, что 11 цифр после "ника" пользователя это его "user_id". Продолжив поиск в папках было найдено файлы формата "JSON" и "sqlite" с информацией об авторизации пользователей и использование ими приложение "Instagram". Приложение "Instagram" дает возможность пользователю просмотреть сколько времени он проводит в приложении а значит и информация об этом логируется в файлах приложения.
4.jpg
Файлы "JSON" с упоминанием "user_id" находятся :
5.JPG
Имя файла содержит: "user_id+_app_active_intervals" - сам перевод говорит нам об интервале использования приложения пользователем с "user_id" в имени файла.
Структура интересующего файла: {"app_active_intervals":[{"start_time_stamp":1574342518,"stop_time_stamp":1574342522},{...}]}
Время в файле указано в формате Unix time (10 символов). Распарсить файл можно с помощью нехитрого скрипта на Python и получить "txt" файл типа:
6.JPG
Файлы "sqlite" с упоминанием "user_id" находятся :
7.JPG
Имя файла содержит: "time_in_app_+user_id" - сам перевод говорит нам об времени использования приложения пользователем с "user_id" в имени файла.
Содержимое файла распарсим в читабельный вид запросом SQL:
8.JPG
Вот и нашлась информация об использовании нужным нам пользователем приложения.
Могу сказать сразу, что в БД "time_in_app_+user_id" информации по поводу использования пользователем приложения "Instagram" больше чем в файле "user_id+_app_active_intervals".
Вывод: способ имеет место на свое существование опираться лучше на данные из базы данных, но и данные из файла "JSON" тоже имеют свою силу.​
 

moonz

Green Team
14.11.2017
39
19
BIT
7
А каков реальны юзкейс данной реализации? Тут нужен дамп данных из локальных файлов жертвы.

Ты лучше скажи, возможно использовать хэш сессии для авторизации по средствам api? Допустим даже для прямой эксплуатации приложения там есть куча токенов (как я понял). Не пробовал ли ты делать нативный тулкит для работы с приложением из вне?

Приложухам типа 'Анализатор Инсты, Подписчики\Подписки и прочее', под андроид достаточно получить из кук 2 поля
"ds_user_id";
"sessionid" и можно с апи работать, есть вот такой нулленный скрипт там апи без авторизация, да и вобще смотря какое апи нужно, а так 2 куки

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

хз, по подписчикам, 1лям юзеров вроде как не спарсить, должны быть лимиты инсты на длину списка, но софт InstaTool PRO могет такое, и по геометкам может +у стофта и форум имеется

Большое спасибо, а нету случайно ссылочки на софт (чистой)?

так и не понял что к чему, но user id узнается так
Так можно узнать мыло и номер трубы " + id + "/info/
Работает с юзерагент Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 Instagram 12.0.0.16.90 (iPhone9,4; iOS 10_3_3; en_US; en-US; scale=2.61; gamut=wide; 1080x1920)
К сожалению возвращает {'message': 'useragent mismatch', 'status': 'fail'}

Тупанул немного) неверно юзерагента передал, в общем всё равно телефон и почту не получил, только фото профиля и лоигн. В целом подойдёт для верификации id . Хотя и вернул статус ok
Но вот способ с получением id работает пока, более того, он выводит все посты и ещё кучу всего, буду разбираться)
 

c0mb0

Green Team
02.10.2018
52
19
BIT
13
так и не понял что к чему, но user id узнается так
Так можно узнать мыло и номер трубы " + id + "/info/
Работает с юзерагент Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 Instagram 12.0.0.16.90 (iPhone9,4; iOS 10_3_3; en_US; en-US; scale=2.61; gamut=wide; 1080x1920)

А каков реальны юзкейс данной реализации? Тут нужен дамп данных из локальных файлов жертвы.

Ты лучше скажи, возможно использовать хэш сессии для авторизации по средствам api? Допустим даже для прямой эксплуатации приложения там есть куча токенов (как я понял). Не пробовал ли ты делать нативный тулкит для работы с приложением из вне?
Приложухам типа 'Анализатор Инсты, Подписчики\Подписки и прочее', под андроид достаточно получить из кук 2 поля
"ds_user_id";
"sessionid" и можно с апи работать, есть вот такой нулленный скрипт там апи без авторизация, да и вобще смотря какое апи нужно, а так 2 куки

Мне нужно собрать подписчиков, тупо ссылки на профиль подписчиков или по хэштегу. Думаю будет достаточно
хз, по подписчикам, 1лям юзеров вроде как не спарсить, должны быть лимиты инсты на длину списка, но софт InstaTool PRO могет такое, и по геометкам может +у стофта и форум имеется
 
  • Нравится
Реакции: moonz

g00db0y

Red Team
11.06.2018
139
692
BIT
1
так и не понял что к чему, но user id узнается так
Так можно узнать мыло и номер трубы " + id + "/info/
Работает с юзерагент Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 Instagram 12.0.0.16.90 (iPhone9,4; iOS 10_3_3; en_US; en-US; scale=2.61; gamut=wide; 1080x1920)
Не знаю с чего вы решили что можно получить почту и телефон по этой ссылке. Мне выдало следующее:

1593458336717.png

По сути, инфа которую можно найти в том же https://www.instagram.com/zuck/?__a=1
 
  • Нравится
Реакции: Sunnych

Sombrero

Green Team
23.09.2019
67
4
BIT
0
Не знаю с чего вы решили что можно получить почту и телефон по этой ссылке. Мне выдало следующее
Раньше это работало только для бизнес-профилей .
И еще нужно заходить по ссылке уже залогиненым .
Хз как там оно сейчас , походу баномет Цукерберга настигнул и мой аккаунт .
 

c0mb0

Green Team
02.10.2018
52
19
BIT
13
Не знаю с чего вы решили что можно получить почту и телефон по этой ссылке. Мне выдало следующее:

Посмотреть вложение 42267
По сути, инфа которую можно найти в том же https://www.instagram.com/zuck/?__a=1
Выдает только при условии что такие данные указаны (типа бизнес профиль), и юзерагент тут ОЧЕНЬ важен, выдает только авторизованному юзеру, и json там будет отличаться

Мне нужно собрать подписчиков, тупо ссылки на профиль подписчиков или по хэштегу. Думаю будет достаточно
Софт
Желательно симку иметь или че там щаз у инсты, а то если переборщить с таким софтом или подобным, может временно страницу морозить за активность
 

Sunnych

Mod. Forensics
Gold Team
01.06.2018
277
1 454
BIT
41
Про данные которые описывал Unison
Дело в том что приведённый в примере логин пользователя Instagram был уже удалён, и вопрос был о том что бы доказать существование и использование (именно на этом мобильном устройстве)
уже удалённого определённого аккаунта - что и было доказано!
Не забывайте это ветка форензики (расследования и добыча доказательств).
 

crocod3r

New member
11.03.2020
4
0
BIT
0
Выдает только при условии что такие данные указаны (типа бизнес профиль), и юзерагент тут ОЧЕНЬ важен, выдает только авторизованному юзеру, и json там будет отличаться


Софт
Желательно симку иметь или че там щаз у инсты, а то если переборщить с таким софтом или подобным, может временно страницу морозить за активность
Очень интересная тема, а существует ли на сегодня реальный способ выявить номер телефона у произвольного аккаунта? если да куда копать?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!