Все описанные способы были отправлены «Вконтакте» через hackerone, но «Вконтакте» решили, что эти способы не являются проблемами. Решение было принято через 6 месяцев после изменения статуса репорта на «Triaged». Я пытался переубедить, но ответа не увидел.

Многие продемонстрированные ссылки у вас работать не будут, т. к. они разные для всех.

Деанонимизация руководителей сообществ


Через видеозаписи


При ограниченном доступе добавлять новые видеозаписи могут только редакторы и администраторы сообщества.

На странице видеозаписей сообщества есть вкладка «Загруженные», в которой отображаются только видео, загруженные с компьютера. Если видеозаписи сообщества ограничены, то во вкладке «Загруженные» отображаются видеозаписи, которые загрузили руководители. Проблема в том, что прямые ссылки на видеозаписи содержат идентификатор загрузчика. Посмотрев идентификаторы можно деанонимизировать руководителей.

Пример на созданном сообществе: vk.com/club143400909

image

Вытягиваем прямую ссылку или hls-поток на видеозапись: vk.com/video-143400909_456239017
Прямая ссылка: cs632300.userapi.com/4/u237115941/videos/5115525024.240.mp4
Hls-поток: cs632300.userapi.com/video/hls/4/u237115941/videos/5115525024/index-f1-v1-a1.m3u8
Видим, что руководитель — vk.com/id237115941

Пример на сообществе: vk.com/meduzaproject (они разрешили)
Видеозапись: vk.com/video-76982440_456239236
Прямая ссылка: cs632603.userapi.com/1/u1564856/videos/84c5da2b5a.240.mp4
Руководитель: vk.com/id1564856

Видеозапись: vk.com/video-76982440_456239231
Прямая ссылка: cs632606.userapi.com/3/u464017/videos/7ec04da5ac.240.mp4
Руководитель: vk.com/id464017
Всего по всем видеозаписям было найдено 4 руководителя

Также есть возможность деанонимизировать руководителя по обложке от видео с другого источника (youtube, rutube и др.). В ссылке на обложку содержится идентификатор первого загрузчика этого видео на vk.com, т. е. этим способом можно деанонимизировать только зная, что видео загрузил руководитель и он был первый. Это может быть результат конкурса или что-то еще.

Видео: vk.com/video-143400909_456239018
Ссылка на обложку: pp.userapi.com/c836123/u237115941/video/l_5881cb5e.jpg
Видим, что руководитель vk.com/id237115941

Через аудиозаписи


Проблема в том же. Прямая ссылка на аудиозапись содержит идентификатор загрузчика. Нигде не отображается, добавлена аудиозапись из поиска или загружена с компьютера, поэтому этим способом можно деанонимизировать только зная, что аудиозапись загрузил руководитель. Такие аудиозаписи могут выделяться (запись эфира с радио и т. п.).

Аудиозапись в сообществе vk.com/club143400909: Мелодии – Карело-финская полька
Прямая ссылка: psv4.userapi.com/c815220/u237115941/audios/eb9137fb510b.mp3
Видим, что руководитель vk.com/id237115941

Пример на сообществе vk.com/meduzaproject
Аудиозапись: «Медуза» – Как узнать, сколько стоят «фужеры» Собянина?
Прямая ссылка: psv4.userapi.com/c613316/u1564856/audios/1cb08ff13792.mp3
Руководитель: vk.com/id1564856

Через документы


Прямая ссылка на документ содержит идентификатор загрузчика. Зная, что документ загрузил руководитель можно деанонимизировать. Многие загружают информацию о проводимых конкурсах, правила группы.

Пример на созданном сообществе vk.com/club143400909
Документ: 1.ts
Прямая ссылка: cs7064.userapi.com/c812339/u237115941/docs/c134bbccadba/1.ts

Если документ является изображением, то можно деанонимизировать по маленькой копии.

Документ: G.png
Ссылка на маленькую копию: pp.userapi.com/c812235/u237115941/-3/m_56c1679b77.jpg
Видим, что руководитель vk.com/id237115941

По концу идентификатора


Этот способ можно комбинировать с другими способами. Прямая ссылка на загруженное изображение содержит конец идентификатора загрузчика. Можно получить список всех участников сообщества и отобрать тех, у кого конец совпадает. Если сообщество маленькое, то скорее всего в результате будет 1 страница, если большое, то несколько, но там точно будет руководитель. Также можно деанонимизировать автора записи, если в записи есть загруженное изображение. Если сообщество большое и в результате отбора много идентификаторов, то можно получить список нажавших «мне нравится» записи и отобрать (вдруг автор нажал).

Прямая ссылка на фотографию группы: pp.userapi.com/c836123/v836123941/2362f/5TA-jc1s8Q0.jpg
Конец идентификатора: 941
Руководитель сообщества vk.com/id237115941

Прямая ссылка на обложку сообщества vk.com/meduzaproject:
cs7064.userapi.com/c639129/v639129017/92f9/itZoAG-k1GQ.jpg
Конец идентификатора: 017
Руководитель: vk.com/id464017

Деанонимизация главного администратора приложения


В настройках приложения можно загружать иконку приложения 16x16, которая после загрузки получает ссылку, в которой присутствует идентификатор страницы администратора. В ссылке на иконку всегда отображается идентификатор главного администратора, даже если иконку загрузил неглавный администратор, а другой пользователь-руководитель с правами. Также раскрыв администратора приложения, вы еще раскрываете руководителя сообщества приложения, т. к. группу в настройках приложения можно установить, если являешься в ней руководителем.

Ссылка: pp.userapi.com/cЦифры/uИдентификатор_администратора/имя.gif
Поделиться с друзьями
-->

Комментарии (26)


  1. aol-nnov
    06.04.2017 15:26
    -4

    правильно я понимаю, что:

    Способы анонимизации руководителей сообществ и приложений «Вконтакте»
    1) регаем подставное лицо
    2) через него всё заливаем/публикуем приложение/whatever
    3) делегируем все права живому человеку на другом акке
    4)…
    5) ПРОФИТ

    да? :) можно приступать к написанию статьи?

    P.S.: я не особо пользователь вконтакте


    1. Dageron
      06.04.2017 16:05
      -1

      По сути история это боян бояном. Ну и яркий пример фразеологизма «не баг, а фича» (странно, что на hackerone тикет вообще не удалили сразу, как несущественный).

      Имхо, глупо ожидать какой-либо анонимности от веб-ресурса, позиционирующего себя как «соцсеть». Скрытые фото, скрытые друзья, настройки приватности и прочее прочее… Используя одни лишь фичи, можно тех же «скрытых друзей» открыть при минимальном времени, затраченном на аналитику.

      Что же касается администраторов и модераторов сообществ, так руководство большинства более-менее «прошаренных» групп уже давно эту тему знают и, в случае критичности факта персонализированния, используют отдельные страницы для соответствующей работы.


      1. TimsTims
        07.04.2017 09:18
        +2

        Здесь речь не об анонимности, а о том, что во ВКонтакте есть настройки приватности от обычных юзеров (не МВД/ФСБ и не администратор ВКонтакте). А по сути эта фича не работает, ТК можно посмотреть ИД и найти пользователя.


        1. MalHira
          07.04.2017 14:52
          +2

          Там много чего есть… например «возможность» скрывать свою д.р. на странице…

          Вот только эта информацияо д.р. до сих пор вычисляется через поиск людей…


  1. shurupkirov
    06.04.2017 15:29
    +1

    Вопрос: зачем?


    1. Контакты многих сообществ — это и есть модераторы и редакторы
    2. Писать им в личку про рекламу? Будет бан


    1. LoadRunner
      06.04.2017 16:09

      Есть приватные группы, например. Не вступая в такие, доступна часть информации — обложка группы. А уж блок руководителей точно не виден.
      А есть группы, где руководители и модераторский состав нарочно скрывают.


      1. Dageron
        06.04.2017 16:13

        Неумные руководители и модераторы значит. Сферу профессиональной деятельности (страница «администрирование сообществ») и личной жизни (страница «с друзьями-родственниками») следует разделять. Аналогично, личную «леха777.мейл.ру» почту использовать для корпоративных нужд выглядело бы очень и очень странным явлением.


        1. amarao
          07.04.2017 14:09

          В среде админов вполне принято использовать личные email'ы для технических вопросов. Потому что работодатель меняется (вместе с емейлом), а техпроблемы остаются. Если видишь емейл человека в коммите или в whois, то с ним можно связаться и спросить «зачем так». А если там va_pupkin@company.com, то найти этого человека потом почти невозможно.


          1. Dageron
            07.04.2017 15:01

            Но ведь менеджерам и другим сотрудникам очень часто выдают корпоративные почтовые ящики на домене компании. После увольнения, обычно поступившую на них корреспонденцию редиректят на адрес нового сотрудника.


            1. amarao
              07.04.2017 15:40

              Ага. И вот получает новый сотрудник вопрос:

              «Привет, я по поводу твоего коммита в foobar-esoteric, 184c9400855. Ты там явно мог бы использовать матричную параметризацию теста (тесты выше и ниже её используют), но в этом случае ты зачем-то используешь полиморфную фикстуру, которая вместо того, чтобы манкипатчить сокет через httpretty, зачем-то поднимает реальный веб-сервер. Зачем это?».

              И вот «новый сотрудник» отвечает «а я новый сотрудник и я в душе не люблю что тут написано».

              А если бы был персональный емейл, ответ был бы: «потому что когда я попробовал использовать обычный подход с кассетами оно выдавало false positive из-за того, что в сертификате фигурирует сегодняшняя дата, а в кассете записано то, что было в момент написания, но в какой-то момент протухает, и всё ломается. Так что вместо того, чтобы писать простыню патчинга сертификатов, я просто поднимаю на lo сервер, который внутри использует ту же кассету, но записанную по http, а все ssl-детальки берутся в райнтайме и всегда валидны».

              Почувствуте разницу.

              И этот вопрос может возникнуть не только у посторонних людей, но и у (бывших) коллег сотрудника.

              Да, корпоративные фрики скажут, что это нельзя и всё плохо, но технарям так удобнее и эффективнее.


              1. Dageron
                09.04.2017 12:39

                Все это конечно так и наверняка вы правы (в моем сообщении не было оценочных суждений, я описал лишь «как оно есть»)


      1. shurupkirov
        06.04.2017 16:21

        Ааа, понятно.
        Такой вариант я не предусмотрел. Я не думаю, что это может быть интересно обычному пользователю.
        Только органам, сыщикам и кул-хацкерам, т.е. я не назвал бы это уязвимостью анонимности. Анонимности не существует %-)


  1. wildraid
    06.04.2017 16:33
    +1

    Не знаю, как сейчас, а не так давно можно было сравнительно легко деанонимизировать и авторов анонимных постов с картинками.

    В URL картинки была часть, которая указывала на три последних цифры ID пользователя. Далее мы через API выбираем всех подписчиков паблика, фильтруем их по этим цифрам, по полу и примерно возрасту. Далее сортируем оставшихся по дате последнего появления в онлайне.

    Как правило, один из первых юзеров в списке и есть наш искомый автор. У меня где-то даже скрипт лежал, который автоматизировал весь процесс.


    1. Dageron
      06.04.2017 17:00
      +1

      Самое забавное: администратор сообщества при осуществлении процедуры администрирования не обязан в нем состоять.


  1. McDermott
    07.04.2017 14:32

    Как вы получали прямые ссылки на видео- и аудиозаписи, если не секрет? Попробовал просматривать код страницы и не нашел.


    1. red_lobster
      07.04.2017 14:38

      Смотри код к определенной видеозаписи(view-source:https://vk.com/video-143400909_456239017) и ищи там mp4 или смотри запросы, которые браузер отправил при просмотре или прослушивании.


    1. Dageron
      09.04.2017 12:40

      Еще можно через VK API, если представиться официальным приложением любой платформы (ключи от них давно гуляют по сети, да и легко вытаскиваются из пакетов).


  1. povargek
    07.04.2017 14:46

    То есть, они сначала поставили репорту статус Traiged, а через 6 месяцев сказали такое не примут?


    1. red_lobster
      07.04.2017 14:48
      +1

      Да, передумали.

      Медиаконтент может быть добавлен через поиск или подгружен по прямой ссылке — в таком случае отобразится id пользователя, никак не связанного с руководителями сообщества. Мы не считаем это уязвимостью.


      1. Occama
        07.04.2017 16:48

        Я правильно понимаю, что в случае, если видео загружено анонимно от имени группы, то при его открытии под ним будет указано само сообщество, а в случае, если было добавлено через поиск — человек/сообщество, которые его загрузили изначально? То есть, в случае с видео, таким образом получится фильтровать те видео, которые были действительно загружены администраторами?


        1. red_lobster
          07.04.2017 16:49

          Я не помню почему, но я думал, что после загрузки видео в сообщество от подписчика в отправителе должно отображаться сообщество, а не подписчик, поэтому я сделал уточнение про ограничение на загрузку. Сейчас проверил, в отправителе отображается подписчик.
          Выходит, если в отправителе сообщество, то видеозапись загрузил руководитель.


  1. TRiden
    07.04.2017 14:52
    +1

    Мне ваша статься помогла, еее.) Я 4 года пытался узнать админа одного паблика.)) Хоть я давно работаю с апи, про последние 3 цифры не знал раньше.


  1. w9w
    07.04.2017 20:17
    +1

    У меня была похожая история https://habrahabr.ru/post/320408/.
    В очередной раз убеждаюсь, что баг баунти vk нужно обходить стороной и не тратить время на поиск уязвимостей vk.com.


    1. red_lobster
      08.04.2017 01:30
      -1

      Насчет тратить или не тратить время не знаю. Если проблема серьезная, то ее быстро исправят и отблагодарят. Мне за эти закрытые репорты не обидно, т. к. их не стали исправлять.
      Один раз было обидно. Была возможность просмотреть на старых страницах полный email адрес, который в настройках скрыт, если к странице был получен доступ. В итоге проблему устранили, а мне ответили:

      Это контактный email, который раньше выводился в открытом виде в профилях.

      На моей странице и на странице моего друга контактный email совпал с email адресом, который скрыт в настройках. И я уверен многие указывали email адрес, на котором зарегистрирована страница как контактный.
      http://www.pskov.aif.ru/society/education/755810, если бы руферы знали о проблеме, то они бы возможно узнали email адрес Дурова.


  1. ErhoSen
    09.04.2017 18:03
    +1

    После долгого перерыва снова приветствуем сообщество Хабра в возрождённом блоге ВКонтакте и будем рады обратной связи. #324722

    Прекрасный пример обратной связи от сообщество Хабра. Ожидаем теперь обратной связи от вас, apiwoman

    Читаю уже третью статью из этой серии(#320408 , #274215), и у меня возникает вопрос, — вам вообще нужен BugBounty?


  1. Happy_dayZ
    12.04.2017 09:23

    Был в танке, спасибо, просветили.