0,0
рейтинг
12 января 2013 в 08:39

Разработка → Уязвимость в ICQ позволяет получить доступ к архиву переданных через сервис файлов

После приобретения компанией Mail.ru некогда популярного сервиса обмена сообщениями ICQ был изменен способ передачи файлов между пользователями мессенджера. Если раньше файлы пересылались напрямую между отправителем и получателем, то сейчас отправитель закачивает файл на сервер компании, а получатель скачивает его по публичной ссылке. Ссылка на файл имеет вид http://files.icq.net/files/get?fileId=XXXXXX и для получения доступа к закачанному на сервер файлу необходимо знать только её, так как никаких мер, обеспечивающих ограничение доступа к файлу, не предпринимается. Поскольку динамически генерируемая часть ссылки состоит всего из шести символов (цифры или английские буквы в верхнем регистре), это дает возможность получения доступа ко всему архиву переданных в последнее время через ICQ файлов методом перебора. Несложно подсчитать, что всего таким образом доступно чуть более двух миллиардов комбинаций.

Про обнаруженную утечку данных написал блогер ntv в своем дневнике на сайте Живого Журнала. Как отмечается на его странице, сегодня в интернете появилась программа на языке Java, которая использует найденную уязвимость и случайным образом генерирует ссылки в заданном формате, после чего пробует скачать по получившимся ссылкам файлы. Из логов работающей программы видно, что большинство сгенерированных ссылок не соответствуют каким-либо файлам на сервере, часть ссылок ведет на слишком большие изображения или файлы других типов, которые сервер не отдает, но по части ссылок возвращаются закачанные кем-то ранее через ICQ личные фотографии и картинки.



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

Как отмечает блогер ntv, подобной уязвимости подвержен и мессенджер QIP, однако в нем ссылки имеют большую длину, а значит более устойчивы к перебору. Мы же отметим, что около двух лет назад подобная уязвимость была использована для получения доступа к архиву изображений, переданных через фотоприложение Quip для айфона. Как видно, программисты Mail.ru не особенно следят за подобными новостями.

Думаю, лучше всего охарактеризует сложившуюся ситуацию одна из фотографий, полученная с использованием данной уязвимости.



Upd. Уязвимость успешно побеждена, при попытке доступа выдается ошибка. Очевидно, возможность передачи файлов в клиенте ICQ пока также отключена.
Дмитрий Железниченко @dzzh
карма
15,2
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

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

  • +17
    Это даже на ошибку junior'а не тянет.
    • +14
      Это вообще на ошибку не тянет. Такое ощущение, что так и было задумано.
      • 0
        Удивительно, как в такие вроде серьезные компании умудряются попасть столь несерьезные люди.
        Почитайте требования на вакансию какой-нибудь провинциальной веб-студии — волосы дыбом становятся порой от того, что должен знать человек.
        • +39
          серьезные компании

          Подколол
          • +8
            А что? Там пафоса столько, что думаешь «куда же я попал, тут теперь одни супермены работают...»
  • +24
    Что Mail.ру, что QIP больше заботятся о рекламе, чем задумываются о безопасности.
    Им, видимо, на руку то, что их аудитория совершенно не задумывается о последствиях таких «удобств» как пересылка файлов через сервис.
    • +18
      ./Mail.py
    • –4
      Маил.сру
  • +2
    Маилрушечка — отличный полигон для скрипткидди. Дыр — тьма, жертв много
    • –2
      C 2000 года вроде как так уже стабильно :)
  • +20
    Хм, бесплатный фотохостинг
  • 0
    Firefox не может установить соединение с сервером download75.files.attachmail.ru.

    Или прикрыли, или само отвалилось…
    • +3
      Только что проверил по ссылке в первом абзаце — работает со второго раза. Кажется, Mail.ru еще и внезапную перегрузку серверов себе скастовали.
      • +2
        Ага, поменял download75 на download74 и скачалось :)
  • +1
    самое забавное что ссылка с XXXXXX рабочая :) его величество рандом :)
    • +5
      Там рандом немножко подкручен в href.
      • –5
        Кстати, кошке парашют не обязателен — она сама себе парашют.
      • 0
        Ага, я это уже понял, после того как написал комментарий… *facepalm*
  • +1
    Пользуясь случаем хочу спросить — как написать им в техподдержку? У меня троян увёл uin :)
    • 0
      Тоже хочу спросить. ICQ угнали вместе с почтой на рамблере, которая специально для ICQ. Писал в рамблер, писал в ICQ, писал в mail.ru, писал на хабр gornal, ничего хорошего. Хорошо, что угнали и не пользуются.
  • +3
    Мне кажется, что это давно уже было известно, пост датирован 6 авг. 2012 skripters.biz/forum/topic_47512/1#post-432988 просто такой широкой огласки не получило.
  • +8
    Эта «ошибка» была известна с тех пор, как ICQ купили и о ней уже писали на хабре. Но никто ничего похоже не изменил
    • +3
      Тоже показатель.
  • –1
    Похожим способом подбирались id файлов, залитых на iCloud огрызка.
    Возможно наработки из топика читателям пригодятся.
    • +3
      На самом деле iCloud это не совсем CloudApp.
      • 0
        Спасибо за ссылку.
        Но я не являюсь потребителем продукции Apple, я лишь вижу, что есть способ доступа к личным данным пользователей Apple, и лишь это предоставляет для меня интерес. Тем более способ законный, ведь данные по сути своей располагаются в свободном доступе.
        • +4
          Почему вы так ограничиваете круг пользователей CloudApp — у него ведь есть и web-интерфейс, которым могут пользоваться все желающие, независимо от ОС. А вот десктопный клиент у них, да, только под OS X.
          • 0
            Спасибо за ссылку.
            Но я не являюсь потребителем продукции Apple, я лишь вижу, что есть способ доступа к личным данным пользователей Apple, и лишь это предоставляет для меня интерес. Тем более способ законный, ведь данные по сути своей располагаются в свободном доступе.
  • +1
    … в интернете появилась программа на языке Java, которая использует найденную уязвимость и случайным образом генерирует ссылки в заданном формате...

    Старый добрый Picture pump тоже справляется с поставленной задачкой.
  • +12
    Кто-то, кроме русских мамонтов, ещё пользуется ICQ?
    • +4
      Судя по фотографиям — нет :)
  • +5
    А зачем там отдельная программа на яве? Все ведь проще.
    bash + wget/curl
    • –2
      ну не у всех же линукс
    • 0
      и потом у вас полный перебор, а в программе — случайные ссылки
      • +2
        чем случайные ссылки лучше перебора?
        • –2
          Выше вероятность попадания за небольшой отрезок времени. Если же времени очень много, то да, разницы нет
          • +3
            Да ну, и чем это она выше?
            • –3
              нету ссылок в которых три одинаковых буквы подряд, например
              • +4
                Думаете, серверы ICQ специально генерируют ссылки, в которых символы не повторяются много раз подряд?
                Если нет, то вероятность выпадения числа 1111111 или 7777777 из интервала 0..9999999 (для примера) такая же, как и у 5910583 и составляет 1×10-7. При условии, что нам ничего неизвестно о специфике работы ГПСЧ.
      • 0
        Такие ссылки как правило генерируются не рандомом, а накруткой счетчика, числовое значение которого затем переводится в числа и символы (как Base58 для коротких ссылок). Такая реализация наиболее простая и требует меньше проверок. С рандомом в конечном итоге вырастает вероятность генерации уже сгенерированной группы символов и в итоге повторов (на борьбу с которыми будут тратиться ресурсы).
        • 0
          Алгоритм генерации-то неизвестен. А реверсить его это имхо перебор. Да и рандом добавляет в поиск фоток долю азарта
      • +4
        Никто не мешает поставить bash и wget на винду.
        Хотите рандом — да пожалуйста :)
        • –1
          это-то да, но скорее рядовой юзер поставит jvm чем баш
          • +1
            рядовым юзерам это не интересно я думаю
            а у админов и разработчиков cygwin обычно уже стоит
            • +1
              Да что вы, ещё как интересно! Собсно из-за интереса рядовых пользователей оно и взлетело
              • 0
                да не важно, я просто на примере показал что задача простейшая
        • +2
          Имеет смысл ускорить генерацию, вынеся её из цикла, добавить параллелизм.
          pastebin.com/VapaTfZ6
    • +1
      JAVA — психологически моднее у народа :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      там очень длинные ссылки, вероятность попадания будет низкой
      • НЛО прилетело и опубликовало эту надпись здесь
        • +5
          когда зальёте на торрент результат? :)
  • +1
    В майле, похоже, приняли меры от брутфорсеров. Скрипт уже не может подключиться.

    upd.

    они просто отключили сервер files.icq.net
    • +2
      они удалили A-запись на files.icq.net судя по ответу гугловского днс
      • 0
        Похоже. В адресе ссылок менять надо на mail.ru и качается всё как обычно.
      • +1
        сделал замену в скрипте, работает :).
  • НЛО прилетело и опубликовало эту надпись здесь
  • +5
    Интересно. Спасибо. Скачал немаленький архив с фотографиями установок водоочистки и технической документацией на них — мне как раз пригодится :)
  • 0
    Сервис коротких ссылок никто поперебирать не пробовал? Или puu.sh какой-нибудь?
    • +5
      Поперебирать можно, но дело в том, что все ссылки на сервисах коротких ссылок публичны, никто не гарантирует, что ваша ссылка будет видна только вам. А если вы посылаете через мессенджер файл знакомому, то вы уверены, что его никто больше не увидит. Соответственно в данном случае мы имеет дело с утечкой данных, а там — просто интересуемся, какие именно ссылки укорачиваются на этих сервисах.
      • 0
        Пытаюсь найти информацию о гарантии сохранности и защищенности данных при передаче через icq.
        Да мы даже админам в чатик пароли не кидаем, всё через энигму например. Не представляю, как можно передавать что-то секурное вот таким вот образом. По мне, ничем короткие ссылки от других сервисов не отличаются от коротких ссылок icq, разве что подлиннее у icq будет хешик.

        И да, я не про сокращатель ссылок, а про любой сервис типа puu.sh — по передаче скриншотов/файлов/ссылок
        • 0
          Гарантий, думаю, вам никто не даст, тем более что сервис бесплатный. Но есть такое понятие, как репутация. Я так понимаю, что ответственная компания, которая ценит своих пользователей, подобного не допустит. Правда, я аськой лет десять уже не пользуюсь, не знаю, как там в интерфейсе была передача файлов реализована.

          Ну и одно дело, если сервис вам сам публичную ссылку выдает, в этом случае можно понять, что ее кто угодно может увидеть, а другое — если она непрозрачно генерируется под капотом, а вы думаете, что файл из открытых интернетов не виден.
          • 0
            Проблема в том, что никто не пользуется видимо аськой из присутствующих в комментариях и смутно представляет сам процесс) Я сам довольно давно пользовался, и ставить не хочется даже просто чтобы потестировать.

            Но сервису много лет и я уверен, что стояла бы задача защиты файлов от скачиваний — она была бы реализована. Почитал соглашение к файламmail.ru, никаких гарантий на защиту файлов не дается, но предупреждается об обратном.
  • +9
    Кто даст торрент файл на ваши скачанные файлы?
    • +1
      присоединясь к жаждующим :) а то долго ждать когда по фишкам фотки полетят :))
      • +3
        Сходите лучше на r/gonewild, если так уж невтерпеж.
      • +1
        Мне больше интересно изучить статистику файлов, нежели что-то другое.
  • –2
    Кто-нибудь вообще ещё пользуется ICQ?
  • 0
    Насколько я понимаю, это даст картинки только возрастом не больше месяца. По крайней мере спустя месяц у меня ссылки уже не работали.
  • +8
    6.6. Пользователь соглашается, что любые материалы/файлы, размещенные Пользователем на ресурсах Сервиса Файлыmail.ru в открытом доступе, могут быть использованы Mail.Ru по своему усмотрению без выплаты Пользователю какого-либо вознаграждения.

    files.mail.ru/cgi-bin/files/fagreement

    Это не баг, это фича (с)
    • +2
      Ну тогда и Mail.ru пусть соглашается, что любые материалы/файлы, размещенные Пользователем на ресурсах Сервиса Файлы()mail.ru в открытом доступе, могут быть использованы другими Пользователями по своему усмотрению без выплаты Сервису какого-либо вознаграждения.

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

      И вообще изначально было неясно, что передача файлов через аську и эти файлы-мэйл-ру суть одно и то же, только в профиль.
      • 0
        Вот да, всё сводится к реализации передачи в интерфейсе клиента. Если там всё выглядит «защищенным» для юзера, то это косяк интерфейса.
      • 0
        Именно так и происходит: отправляешь с телефона, а приходит ссылка.
    • 0
      Тут указано явное размещение пользователем файлов в открытом доступе. А ведь при передаче файла по аське другому человеку пользователь полагает, что передаёт его только собеседнику.
    • 0
      какая игра слов прям, fag-reement
  • –1
    Вот пример программы на Java (генерирует ссылки). Потом файлик можно скормить wget screen wget -c -t 2 -Q30G -o "log.txt" --directory-prefix "done" -T 5 -A ".zip,.rar,.7z,.jpg,.jpeg,.bmp,.png,.gif,.JPG,.JPEG,.txt,.doc,.psd,.gz,.docx" -i links.txt.

    С числа 60466176 начинаются 6ти значные последовательности (в програмке). Меняя словарь вы измните конечный набор в линках и их порядок.

    Важное замечание тем, кто скачивает файлы через wget: поставьте квоту -Q30G например, это значит, что при превышении 30 гигов (суммарно) скачка отключится и не используйте режим quiet -qc, используйте -c (продолжение) и добавьте лог -o «log.txt», чтобы не захламлять экран. Так как если из 10 миллионов ссылок вы нашли 1000, то 1000 файлов по мегабайту дадут вам 1 Тб (а там по 3 и по 20 метров), а проверив конец лога вы поймете на чем закачка оборвалась.
    • +2
      1000 файлов по мегабайту будет гигабайт, для Тб надо больше миллиона файлов >_<
      • –2
        Спасибо, верно! (не могу поставит +up)
        Суббота, а я уже перетрудился раньше понедельника…
  • 0
    Окончательно починили, похоже.
    • +4
      Поломали, тогда уже.
  • +2
    Майл ру вперде, как всегда.
  • 0
    Эта «фишка» родного клиента или сервиса(протокола)?
    Сторонние клиенты тоже уязвимы?
    • 0
      При чём тут клиенты и протоколы? Файлы доступны по прямым ссылкам.
      • 0
        Следовательно, это сервера ICQ так делали.
        • 0
          Похоже на клиентскую уязвимость. Понятно, что в итоге файлы оказываются на серверах ICQ (т.е. мэйлару), но кривой способ их передачи реализован не на уровне протокола, а как опция в интерфейсе клиента. По протоколу передается только ссылка, как если бы ее просто вставили из буфера обмена. Я бы попробовал передать файл через сторонний клиент и посмотрел сниффером, что там происходит.
          • +1
            Да о чём вы? Файлы тупо выкладываются на файлообменник, вместо того, чтобы передаваться от клиента к клиенту
            • +1
              Правильно. Но вопрос звучал так — это проблема в клиенте, сервере или в протоколе? Я и отвечаю, что скорее всего в клиенте, а в альтернативных клиентах проблема передачи файлов очевидно решается другим способом.
  • +1
    Я считаю, что не работает только потому что не работает линк для скачивания файла (теперь уже и files.mail.ru/files/get?fileId=XXXXXX)
    Сейчас залил файл, попробовал подставить сюда ID файла — не пашет. Такие дела
  • +11
    Лет 5-6 назад я передавал php файл через месенджер IM+ на платформе самбиан. Каковым было мое удивление когда при попытке скачать файл php выполнился а не закачался )))
  • 0
  • 0
    Вы о чём. Это например в Квипе уже лет n-адцать как есть. Использую в качестве файлообменника. Удобно. Для конфиденциальной передачи использую функцию «Передать напрямую». Другое дело, что пользователи по умолчанию об этом не осведомлены явно.
  • +4
    так, и где торрент?
  • 0
    Интересно.
    А это нормально, что переходишь по рабочему URLу files.mail.ru/xxxxxx, где написано что такой файл есть, название и размер, нажимаешь скачать, кидает на «download33.files.attachmail.ru/», и страница выдает — Ошибка 404 — страница не найдена?
    Попробовал на нескольких файлах.
    • 0
      Написал такое — pastebin.com/BRn4TaeK, проверяет наличие файла и начинает скачивать при наличии.
      Но не работает сейчас, т.к. Not found выдает Mail.ru даже на рабочие ссылки.
  • 0
    Нет ничего приятнее, чем тайком подглядывать за чужими сиськами.
    • +1
      Приятнее щупать чужие сиськи
      • 0
        Тайком. Не тайкам.
  • +1
    Я вот одного не могу понять: им что, мешала штатная функция прямой передачи файлов, которая работала с прошлого века?
    Почему говномейлру к чему прикасается, все превращается в говно? Даже традиционный размер окна аськи, который всегда был удобен, и то разворотили на весь экран.
    • –2
      Интриги…
    • 0
      Я вот одного не могу понять: им что, мешала штатная функция прямой передачи файлов, которая работала с прошлого века?

      Возможно, была необходимость передавать файлы юзеру даже когда он в оффлайне.
      • 0
        Логично, но не угадали. Этим руководствовались в квипе, когда делали передачу файлов через сервер.

        Функция передачи файлов через сервер появилась в ICQ одновременно с передачей файлов на мобильных клиентах. Мобильные клиенты ICQ просто не умеют передавать файлы напрямую.
  • –1
    Нифига уязвимость не починили. Все файлы по-прежнему доступны по ссылкам вида files.mail.ru/XXXXXX
    В выдаче этого запроса находим ссылки вида download28.files.attachmail.ru/XXXXXX/a..z/file.txt, удаляем XXXXXX и качаем файл. Единственное, что сделали — это ограничение скорости отдачи и ограничение количества одновременных закачек. Такие дела.
    • +3
      Для новых файлов ссылка стала длиннее:
      files.icq.net/files/get?fileId=E132656500FC40E99DC98575E53616D5
      • 0
        Да, но старые фотографии праздников, котиков, гениталий и документов по-прежнему доступны по коротким ссылкам, например files.mail.ru/Z2S4DP
        Только там они однозначно связаны с емейлом. То есть без проблем можно установить хозяина котика. Написать скрипт для выкачивания изображений, подобный первоначальному — дело получаса.
        • +1
          Только у нас допустив анонимную утечку конфиденциальной информации, могли спасать положение ликвидируя анонимность. Ждем вакансий от мейл.ру на хантиме. Я бы разогнал пол отдела за такое.
  • 0
    Теперь даже files.mail.ru/XXXXXX выдает 404 Not Found — nginx

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.