Статьи

Як перехопити переписку у «ВКонтакте» через Wi-Fi - Сайт для душі

Спеціаліст з безпеки компанії HeadLight Security Михайло Фирстов опублікував код скрипта, що дозволяє обробляти перехоплену листування користувачів додатка «ВКонтакте» для Android і iOS, що належать тій самій мережі з хакером. Про це він повідомив в своєму мікроблозі. Спеціаліст з безпеки компанії HeadLight Security Михайло Фирстов опублікував код скрипта, що дозволяє обробляти перехоплену листування користувачів додатка «ВКонтакте» для Android і iOS, що належать тій самій мережі з хакером

Приклад роботи скрипта

Код утиліти під назвою vkmitm (від MITM - «man in the middle», тип атаки) Фирстов опублікував на GitHub. Її виконується частина є скриптом на Python, який шукає в локальній мережі запити додатків «ВКонтакте» для Android або iOS на оновлення списку повідомлень.
[Reclam]

В описі роботи утиліти сказано, що запити мають однаковий вигляд. У них різниться тільки параметр key, який оновлюється не рідше разу на дві години і не частіше одного разу на добу, тому використовувати його можна тривалий час. На думку Фирстова, таким чином можна дізнаватися не тільки текст відправлених і отриманих повідомлень конкретним користувачем, а й службові повідомлення на кшталт «Набирає текст» і «Прочитано».

Щоб мати можливість прослуховувати трафік, влаштуванню зловмисника досить перебувати в одній локальній мережі з жертвою - наприклад, відкритому Wi-Fi в кафе. «Слухати» повідомлення в режимі реального часу необов'язково: можна створювати дампи трафіку через PCAP і розбирати їх по заданій масці пізніше.

Приклад перехопленого трафіку

Як розповів Фирстов, можливість отримувати повідомлення в незашифрованому вигляді закладена в мобільних додатках «ВКонтакте». З якоїсь причини вони передають їх через протокол HTTP, навіть якщо в настройках аккаунта стоїть галочка «Завжди використовувати захищене з'єднання (HTTPS)».

На думку дослідника, HTTPS був відключений спеціально, так як в мобільних додатках прийнято економити трафік, тому представникам «ВКонтакте» він про виявлений способі сніффінга, не повідомляв: «Це не вразливість, а" фіча ", яка спочатку була закладена розробниками».

Навіть при включеній галочці «HTTPS» в налаштуваннях програми дані про повідомлення (вхідні / отримані / різні івенти) передаються все одно по HTTP. Я потестувати і написав невеличкий скрипт, який отримує ці дані з проходить трафіку і розшифровує їх - навіть, скоріше, розставляє по місцях, так як в «сирому» вигляді повідомлення малочитабельні.

Щоб пропустити через себе чужий трафік, достатньо застосувати навіть найпростішу атаку - ARP-спуфінга. Перебуваючи в одній мережі, ми зможемо бачити всі зв'язки, що від чужого пристрою до роутера, а від роутера в інтернет, ну і як наслідок зможемо бачити дані від «ВКонтакте», що проходять по незашифрованому HTTP і виводити їх в легкотравному вигляді.

Параметр key береться з сніффінга всього обсягу трафіку за певною масці. Визначати особу користувача за цим параметром Фирстов поки не навчився, проте вважає, що це можна зробити за непрямими ознаками - наприклад, по IP-адресою або за текстом самої листування.

TJ повідомив представників «ВКонтакте» про спосіб читання чужої листування. Поки невідомо, що стало причиною невикористання HTTPS при передачі особистих повідомлень.

Як уточнив Фирстов, в останньому оновленні програми VK App для iOS передача повідомлень по HTTP була виправлена, але тільки в тому випадку, якщо користувач вказав на сайті «Завжди використовувати захищене з'єднання (HTTPS)».

Як уточнив Фирстов, в останньому оновленні програми VK App для iOS передача повідомлень по HTTP була виправлена, але тільки в тому випадку, якщо користувач вказав на сайті «Завжди використовувати захищене з'єднання (HTTPS)»

Прес-секретар «ВКонтакте» Георгій Лобушкін заявив, що клієнт для iOS використовує HTTPS вже більше року (в ньому немає можливості вимкнути захищене з'єднання), а в разі Android трафік шифрується при включеній опції на сайті або в додатку. Коли саме соцмережа повністю збирається перейти на HTTPS, він не уточнив.

Результати перевірки наших фахівців з безпеки повністю спростували доводи, наведені в статті. Захищене з'єднання HTTPS завжди використовується в нашому додатку на iOS (його не можна відключити). Також воно може бути включено користувачем в настройках в додатку на платформі Android. В такому випадку отримати доступ до листування користувача перехопленням Wi-Fi-трафіку неможливо. У найближчому майбутньому ми плануємо повністю відмовитися від використання HTTP.

Георгій Лобушкін, прес-секретар «ВКонтакте»

За словами Фирстова, користувачі «ВКонтакте» часто не використовують HTTPS, і повідомлення передаються в незашифрованому вигляді: «З Android точно відомо, що якщо в настройках аккаунта не варто галочка поруч з HTTPS, то в додатку все передається у відкритому вигляді - як у більшості , якщо судити по трафіку в публічних мережах ».

джерело

Новости