Хакер утверждает, что превратил поиск и использование недостатков популярных ММО видеоигр в доходную полноценную работу
Персонаж Манфреда неподвижно стоит в виртуальном мире научно-фантастической многопользовательской игры 2014 года WildStar Online. Манфред, живой человек, управляющий персонажем, вводит команды в отладчик. За несколько секунд вроде бы простейшего хака количество виртуальной валюты Манфреда взлетает до более чем 18 000 000 000 000 000 000 единиц, или 18 квинтильонов.
Я наблюдаю за этим в демонстрационном видео, записанном Манфредом, стоя рядом с ним в баре Лас-Вегаса в четверг. Манфред, попросивший меня не называть его настоящего имени, говорит, что занимается взломом нескольких видеоигр уже 20 лет, и зарабатывает реальные деньги на взломах, подобных тому, что я сейчас видел. Его образ действий немного отличается от игры к игре, но, по сути, состоит из обманных действий, заставляющих игры выдавать ему предметы или валюту сверх положенного. Он продаёт эти предметы или валюту другим игрокам за реальные деньги или сбывает оптом на серых рынках онлайн-игр, к примеру, Internet Game Exchange, которые затем продают эти виртуальные вещи игрокам.
По текущему курсу Манфред предполагает, что у него есть золота из WildStar на $397 миллионов. Это огромное число, но его доход ограничен только ёмкостью реального рынка для внутриигровой валюты.
Когда я беседовал с Манфредом до его доклада на хакерской конференции Def Con, он сказал, что хочет пойти туда, отдать эту демку, и уйти «как призрак», чтобы его больше никто не видел и не слышал. Он сказал, что хочет быть «невидимым», как в последние 20 лет. Он обнаружил больше сотни неизвестных широкой публику уязвимостей в более чем 20 онлайн-играх, и превратил взлом и торговлю виртуальными товарами в полноценную работу.
В отличие от большинства хакеров игр, Манфред не использует читы для получения преимущества над соперниками. Он взламывает игры, потому что живёт этим.
«Лучшие взломы – незаметные, потому что ты меняешь правила так, что никто не понимает, что происходит, – говорит Манфред. – При взломе видеоигр основная цель – быть невидимым. Вам не надо мешать игрокам, вам не надо, чтобы игровая компания узнала о вашем взломе. Вам даже не надо, чтобы они узнали, что то, что вы делаете, вообще возможно».
В субботу Манфред вышел из тени и рассказал свою историю впервые во время своего выступления. Сначала он хотел взломать WildStar Online на глазах аудитории, использовать неизвестные уязвимости нулевого дня так, чтобы его доклад не записывали. Но организаторы конференции сказали ему, что все выступления обязательно записываются, поэтому он не стал делать взлом вживую – к большой досаде аудитории.
Начав с Ultima Online, одной из первых массивных мультиплеерных онлайн-игр, Манфред искал способы взламывать игры, чтобы получить виртуальные деньги или товары, которые он затем продавал сначала на eBay, а потом на китайских онлайн-рынках.
Манфред, отказавшийся рассказать, сколько денег он заработал за карьеру, говорит, что он не занимался читингом, чтобы победить других игроков. Он считает себя поставщиком услуг: он предлагал внутриигровые покупки ещё до того, как они появились.
«Мне не нравится называть их 'хаками', — смеясь, сказал мне Манфред. – Это больше похоже на поиск непреднамеренных возможностей в протоколе.
Первый взлом
Всё началось в 1997, когда он играл в Ultima Online. В то время в интернет он выходил по диалапу, из-за чего его постоянно убивали игроки с лучшим интернет-соединением. Чтобы компенсировать неудачи, он нашёл способы обмануть игру.
Один раз от скуки он обнаружил ошибку, которой суждено было изменить его жизнь. В Ultima Online существовал ограниченный набор домов, которые можно создавать в игре, поэтому этот ресурс был редким. Манфред говорит, что обнаружил способ удалять дома других игроков и получать контроль над их территорией, что позволяло ему строить больше домов, чем это обычно позволялось.
Однажды ему пришла в голову идея выставить замок из Ultima Online на eBay и посмотреть, купит ли его кто-нибудь. В результате он продал его почти за $2000 (он говорит, что с тех пор продал почти 100 домов по средней цене в $2000).
»Да это же реальные деньги! – вспоминает свою мысль Манфред. – Они помогли мне оплатить обучение в колледже. Я продавал дома и замки из Ultima Online три-четыре года подряд".
Персонаж Манфреда (в фиолетовых одеждах) после кражи дома
Но Ultima Online была только началом. Манфред утверждает, что за последние двадцать лет нашёл способы взломать и заработать на нескольких играх: Lineage 2, Shadowbane, Final Fantasy XI, Dark Age of Camelot, Lord of The Rings Online, RIFT, Age of Conan, Star Wars New Republic, Guild Wars 2, и других.
«Я был оптовым поставщиком для большей части этих игр», – говорит Манфред.
К примеру, в игре Dark Age of Camelot Манфред обнаружил уязвимость, позволявшую ему выходить и снова входить в игру так, что игра этого не замечала, в результате чего он мог клонировать своего персонажа и содержащиеся у него ценные вещи.
«Я мог создать столько денег, сколько хотел. Это было незаметно другим игрокам и компании, создавшей игру, – говорит Манфред. – Это был 12-летний источник прибыли».
Большую часть времени его взломы проходили незамеченными. Одним исключением стала Shadowbane. Эту игру, по его словам, было так легко взломать – хакеры могли отправлять на игровые сервера любые данные, и игра им верила – что созданный им и другими игроками хаос описывали в журнале Wired в 2003-м.
«Это был мой последний злонамеренный взлом, – сказал Манфред. – Затем я ушёл в подполье и делал всё, чтобы мои взломы оставались незамеченными».
Манфред говорит, что он, возможно, единственный человек, зарабатывающий взломом игр так долго. Но существует множество других людей, занимающихся взломами, чтобы обмануть игру и победить. Вероятно, есть и другие, занимающиеся этим за деньги, поскольку некоторые найденные им уязвимости достаточно легко найти хакеру с сильной мотивацией.
Сейчас это «Дикий Запад», говорит он. «Можно заработать много денег, и много людей занимаются этим каждый день».
И не только хакеры-одиночки. В 2011 году в Южной Корее группу хакеров арестовали и обвинили в работе над взломами видеоигр и зарабатывании денег для Северокорейского правительства. Полиция Южной Кореи сообщила, что команда хакеров заработала $6 млн за два года.
Выход из тени для всеобщего блага
Для Манфреда текущий выход из тени – шанс продемонстрировать миру, что в видеоиграх нужно серьёзнее относиться к безопасности. Большая часть сделанных им за 20 лет хаков, по его словам, основывалась на очень схожих ошибках.
«Это всё такой день сурка, ты играешь в игру, находишь уязвимости, тебя банят, ты переходишь на другую игру», – рассказал Манфред во время доклада.
Манфред говорит, что теперь закончил со взломом видеоигр. В прошлом году он прекратил этим заниматься и получил работу в консалтинговой фирме.
«Это было хорошее время», – сказал он мне. Но он покончил с этим, поскольку бизнес-модель видеоигр поменялась. Поскольку сейчас множество компаний зарабатывает на внутриигровых покупках, он не считает честным соревноваться с их экономической стратегией.
«Мне стало неудобно заниматься тем, что я делал», – говорит он.
Взлом WildStar Online вживую должен был стать последним взломом видеоигры для Манфреда. Но он решил не делать этого. После доклада Манфред рассказал мне, что сообщит об уязвимости в NCSOFT — компанию, сделавшую WildStar Online — и поможет его исправить.
Возможно, взлом видеоигр и похож на Дикий Запад, но сейчас Манфред направляет своего коня в закат.
Комментарии (30)
pyrk2142
21.08.2017 19:58Уровень безопасности некоторых игр просто поражает. Например, лично сталкивался с тем, что в одной онлайн-игре была неправильно сделана система бана пользователя, так что человек с небольшим опытом работы с API мог входить на заблокированные аккаунты. Благодаря этому, за некоторую сумму денег можно было вытащить игровые ценности с заблокированного аккаунта, главное, чтобы это не заметил никто из тех, кто знал про бан аккаунта.
Oplkill
22.08.2017 12:18+2Видел одну игру, в которой когда игрока банили, появлялось игровое окошко с сообщением, что его забанили за использование читов, с одной кнопкой «ОК» и вот если игру закрыть, не нажимая на эту кнопку, то бана не было…
rrrrex
21.08.2017 20:16Если средств и ресурсов хватает, то можно сделать песочницу на сервере, игрок взломать игру не сможет, только сервер. Те же Rockstar жмотятся на серваки и сделали Gta online p2p, а в итоге количество читеров зашкаливает.
sumanai
21.08.2017 21:54+1Если средств и ресурсов хватает, то можно сделать песочницу на сервере, игрок взломать игру не сможет, только сервер.
Так и работает большинство MMO, но сервера не без уязвимостей, и их как раз и ломают.Demogor
22.08.2017 12:30+1Я вам таки больше скажу, в свое время не раз видел как народ ухахатывался над теми, кто спрашивал, как взломать онлайновую игру через artmoney или cheat engine. Как показала практика, если найти подходящую уязвимость, это вполне возможно)
AFakeman
21.08.2017 20:44Неужели разработчики не отслеживают в автоматическом режиме такие вещи, как внезапное появление 18 квинтиллионов внутриигровых денег на одном персонаже?
pyrk2142
21.08.2017 21:07+2Не всегда инструменты позволяют это сделать. Например, локализаторы многих игр по договору имеют доступ только к ограниченному числу инструментов и логам. Остальное недоступно. И с таким ограниченным набором бывает очень сложно вычислить аномалии. Особенно, если это требует хорошего знания игры (например, персонаж выполняет какие-то странные действия в одиночном инстансе, из босса падает дорогая вещь, которую на черном рынке человек продает за 1000 рублей). Несколько таких походов в день, можно неплохо жить. А поймать это гейм мастеру без информации со стороны сложно.
x67
22.08.2017 10:16Иногда бывает технически сложно или дорого получить/связать/визуализировать те или иные данные
Demogor
22.08.2017 12:01+4Я какое-то время держал фри-сервер одной игрушки+знал в общем и целом обстановку на официальном русском сервере.
Фокус вот в чем: далеко не всегда локализатору предоставляют исходники, а от разработчиков ответа добиться и дождаться патча сложно. К примеру, когда в открытый доступ на ютубе выложили фокус, позволяющий рисовать из воздуха предметы, китайцы фиксили его пару месяцев, если не ошибаюсь(хотя фиксов там было пара строчек, я делал такое со старыми исходниками, утекшими в сеть).
Вообще, что бы вы понимали — средней руки ММОшка с хреново написанным кодом(это я про все ту же игру) занимает метров 300 чисто исходников. В собранном виде эта ересь весит гигабайты. Не зная сути бага, найти его крайне затруднительно. А вот если знать, как его воспроизвести — иногда можно закрыть и без доступа к исходникам.
Кроме того, иногда можно вычислять читеров по определенным параметрам в БД(я так вычислял тех, кто рисует шмотки(пока не закрыл это в исходниках), в автоматическом режиме — правда уже не помню, как именно).
Еще печально то, что даже зная о баге, не всегда можно его закрыть, не имея определенных инструментов или тех же исходников. Забавно было, когда я на 1 пиратке пытался махнуть описание sql-inject'а и способы его фикса на патчи, контактируя с админами через клиент игры(накинул себе права ГМа и системными функциями нашел ГМов онлайн), словил от них бан при обращении(среагировали на левого ГМа). Что бы снова зайти в игру, используя этот баг, понадобилось минут 5-10 — после этого выслушали и забили болт. Года через пол вроде как пофиксили, не тестировал, не в курсе.
Вообще, занимаясь параллельно исследованием багов и содержанием собственного сервера, собрал прорву информации и игре(ну и кучу лулзов, было забавно).
Demogor
21.08.2017 20:55+17Долгое время играл в 1 игрушку(клиентская MMORPG), в какой-то момент надоело просто играть, начал заниматься сначала разработкой под нее разного рода аддонов/макросов, немного ковырял существующего бота, пробовал писать свои тулзы(собственно, на этой игре и учился кодить).
В какой-то момент начал заниматься реверсом игры — оказалось весьма увлекательным занятием. Первый свой баг я нашел где-то через год игры и он базировался на чужом(можно было использовать некоторые низкоуровневые «гм»-команды, подправив память). Собственно, ничего шибко интересного там не было(поначалу) — но 1 из функций позволяла изучать рецепты удаленно, не подходя к NPC.
Я запустил в цикле проходку по всем ID, которые были в игре(не только по рецептам). Представьте мое удивление, когда из ниоткуда у меня появилось что-то в районе миллиона игровой валюты.
Позже мне попались в руки исходники сервера этой игры(утекли в паблик), из интереса посмотрел, в чем был прикол. Баг был довольно нетривиальным и работал так:
Под каждый тип объектов(вещи, рецепты, NPC и т.д.) использовались специальные базы, которые считывались в union из кучи struct'ов под каждый тип объекта. Прикол был в том, что если скармливать функции левые ID, менялись оффсеты и типы данных. Для определенных данных это значение уходило в минус, что и позволяло получать миллиард валюты из воздуха.
Это был самый легкий баг, который прожил около 4 лет. Но дальше было куда интереснее.
2 баг мне подсказал знакомый, который нашел способ рисовать характеристики на вещах. В какой-то момент я экспериментировал с разными вещами и открыл так называемые «гаши»-специальные «пакеты», в которых на сервере утрамбовывалось до 8 вещей. ID вещей записывалось в «статы» «гаши» как ID_COUNT, что привело к тому, что в момент, когда я открыл несколько разных гаш, выпал какой-то левый квестовый предмет.
В итоге можно было открывая эти «гаши» получать любые вещи(включая гм-овские, правда, на часть из них требовался класс «гм»), игровую валюту(в том числе и донатную) и прочие ништяки. Еще забавно было рисовать статы поверх яиц, из которых потом выводились питомцы, что позволяло из воздуха получать миллионы хп, атаки и прочих статов.
Но это были цветочки. Следующим багом я обнаружил sql-inject. В клиентской ММО. По иронии судьбы, единственным местом, которое разработчики не додумались проверять на инжект(ну, как проверять, они тупо перегоняли все значения в hex, после чего cast'овали его обратно в строки в mssql), оказался mac-адрес, которые передавали для вычисления читеров и бана по маку. В 40 символов получилось втулить запрос, который позволял выставить себе максимального ГМа.
Ну и последним(причем на данный момент рабочим на официальных серверах) багов оказался бэкдор от самих разработчиков, позволяющий легкой правкой клиента выставлять себе максимальные права.
В-общем, забавные были времена, да.sHinE
21.08.2017 23:08+10Вот ваш коммент интереснее статьи, у вас концентрированные технические подробности, а не вода аля «я тут понял, что можно зарабатывать деньги», пересказанная несколько раз разными словами. Не в обиду переводчику, но зарубежные статьи часто таким грешат.
x67
22.08.2017 10:24Не только зарубежные, хотя в этой статье содержание воды превышает все мыслимые и немыслимые рамки. Также порою читаешь биографию и удивляешься, как этот человек еще на Марс не улетел, ведь таким гением был…
Demogor
22.08.2017 12:03+1На самом деле просто не все готовы открывать баги, приносящие деньги(ну или с этической стороны — отдавать подобные вещи в паблик, это как дать ядерную бомбу стаду обезьян. Плавали, знаем).
Ну и написать даже краткий гайд по эксплуатации определенных багов — еще тот квест: умея и зная, как это делать, перенос на новую версию клиента, даже не помня, что конкретно делал, занимает час-2 от силы(а если помнить — минут 10). А вот с 0 расписать пошагово — это задачка не на 1 час.
wlbm_onizuka
24.08.2017 17:04И почему же вы оставили профитное занятие в прошлом?
Demogor
25.08.2017 03:12+1Сервер держать — непрофитно, по крайней мере, я им занимался больше из интереса, который под конец потерял.
Зарабатывал я толком разве что на 1 из багов на пиратке(пока был студентом), потом забанили, а заново этим заниматься было лень. Потом — просто надоело. Сейчас — есть хорошая работа и, слава Богу, нет необходимости заниматься такой фигней для заработка(а так — не шибко интересно, хотя иногда ностальгия прошибает).
seri0shka
21.08.2017 21:46в Южной Корее группу хакеров арестовали и обвинили в работе над взломами видеоигр и зарабатывании денег для Северокорейского правительства
Странно, а зачем им (хакерам) это?Nedder
22.08.2017 06:05+1Наверное не им нужно, а следствию — чтобы срок побольше дать. За работу на КНДР явно срок больше будет.
mrdubz
22.08.2017 11:34+1Это не им, а Ыну как один из вариантов зарабатывания валюты. Семьи этих хакеров вполне могут быть «под присмотром» дома, пока денежки зарабатываются.
awdemme
24.08.2017 17:04Семьи этих хакеров вполне могут быть «под присмотром» дома, пока денежки зарабатываются.
Чтобы стать хакером нужна практика.
А много ли ее можно набить в Северной Корее.
Shambler0
21.08.2017 23:25+2Поясню про Ultima Online: В игре помимо забоя мобов можно было ещё много чего, в частности иметь недвижимость в произвольном месте на карте (не инстанс). Место, куда может влезть дом, должно быть свободно от деревьев, камней, и т.п., а карта мира не такая и большая (около 20 кв. км. не считая доп.территорий), поэтому количество таких мест ограничено, и как правило они все давно застроены. Это породило чёрный рынок территории под строительство.
Движок UO всегда был довольно сложным и запутанным; новые баги и эксплоиты находились каждый день, саппорт реагировал на репорты не всегда оперативно и адекватно. Игровые механики менялись довольно сильно на протяжении многих лет её существования. В частности, «неправильно установленный дом» — когда по текущим правилом в этом месте дома быть не должно, а он есть — это официальная фича этой игры.
В связи с вышеозначенным, хакеры также постоянно были занозой. С ними боролись, их банили, но меньше их не становилось. Дело несколько осложняло то, что для игры фанатами было разработано огромное количество полезных утилит разной степени разрешённости и распространённости.
r85qPZ1d3y
22.08.2017 04:44+3Молодец. Выступил на Def Con и уже как бы не киберпреступник…
Выборочно у нас как то становятся или героями, или преступниками.x67
22.08.2017 10:27+1В таких статьях постоянно все положительное выпячивают, а отрицательное скрывают независимо от того, о чем скрывают. И учебу себе оплатил и против людей не читерил, о багах в саппорт сообщал, а потом даже решил бросить все это по морально-этическим причинам. Ну просто святой человек)
saboteur_kiev
22.08.2017 17:41+3Ну да, герой. Сам он не читерил против людей, просто читерски одевал донатеров за деньги.
perfect_genius
23.08.2017 10:33Star Wars New Republic
Опечатка в оригинале, должно быть Star Wars: The Old Republic.
phili_can
24.08.2017 17:04Помню в diablo шмот клонировали. Роняли на пол какой-нибудь шмот и в момент поднятия если что-то взять из инвентаря, то у тебя оказывалась в руках копия шмотки)
uas9
24.08.2017 17:04А в Dungeon defenders 1 до сих пор можно «взламывать» валюту с помощью… artmoney. На офф ранкед серверах. И не только валюту, а любые статы на шмотках. И долгое время существовал черный рынок, где непонятно кто покупал шмот и валюту. Естественно хакнутую. Мб и до сих пор существует, хотя «хакнуть» эту игру и школьник вася сможет. Дюп любых шмоток тоже есть…
Разработчикам пофигу, сделали 2ю часть где погрузились еще глубже в p2w, только уже не с платными персонажами как в первой, а стэшем и бустами.Demogor
25.08.2017 03:26+1В warframe по слухам долгое время можно было в памяти редактировать хп, патроны и прочие радости жизни. Еще я в свое время развлекался, бегая на спидхаке по определенным миссиям, где это приносило неплохие дивиденты, правда, потом тупо попался — у них накатили «античит», который при запуске(!) игры чекал на наличие cheatengine и банил после 2-3 раз.
Правда, игрушка работает по принципу «клиент-хостер — сервер»(а в сингле — твой клиент и есть сервер), потому это не так удивительно.
Про онлайн-игрушки под андроид я вообще молчу, многие при выходе крякабельна(правда, потом баги все-таки обычно закрывают, если игра приносит доход). При желании можно зачастую найти видео-гайды или моды под это дело(правда, я обычно натыкался только на протухшие с прошлых версий).
Ну и про вышеупомянутую игру — я описывал чисто хаки, а дюпов там хватало. Самый прикольный был завязан на рассинхронизации баттл-серверов(арены, осады) с основными: можно было зайти на осаду, как-то хитро разлогиниться(уже не помню), залогиниться опять, впихнуть все дюпаемые предметы и валюты на почту или аук и зайти обратно на осаду. Происходил rollback(на осаде сохранялось старое состояние чара) и получали готовый дюп.
Вообще дюпов было несколько, еще всякие приколы в стиле «зайди в данж, дойди до ласта, выйди всей патькой в офф, зайди твином, ресетни данж, зайди обратно в данж всей пати в обновленном данже у последнего босса».
Флайхак местный — чуть ли не местная легенда: его даже пытались на сервере закрывать оригинальным способом — начинаешь плыть(флайхак именно так и работал, эмулировал плавание) и тупо дохнешь. Народ взвыл — фичу выключили(хотя настройка осталась). Еще им можно было при определенных условиях пролетать сквозь стены и скипать треш(который настолько лют обычно, что босс по сравнению с ним — аки младой ягненок).
Еще забавно было инвизеров палить. В игре есть 2 типа инвизов — ГМовская команда(сервер) и все остальные(клиент). Проходимся простым кодом по всем окружающим игрокам, перетыкаем флаг — видим все живое.
Ну и самая смешная хохма: в какой-то момент кто-то завтыкал и выставил неправильные флаги воротам на осадах(НПС, просто с особыми настройками). В итоге ворота, которые при грамотном хиле или багоюзе вынести крайне затруднительно, можно было тупо… обойти. Как? Подбегаем к воротам, кидаем фир(страх) — ворота убегают.
ClearAirTurbulence