Сьогодні, витягаючи отсніфений трафік офіційного додатку ВКонтакте під Android, намагаючись знайти особливості, за якими API відсіває офіційні додатки для отримання музики, я натрапив на запити досить цікавого змісту.
Disclaimer
Відразу хочу відзначити, що я знімаю з себе будь-яку відповідальність за можливі збитки, який Ви можете заподіяти собі / своїх пристроїв або іншим / чужим пристроїв, виконуючи дії, які тут описані. Також я непрізиваю займатися подібною діяльністю на своїх мережах. Інформація надана виключно в ознайомлювальних цілях і вкрай не рекомендується до відтворення / повтору на особистих пристроях, мережах, а також строго не рекомендуються експлуатації на користувачах. оскільки сніфінг чужих даних - справа незаконна, а свій пристрій я промоніторити в праві.
А ще давайте відразу, ось що відповів (десь) Андрій Рогозів про дану інформацію.
Передмова
результати
У Kate Mobile таких зливів помічено не було. Єдине, після введення в експлуатацію нового алгоритму видачі аудіозаписів, і Kate, і офіційним додатком потрібно звертатися до Google Accounts для отримання певного receipt-токена. І все.
Про те, як працюють програми на iOS, Windows Phone мені тільки можна здогадуватися. Їх пакети не перехоплював, і пристроїв не маю.
Повторюся, такі дані, як найближчі точки доступу Wi-Fi, поточне місце розташування користувача, а також всі його дії не відправляються сторонніми додатками, такими як Kate Mobile, VK Coffee (модифікація офіційного, з вирізаними метриками та ін.), Моїм сайтом-клієнтом APIdog тощо.
Друг-розробник Андрій додав ще скроневої того, що зливається офіційним додатком під Android.
Плюсом від нього ж, ось що відправляє офіційний додаток для Windows
Тільки версію системи, версію програми, метод введення.
«. сама настройка з'явилася далеееко не відразу, в порівнянні від самого зливу. Злив подібних даних особисто для мене далеко не нове і в кави давно відключено. Самісіньке пекло те, що libverifyот мила.ру збирає серийники sim-карт, а mytracker - lac і cid. Це ніби й показав Андрій. Серийники сім карт і т.п. Ось через це і треба піднімати хайп. »
Григорій Клюшников. колишній розробник цього самого додатка, як виявляється, був сам проти включення сервісів Vigo в додаток:
«Vigo вже дуже давно був, впроваджував його я. Я був проти з самого початку, але на мою думку всім було відомо як. І це ви там ще до мейловского MyTracker не дійшли, там сама мякотка. »
А ось, що насправді являє Vigo за описом Григорія:
Update 5: Відповіді від ВКонтакте
Мобільна техподдерка
Денис вирішив все-таки домогтися відповідей на наші запитання і поставив їх мобільного підтримки ВК (id333)
У відповідь на останнє запитання, підтримка вирішила відійти від теми.
Про те, як це було отримано
Підручні засоби
Підготовка: створення сертифіката SSL
Якщо просто почати сніфінг, то ми отримаємо лише сирі дані, що не піддаються обробці, оскільки вони передаються по протоколу HTTPS - дані зашифровані. Для того, щоб отримати дані такі, які ми можемо розшифрувати, ми змінюємо сертифікат на той, який ми ж і створили. Таким чином ми можемо розшифрувати цей трафік.
openssl req -x509 -newkey rsa: 4096 -keyout key.pem -out cert.pem -days 365
Цією командою створюємо сертифікат, де key.pem - файл ключа, cert.pem - сертифікат.
У phrase key вводимо щось типу пароля. Він нам ще знадобиться. Потім його ще раз повторити. Інші поля можна залишити порожніми / не вводити. По закінченню в поточній директорії буде створено два файли.
Підготовка: установка нашого сертифіката на пристрій
Покрокова установка сертифікату на Android 5.1Підготовка: перекидання портів
Повертаємося на Linux, вбиваємо в термінал:
Підготовка: Ettercap
sudo apt-get -y install ettercap
Після установки його запускаємо.
Сніфінг даних
Клацають "Sniff" -> "Unifed sniffing.". У вікні вибору інтерфейсу зазвичай вибирається вже потрібний (може бути wlan0, wlp1s0, enp5s0), як не той - вибрати свій. "ОК".
Далі: "Hosts" -> "Scan for hosts". Очікуємо сканування хостів.
Далі "Hosts" -> "Hosts list". У списку вибираємо IP нашого роутера (у мене 192.168.1.1) і тиснемо "Add to target 1", потім вибираємо IP пристрою (у мене 192.168.1.222), потім "Add to target 2".
Далі "Mitm" (Man in the Middle) -> "ARP Poisoning" -> ставимо прапор "Sniff remote connections" -> "OK".
Далі "Start" -> "Start sniffing".
Кінець підготовки: SSLSplit
Далі в терміналі ставимо sslsplit:
sudo apt-get -y install sslplit
Коли установка завершена, створюємо директорії:
І в поточній директорії (де лежать файли cert.pem і key.pem)
cp / dev / null logfile.log
У поточній директорії виконуємо:
sudo sslsplit -k key.pem -c cert.pem -l logfile.log -j logs -S. https 0.0.0.0 8443 http 0.0.0.0 8080
Вводимо phrase key, який вказували при створенні сертифіката.
Список в директорії logs будуть записуватися під власником і групою root без доступу до читання і записи від поточного користувача. Тому потрібно змінити власника. У директорії з сертифікатами вводимо
sudo chown -R vlad805: vlad805 logs
Де замість "vlad805" - ім'я Вашого користувача.
Як пізніше підказав Антон. сніфінг можна виконати двома кліками за допомогою додатків для Android, і тоді ось ця довжелезна інструкція не знадобиться. Але. кому як зручніше.
Подяки
Також висловлюється подяка Костянтину за наводку і докладну інструкцію по сніфінгу.