World of Warcraft: как ломали пиратки (Способы)

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

ddos wow1

Продолжение позновательной экскурсии о способах взлома пиратских серверов world of warcraft. Как я уже писал ранее способов существовало великое множество, одни из них работали хорошо и долго, другие же быстро фиксили.

DENIAL OF SERVICE (DDos)

Первым по популярности можно поставить этот вид атак. Действует назло админам и позволяет повысить ЧСВ школьникам.

Средний аптайм фри-сервера составляет примерно одни сутки.

Порой даже ничего не надо было делать, он мог упасть сам из-за кривого кода :).

Но все же чаще всегда находились такие места, как призыв мобов (неигровых персонажей, «серверных созданий»), у которых не было КД (cooldown, время между повторным использованием заклинания), и можно было просто флудить, вызывая большое количество этих самых мобов.

В итоге сервер ложился, админы смотрели краш-логи (если хватало знаний) и пытались зафиксить багу, пока все игроки разносили игровой форум с темами «Сервер снова лег?!».

Также часто серверы роняли и через небезызвестную утилиту LOIC (low orbital ionic cannon). Защищались обычно через iptables + connlimit.

WPE

wow-hack

Любой читер, кто играл в WoW (хотя не только), знает эту программу.

Winsock Packet Editor (WPE) — это пакетный снифер/редактор, который в основном предназначен для читерства в онлайн-играх.

WPE позволяет изменять данные на уровне TCP. Используя WPE, можно выбрать один из запущенных процессов и изменить данные до того, как они будут отправлены на сервер. Также можно просто сохранять все пакеты для последующего их анализа.

Он поддерживает различные фильтры, которые можно сохранять и применять, когда понадобится. WPE часто используют для пентеста «тонких клиентов» (например, разные апплеты в браузере, работающие не по HTTP).

Итак, здесь открывается целое поле для атаки! 

Разберем обычную ситуацию — покупку предмета у вендора.

На сетевом уровне это выглядит так: игрок отправляет пакет на покупку с ID выбранного предмета, сервер смотрит, рядом ли игрок с вендором, достаточно ли денег у игрока на покупку этой вещи, и если все ОK — «кладет» эту вещь ему в сумку.

Но что произойдет, если мы заменим ID покупаемой вещи?

Во-первых — как его узнать?

Есть база WoW — wowhead.com. Находим нужную вещь (какой-нибудь крутой элемент экипировки), смотрим в URL, там ID вещи и так же находим текущую вещь, которую продает вендор.

Теперь смотрим сетевой трафик через WPE, находим ID вещи (в Hex, причем «обратной записью»), которую покупаем сейчас, и заменяем на то, что нашли на wowhead.

В итоге на сервере смотрится стоимость (обычно вещи, которые нужно «выбивать» с боссов, не имели цены в базе или имели очень низкую, так как и не задумывалось, что их можно покупать), и если игрок рядом — ему отдается вещь, которой и не было в продаже у вендора :).

Уязвимость успешно работала во времена патча 1.*. Потом ее логично зафиксили — проверяли список предметов, которые вообще есть у вендора.

wow-hack 3

В эту же копилку — использование заклинаний игроком.

Смотрим ID спелла (заклинания), который используем сейчас, подменяем на ID спелла какого-нибудь босса с большим дамагом — в итоге ходим и кастуем как босс :).

Это работало вообще очень долго и было исправлено вроде только в WotLK (патч 3.*).Фильтры для WPE или программы, автоматизирующие подмену пакетов, обычно легко находились на читерских форумах в свободном доступе.

И по этой же схеме работали всякие speed hack’и, teleporter’ы и тому подобное. Пространство для «обмана» сервера было велико, античиты в то время были в основном на серверной стороне (если вообще были) — всякие AC, AC2.

У Blizzard’а на официальном сервере был (и есть) Warden, который работает по принципу анализа запущенных процессов на клиенте, снимает сигнатуры и отправляет на сервер (игроки даже пытались раздуть судебный процесс на этой почве).

Его реализация на эмуляторах появилась сравнительно недавно. Нельзя не упомянуть о платных античитах для клиентов, играющих на эмуляторах, но они стоят денег, и обычно серверная часть только под Windows, когда чаще всего сервер WoW работает под Linux (конечно, есть wine, но это уже костыли, да и игроков бывает по несколько тысяч на сервер).

 

Поделитесь записью в соц. сетях:

Добавить комментарий

Неаргументированные мнения публиковаться не будут, просьба подкрепляйте свое "имхо" фактами.