Как бесплатный VPN на телефоне менеджера слил базу клиентов конкурентам: технический разбор
Пароли, антивирус и 2FA не спасли — канал утечки прошёл мимо всей защищённой инфраструктуры, через приложение, которое сотрудник поставил себе сам «для удобства».

Собственник оптовой компании, торгующей стройматериалами по всей России, был уверен: данные под защитой. Сложные пароли, антивирус на компах, двухфакторная аутентификация в CRM. А утечка пришла из телефона менеджера — точнее, из бесплатного VPN-приложения, которое тот поставил сам, чтобы заходить на заблокированные сайты в обед.
Повод для аудита был конкретный: два крупных клиента ушли к конкуренту буквально через неделю после переговоров о новых условиях. Совпадение? Владелец так не думал, но доказать ничего не мог — все стандартные точки контроля были чистыми.
С чего начинался аудит
Проверка почты, CRM и доступов в 1С ничего не дала: пароли меняются по регламенту, MFA включена, доступы бывших подрядчиков давно отозваны. Логи авторизаций в CRM — без аномалий, IP-адреса привычные, гео совпадает с офисом. Стандартный чек-лист «внешний взлом» закрылся быстро и безрезультатно.
Дыру нашли не в серверной инфраструктуре, а при осмотре рабочих телефонов: на трёх из пяти устройств менеджеров — один и тот же бесплатный VPN из официального магазина приложений, с несколькими миллионами установок и рейтингом 4.5.
Почему это вообще дыра
VPN на Android работает через системный сервис android.net.VpnService — приложение получает право заворачивать весь IP-трафик устройства в свой туннель, включая DNS-запросы, трафик мессенджеров и открытые в браузере страницы CRM. Это не побочный эффект, а прямое назначение разрешения BIND_VPN_SERVICE.
Вопрос в том, кто стоит на другом конце туннеля. Условно-бесплатный VPN содержит сервера, трафик, поддержку — за это кто-то платит. Разработчик монетизирует это данными пользователя: обфусцированные SDK для аналитики, продажа метаданных трафика брокерам данных, иногда — прямой MITM с подменой TLS-сертификата для «оптимизации» или инъекции рекламы.
Как это эксплуатируется
Ниже — типовая цепочка, которую проходит либо оператор такого VPN-сервиса, либо аналитик, воспроизводящий инцидент в лаборатории для доказательства утечки.
Шаг 1. Разведка установленных приложений
При аудите телефона (с согласия владельца устройства) смотрим список установленных пакетов и их разрешения:
adb shell pm list packages | grep -i vpn
adb shell dumpsys package com.example.freevpn | grep -A5 "requested permissions"
Типичный вывод для бесплатных VPN-приложений:
android.permission.BIND_VPN_SERVICE
android.permission.ACCESS_FINE_LOCATION
android.permission.READ_PHONE_STATE
android.permission.QUERY_ALL_PACKAGES
Уже здесь тревожный звонок: VPN-клиенту не нужны геолокация и список всех установленных приложений, чтобы шифровать трафик. Это признак встроенной аналитики/рекламного SDK.
Шаг 2. Реверс APK
apktool d freevpn.apk -o freevpn_src
jadx-gui freevpn.apk
В декомпилированном коде и AndroidManifest.xml ищем домены телеметрии, названия SDK (часто это широко известные рекламные и аналитические трекеры), захардкоженные сертификаты для собственного MITM-прокси. Проверить набор трекеров быстро можно и без реверса — через сервис Exodus Privacy, который сканирует APK и выдаёт список встроенных трекеров по хэшам сигнатур.
Шаг 3. Анализ реального трафика в туннеле
Поднимаем прокси между тестовым устройством и интернетом, чтобы увидеть, что происходит с трафиком после включения VPN:
mitmproxy --mode transparent -p 8080
Смотрим DNS: даже если приложение обещает "no logs", часть бесплатных VPN не форсирует DNS через туннель (DNS leak) — запросы уходят напрямую через провайдера, светя все посещаемые домены, включая внутренний адрес CRM:
tcpdump -i any port 53 -n
14:02:11.442201 IP 10.0.0.2.51345 > 8.8.8.8.53: crm.company-domain.ru A?
Если у VPN-сервиса стоит собственный корневой сертификат (часто предустановленный на устройстве при первом запуске под видом «оптимизации соединения»), то TLS полностью прозрачен для оператора сервиса — то есть переписка в мессенджерах и данные в веб-версии CRM видны в открытом виде.
Шаг 4. Обход pinning в мобильном клиенте CRM (если он есть)
Если менеджеры пользуются мобильным приложением CRM с certificate pinning, это не панацея — pinning на неуправляемом устройстве обходится инструментами динамической инструментации:
frida -U -f com.crm.mobile -l bypass-pinning.js --no-pause
После обхода pinning тот же MITM-прокси видит токены авторизации, JSON-ответы API с карточками клиентов, суммами сделок и условиями — то есть именно то, что «слил» конкуренту в реальном кейсе.
Шаг 5. Использование добытых данных
Дальше — не взлом, а простое использование украденных данных: перехваченный auth-токен позволяет обратиться напрямую к API CRM без пароля и без MFA (MFA защищает вход в веб-интерфейс, но не токен уже открытой сессии):
curl -s https://crm.company-domain.ru/api/v1/deals \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." | jq .
Итог — полная выгрузка сделок, условий, контактов ЛПР конкуренту без единого «взлома» в привычном смысле.
Полутехнические пруфы: это не единичный случай
- Классическое исследование CSIRO/UC Berkeley «An Analysis of the Privacy and Security Risks of Android VPN Permission-enabled Apps» (2016) проанализировало 283 Android VPN-приложения: у 18% не было шифрования трафика вообще, 38% содержали вредоносный код по классификации VirusTotal, а подавляющее большинство передавало трафик третьим сторонам через встроенные SDK.
- Отраслевые отчёты (Top10VPN и аналогичные) регулярно фиксируют, что часть популярных «бесплатных» VPN в сторах формально принадлежит компаниям с непрозрачной юрисдикцией и структурой владения, скрытой за цепочкой холдингов.
- Технический признак в логах корпоративного сегмента: если на периметре стоит NGFW или Zeek/Suricata с DNS-мониторингом, резкий рост DNS-запросов к доменам известных VPN-провайдеров с мобильных подсетей — это триггер для проверки устройств, даже если сам трафик потом идёт зашифрованным туннелем.
Дыра была не в 1С и не в почте — она сидела в кармане у сотрудника, в приложении с миллионом скачиваний и нулевой ответственностью за утечку
Что и почему сработало бы дальше
Получив доступ к трафику одного устройства, атакующий (в широком смысле — оператор недобросовестного VPN-сервиса, продающий доступ или данные) может пойти дальше:
- Собрать список внутренних доменов и IP из DNS-запросов и SNI — это готовая карта инфраструктуры компании без единого сканирования извне.
- Использовать перехваченные cookies/токены сессии CRM для повторного входа с другого IP — большинство CRM не проверяют «отпечаток устройства» при каждом запросе API.
- Через перехваченную переписку в мессенджерах выяснить условия сделок, скидки, персональные данные ЛПР клиентов — именно этим и объясняется точное совпадение условий у конкурента.
- При наличии доступа в 1С через веб-клиент — использовать те же перехваченные учётные данные для более глубокой разведки: выгрузка контрагентов, цен закупки, маржинальности.
Сколько это стоило компании
Средний чек с одного крупного клиента у компании — около 400 000 ₽ в месяц. Ушло два клиента. За три месяца, пока искали причину, упущенная выручка превысила 2 000 000 ₽ — без учёта репутационного эффекта: конкурент явно знал условия сделки ещё до финальных переговоров.
Как закрыли за неделю
Чинили не технологию как таковую, а управляемость устройств — до этого IT-отдел вообще не видел, что происходит на телефонах менеджеров.
- Развернули MDM на базе Android Enterprise (work profile), чтобы IT видел список установленных приложений на рабочих устройствах и мог удалённо блокировать нежелательные:
# пример политики через Android Management API { "applications": [ { "packageName": "com.example.freevpn", "installType": "BLOCKED" } ] } - Поставили корпоративный VPN на отечественном решении с централизованным управлением ключами и политиками, запретив установку сторонних VPN и мессенджеров вне разрешённого списка (allowlist приложений на уровне MDM-политики).
- Настроили алерт руководителю в мессенджер при попытке установки постороннего приложения на управляемое устройство.
- Закрыли доступ к CRM с личных устройств без корпоративного профиля — только через VPN-туннель компании или мобильный клиент с обязательным certificate pinning и проверкой целостности устройства (root/jailbreak detection).
- Провели короткий инструктаж для менеджеров: почему бесплатный сервис в 2025 году почти всегда монетизируется данными, и как проверить приложение перед установкой (Exodus Privacy, отзывы, разрешения в манифесте).
Технические меры на стороне CRM/инфраструктуры
- Включить проверку привязки токена сессии к устройству/IP-диапазону, чтобы кража токена без физического доступа к устройству не давала полноценного доступа.
- Настроить короткий TTL для access-токенов API и обязательный refresh с повторной проверкой MFA для чувствительных операций (экспорт данных, массовая выгрузка сделок).
- Включить логирование и алертинг на аномальные объёмы выгрузки через API (например, более N записей за один запрос — сигнал для блокировки и ручной проверки).
На всё это ушло меньше недели и сумма в разы меньше одного упущенного клиента. Дальше компания платит за такое спокойствие ежемесячно — копейки по сравнению с тем, что теряла раньше.
Почему это типовая история
Большинство бесплатных VPN-приложений для смартфонов так или иначе передают данные пользователей третьим лицам — это не редкое исключение, а массовая практика, подтвер