0,1
рейтинг
10 декабря 2014 в 10:42

Разработка → При запуске реплеев игры World Of Tanks на вашем компьютере может исполняться произвольный код перевод recovery mode

Перевод с reddit.com.

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

Насколько мне известно, любой реплей новее мая 2014г подвержен этой уязвимости. Скорее всего, и более ранние реплеи тоже уязвимы и не заслуживают доверия. В качестве proof of concept прилагаю реплей который открывает окно калькулятора: dl.dropboxusercontent.com/u/19977649/Replay-exploit.wotreplay
Таким образом, вы не должны запускать никакие реплеи до официального фикса от WG

Дополнение

Перед тем, как все это превратится в предъявление претензий саппорту WG, хочу упомянуть, что до этого поста я не сообщал им об уязвимости. Вообще-то именно сотрудник WG Trezvor_WGA очень сильно помог мне в донесении проблемы до нужных людей, они её подтвердили и уже делают фикс.

Почему я не воспользовался багтрекером? Если кратко – я просто не хочу. Это не первая найденная мной уязвимость, и стандартная процедура ловли багов практически не работает. Многие из компаний, которым я сообщал таким способом об уязвимостях, ничего не делали до момента публикации уязвимости в открытом доступе.

Я не хочу сказать что WG – одна из таких компаний. В первую очередь я сообщил им, но я хочу предупредить общественность до отправки тикета, чтобы они были осторожны. Не самый лучший способ заслужить уважение компании, но наиболее надежный способ быстро увидеть фикс.

От переводчика — т.к. это запостили на ОЧЕНЬ посещаемом ресурсе на тематику этого проекта, это наверняка уже используется. Так что берегите себя!
Перевод: KeeperOfTheFeels
Максим Чистов @MaximChistov
карма
3,0
рейтинг 0,1
Java developer
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

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

  • –60
    По теме не в курсе. но вот ошибки сразу в глаза бросаются: паекты и проивольного :)
    • +31
      Для этого есть личка. Но я бы всё это поправил и так, просто хотелось максимально быстро сообщить об уязвимости, которая позволяет выполнить произвольный код на вашем компе с админскими правами, да так, что вы и не заметите.
      • +1
        которая позволяет выполнить произвольный код на вашем компе с админскими правами

        А можно этот вопрос прояснить? Я давно не сижу на винде, но ведь там также есть учетки с ограниченными правами и работать под админом как-бы моветон. Из под ограниченной учетки код тоже будет выполнен с админскими правами?
        • +1
          Естественно, для этого надо сначала WoT.exe под админскими запустить, но он по умолчанию под ними запускается(не знаю, почему)
          Хотя, кмк, при возможности выполнить произвольный код, нехватка админских прав не будет особой проблемой.
          • +1
            Это зачем-то нужно лончеру, сама игра вроде пускается с пользовательскими.
            • +1
              Ну запустится криптовальщик с правами юзера, сильно легче не будет. В смысле, что все пользовательские файлы, в тч бэкапы, обычно доступны на запись владельцу.
            • +1
              Как понимаю лончеру нужны админские права, чтобы обновить файлы приложения. В винде давно уже пора сделать нормальный централизованы апдейтер, чтобы разработчики не писали дырявые велосипеды под это дело.
            • +1
              Если смущают админские права — перенесите игру из Program Files в другое место, просто скопировав все файлы. Я, например, вообще держу на отдельном разделе (D:\Games) — оно нормально живёт даже после переустановки винды, не надо снова выкачивать.
        • –16
          Насколько мне известно, WoT от мэйлру и соответственно имеет систему GameGuard.
          Обычно такая защита внедряется всюду где только может пролезть, и требует адмиских прав — без них свою задачу подобный софт выполнять бы не смог. Возможно я чего-то не знаю, но за то время что я знаком с Windows, я не видел ни одной системы GameGuard, что работала бы без админских прав. А раз надо запускать игру от админа, то и реплей должен выполниться с теми же правами.
          • +9
            Насколько мне известно, WoT от мэйлру и соответственно имеет систему GameGuard.


            image
            • +4
              Оу, спутал с другими танками, ловлю гнилые помидоры и каюсь в грехе.
              Но всё же GameGuard имеется.
              • +1
                GameGuard-а в танчиках нет.
                Но ланчер при запуске кажется требует админских прав.
                • +1
                  нет.
                  • +1
                    Требует, если игра установлена в Program Files. Без админских прав винда туда не даст писать. Можно установить в другое место — тогда не требует.
                    • 0
                      Спасибо за уточнение. У меня-то игрушки все по-старинке в C:\Games\ :)
        • +1
          Я давно не сижу на винде, но ведь там также есть учетки с ограниченными правами и работать под админом как-бы моветон.
          Аналогично. Сам удивлён, сколь огромное кол-во популярных программ, будучи установленными от локального админа «для всех пользователей», глючат или даже не работают под юзером (смотрел на Windows 7).

          А особые «экземпляры» (uTorrent / BitTorrent) если запустить от админа, разрешить там сделаться дефолтным обработчиком torrent/magnet в ОС и в браузерах, перелогиниться юзером — не нашёл никакой возможности запустить ту же прогу или её дистрибутив (искал очень долго). Лезет в админскую аппдату и обламывается. Решение только такое: для админа uTorrent, для юзера BitTorrent (или наоборот).
    • +2
      Учту на будущее.
    • +1
      Багрепорт на багрепорт? )
  • –18
    Свои реплеи не смотрю уже давно. Чужие и подавно. Что-то интересное? Зафрапси, оформи и на ютуб/вимео, тогда может быть и посмотрим.

    Но за потыкивание в их очередную криворукость благодарю. Про глюко-баги в их якобы супер-пупер мега рассчетах всяких там баллистических траекторий и вычислений бронепробития вообще уже не принято говорить, такое ощущение, что для экономии вычислительных ресурсов заоверрайдили метод willPenetrate на return rnd(50); =)

    • +11
      — Вот это я отжог сейчас на батчате, мастер, воин и еще 100500 медалек!
      — Да ты че? Я вот чота сливаюсь на бате, покажи реплей?
      — Лови!
      — Не не не, ты сначала, зафрапси, оформи, залей на ютуб\вимео и есть шанс, что я его посмотрю.
      — ???
      • –14
        Ну да, что я там не видел в этих мастерах? :-) Ты же понтуешься и хочешь показать свою крутотень, вот и напрягайся, чтобы другим было удобно и безопасно. Хотя если минусующие из разряда раков 48%ных, то ога.
        • 0
          Не могу понять, причем здесь процент побед? Если человек не согласен с вашей точкой зрения, значит он рак? Может здесь есть логика, но она ускользает от меня.
          >>Ты же понтуешься и хочешь показать свою крутотень
          Понтуешься? Показать крутотень? Как давно это все было, где то в прошлой жизни. Что то подобное ассоциируется с курилкой 11классников в школе, там были такие ценности и термины. Бой прошел, азарт, гордость и остатки адреналина еще стучат в висках. Хочется поделиться радостью, с одноклановцами, друзьми, ну или кем там еще не знаю. Причем здесь и сейчас на волне фана. А через пару часов уже не совсем то.
          • –1
            Так и я о том же. «Вот это я отжог сейчас на батчате, мастер, воин и еще 100500 медалек!» — я что ли придумал и спроецировал на кого-то? Просто уже отснятого материала настолько много в интернете, оформленного, с коментариями, что я давно уже не качаю никаких реплеев, сам никому не даю, потому что куда быстрее и проще найти интересный материал на ютубе, чем обычно разумный человек, который «Я вот чота сливаюсь на бате» и занялся бы. И именно об этом и был мой ответ.

            А процент побед зачастую напрямую коррелирует с аналитическими способностями индивидуума. А за процентом и эффективность такая же обычно. Ну, или наоборот, сначала эффективность, а оттуда уже и процент побед. Причем картошка как ни пытается нивелировать скилл одних, за счет введения овер 9000 рандома и глюкобагов, так все не выходит угодить своей целевой аудитории. Чем и привлекательна сия игра, несмотря на все факапы и фейлы бульбашей :-)
            • 0
              Долго писал, но в какой то момент понял, что мы мыслим разными категориями. И пытаться донести мысль, почти нет шансов. У меня эмоции, отдых, друг. У вас рейтинг, полезность, процент.
              >>Просто уже отснятого материала настолько много в интернете, оформленного, с комментариями…
              Напомнило
              Поручик Ржевский пришел в незнакомую компанию. Люди сидят и говорят друг другу:
              — Пятнадцатый! Все смеются.
              — А двадцатый-то, двадцатый! Еще сильнее хохочут.
              — Триста пятьдесят шестой! Опять смех. Поручик спрашивает:
              — Что это вы делаете?
              — А мы анекдоты рассказываем. Но так как мы все их давно рассказали и наизусть выучили, то для экономии времени мы их пронумеровали.
              — Интересно, — говорит поручик. — Сто семнадцатый! Тут мужчины смущенно ухмыляются, а одна дама подходит к поручику и дает ему пощечину. Ржевскому объясняют:
              — Мы при дамах неприличных анекдотов не рассказываем.
              • 0
                Я бы понял такой подход, если бы ты играл с ботами или в оффлайне, либо от твоих действий ничего особо не зависело для других. Но тут страдает команда по итогу. А в ней не только такие, кому удовольствие от поехал-слился-весело-в-ангар. Но это же так по-русски — мне хорошо, а на остальных как бы и пофиг.

                А потом вот таких «отдыхающих» по 9 штук в твоей команде: puu.sh/dqmD7/9476f21d85.jpg

                Да я и это понимаю, и почему минусуют тоже понимаю :P
                • 0
                  >>Но это же так по-русски — мне хорошо, а на остальных как бы и пофиг
                  Не стройте из себя жертву. Играйте в команде, роте, укрепрайонах, ГК. Никто вам ничем не обязан. Когда вы в рандоме нажимаете кнопку «В бой», вы автоматически соглашаетесь, с тем, что в команде у вам может оказаться 14 ботов. На серверах по 50-70т человек сидит. Не обязаны люди, относиться к игре как к спорту, если у вас иначе, для вас есть другие режимы игры. Или другие игры, выберите нужное для себя, что бы не выплескивать оскорбления и свое раздражение на окружающих. Вы хорошо играете в какую то одну из игр, он хорошо воспитывает сына и не факт, что вы воспитываете ребенка так же хорошо как он. Ему нельзя играть в танки а вам нельзя заводить детей?

                  У меня достаточно невысокий процент побед, но подборка таких скринов, тоже есть(я в ней не внизу).
                  • 0
                    Не пойму, чем подход «играйте в команде, роте, и т.п.» отличается от моего «играйте в оффлайне или там, где от вас ничего не зависит, типа каких-то соло компаний в онлайне»? И я, вроде, не выплескивал ничего, а лишь заметил, что криворукая картошка в очередной раз облажалась. Тем не менее, концептуально игра для меня подходит, приносит много лулзов и батхерта, за что и любим (с).
                    • 0
                      >>Не пойму, чем подход «играйте в команде, роте, и т.п.
                      Тем что в танки нельзя играть с ботами или в оффлайне как минимум? Тем что если вам не нравятся союзники в рандоме, вы имеете возможность их сменить, и оставить при себе свои скрины? То есть вы можете сделать так, что бы в союзниках не было случайных игроков, а случайные игроки сделать так что бы вы не попадали к ним в союзники не могут.
                      >>И я, вроде, не выплескивал ничего, а лишь заметил…
                      Приношу свои извинения, я спутал вас с теми малолетними идиотами игроками, которые в начале боя начинают орать что команда гавно. Не считайте оскорблением.
                      >>Тем не менее, концептуально игра для меня подходит, приносит много лулзов и батхерта
                      Так и не понял вам все нравится или вас не устраивают союзники в рандоме?
                      • 0
                        Почему нельзя? Есть игры на эту тематику оффлайновые. Дальнейшие рассуждения теряют смысл комментирования.

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

                        Меня все устраивает, кроме некоторых моментов. Все эти плюс-минус 25% и залипающий генератор случайных чисел, плюс некоторые другие «гениальные» идеи от руководства сей конторы направленные на нивелирование скилла нормальных игроков, дабы ЦА не почувствовала свою более чем полную унылость и не бросила донатить.

                        То есть как бы и пофиг на эти тела крабообразные в команде… поправить некоторые досадные баги (ну, типа снаряди сквозь танки летают с заметной периодичностью и т.п.), и уменьшить вот эти вот 25% во всем, а про голду совсем молчу, что, однако, тоже внесло некислый дисбаланс в игру, но, видимо, приносит кучу доната проекту, раз не могут отказаться от этого или каким-то образом ограничить/изменить.

                        Так что вот :-) Надеюсь моя позиция ясна.
  • +1
    Новость уже и на сайте ВГ опубликовали
    Replays attention!

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