alxxbx 0 Опубликовано: 21 июля 2010 Автор Поделиться Опубликовано: 21 июля 2010 Кто-то мне скидывал трафик с фрибутной консоли - пакет неполноценный, часть информации в нем отсутствует, а часть которая на обычной консоли неизменна - постоянно меняется... Вот поэтому фрибутные консоли сразу банят. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
garmin777 0 Опубликовано: 21 июля 2010 Поделиться Опубликовано: 21 июля 2010 alxxbx, ЛС Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
SaNcHoZ 0 Опубликовано: 21 июля 2010 Поделиться Опубликовано: 21 июля 2010 Кто-то мне скидывал трафик с фрибутной консоли - пакет неполноценный, часть информации в нем отсутствует, а часть которая на обычной консоли неизменна - постоянно меняется... Вот поэтому фрибутные консоли сразу банят.Тупой вопрос. Программа что постом выше, выдирает ключи (ЦПУ) из трафика бокса? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Sulako 0 Опубликовано: 22 июля 2010 Поделиться Опубликовано: 22 июля 2010 Тупой ответ - нет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
migel10 0 Опубликовано: 23 июля 2010 Поделиться Опубликовано: 23 июля 2010 ну как там успехи?)))))))))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
jhwp64 0 Опубликовано: 23 июля 2010 Поделиться Опубликовано: 23 июля 2010 Сейчас установлю программы, и захвачу трафф. ( если еще нужно ) p.s. моя консолька сегодня получила бан, и поэтому вопрос об обходе бана стоит на первом месте :biggrin:И как ноньчи банят? установка на винт? поврежденный профиль и сэйвы? Очень интерестно, потому как с прошлой осени сидел в засаде, а в августе планировал подкючиться и прикупить аркадок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
garmin777 0 Опубликовано: 23 июля 2010 Поделиться Опубликовано: 23 июля 2010 Я и поиграться не успел, выскочило окно бана при регистрации в Live. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
bavaria1995 0 Опубликовано: 23 июля 2010 Поделиться Опубликовано: 23 июля 2010 Я и поиграться не успел, выскочило окно бана при регистрации в Live.=) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 28 июля 2010 Автор Поделиться Опубликовано: 28 июля 2010 поговорил пакетами с сервером xetgs.xboxlive.com, выяснилось: в первую очередь он проверяет наличие PADATA205, если отсутствует, независимо от ID консоли высылает 16-ти байтный код в ответном пакете.во вторую очередь проверяет ID консолив третью TIMESTAMP. у каждой консоли свой ключ шифрования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 28 июля 2010 Автор Поделиться Опубликовано: 28 июля 2010 Всетаки выходит, что ключ шифрования в нанде. Метка TIMESTAMP зашифрована 2-мя ключами - постоянным (в нанде) и сессионным, который выдается сервером при аутентификации. Метод и последовательность получения RC4 ключа пока мне непонятна. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Sulako 0 Опубликовано: 28 июля 2010 Поделиться Опубликовано: 28 июля 2010 а я попробовал тупо получить на боксе содержимое памяти. А он взял и повис :) и вис на все попытки прочитать невыделенную память.Накопал библиотечку для создания трейнеров - XPowerPlay, так что в теории что то такое возможно, но вот как она работает - найти не удалось. Информации по программированию для бокса вообще очень мало. :( Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
marcus07 0 Опубликовано: 29 июля 2010 Поделиться Опубликовано: 29 июля 2010 (изменено) Т.е. вы получили кейвалью от цпу кей,и именно им хотели расшифровать,но не получилось,из-за того что на каждой консоли грубо говоря формируются свои куки для входа,а на сервере проверяются ответные пакеты от кук,которые показываю забанена ли консоль,а "куки" формируются при помощи встроенного ключа +сессионного,который выдается по *** методу... у меня просто возник вопрос - почему вы начали копать именно с KV ,откуда такие зацепки,если вы знали что майки все пихают слишком далеко?Все-таки мне кажется ключ ,каждый,создается на сервере аутификации ,потом при входе на сервера игры он сбрасывается,ибо не думаю что майки его буду давать стороним лицам,т.е. ключ не привязан к серверу а лишь им генерируется . "у каждой консоли свой ключ шифрования "-т.е. если узнать алгоритм то можно впринцапи создавать лай :DDD а дальше нужны будут сервера..коорые будут лагать ..и т.д. Ссори за бред наверное. Ps.не хочется показаться умным- хочется разобраться во всем что написано на этих 8-ми страницах. Изменено 29 июля 2010 пользователем marcus07 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 29 июля 2010 Автор Поделиться Опубликовано: 29 июля 2010 (изменено) а я попробовал тупо получить на боксе содержимое памяти. А он взял и повис :) и вис на все попытки прочитать невыделенную память.Накопал библиотечку для создания трейнеров - XPowerPlay, так что в теории что то такое возможно, но вот как она работает - найти не удалось. Информации по программированию для бокса вообще очень мало. :( Сообразил как надо копать... Вообщем сервер шлет 16 байт - сессионный ключ зашифрованный ключем на консоли. Расшифрованным сессионным ключем зашифрована временная метка TIMESTAMP.Надо расшифровывать сессионный ключ перебирая по 16 байт из KeyVault со смешением 1 байт, а потом расшифрованным сессионным ключем расшифровывать TIMESTAMP. TIMESTAMP необходимо брать со второго пакета аутентификации, т.к. в первом он 100% - просто забит случайными числами и расшифровывать его - пустая трата времени :) Т.е. вы получили кейвалью от цпу кей,и именно им хотели расшифровать,но не получилось,из-за того что на каждой консоли грубо говоря формируются свои куки для входа,а на сервере проверяются ответные пакеты от кук,которые показываю забанена ли консоль,а "куки" формируются при помощи встроенного ключа +сессионного,который выдается по *** методу... у меня просто возник вопрос - почему вы начали копать именно с KV ,откуда такие зацепки,если вы знали что майки все пихают слишком далеко?Все-таки мне кажется ключ ,каждый,создается на сервере аутификации ,потом при входе на сервера игры он сбрасывается,ибо не думаю что майки его буду давать стороним лицам,т.е. ключ не привязан к серверу а лишь им генерируется . "у каждой консоли свой ключ шифрования "-т.е. если узнать алгоритм то можно впринцапи создавать лай :DDD а дальше нужны будут сервера..коорые будут лагать ..и т.д. Ссори за бред наверное. Ps.не хочется показаться умным- хочется разобраться во всем что написано на этих 8-ми страницах. бред конечно. Заменой одного keyvault разбанивают консоли, к ключу процессора привязки нет, значит хеш пароля именно в кейваульт :) когда запускаешь игру на консоли - консоль отключается от лайва и коннектится к игровому серверу, только консоль должна быть незабаненной. предполагаю, что альтернативный сервер аутентификации откроет путь к сетевым играм :) Изменено 29 июля 2010 пользователем alxxbx Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 29 июля 2010 Автор Поделиться Опубликовано: 29 июля 2010 на аутентификацию влияют только - ID консоли, зашифрованная временная метка TIMESTAMP и 16 байтный ключ выданный сервером. проверено общением пакетами с сервером. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Sulako 0 Опубликовано: 29 июля 2010 Поделиться Опубликовано: 29 июля 2010 на аутентификацию влияют только - ID консоли, зашифрованная временная метка TIMESTAMP и 16 байтный ключ выданный сервером. а твой эмулятор сервера в качестве ключа отдавал 16 нулей? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 29 июля 2010 Автор Поделиться Опубликовано: 29 июля 2010 а твой эмулятор сервера в качестве ключа отдавал 16 нулей? ага, в качестве зашифрованного сессионного ключа, его необходимо расшифровать хешем из кейваульт. скорее всего как при расшифровке кейваульт необходимо использовать sha1, пример есть 2-3 страницами ранее Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 30 июля 2010 Автор Поделиться Опубликовано: 30 июля 2010 провел дополнительную беседу и выяснил, что в первом пакете метка зашифрована корректно и сервером расшифровывается на ура, 16 байт передаваемые сервером пока бутафорные и их просто необходимо отправлять в следующем пакете серверу, чтобы пакет был воспринят. вообщем для аутентификации в лайв необходимо ID консоли и пароль. есть предположение, что хеш пароля:1. лежит в кейваульт (попытки его извлечь пока в провале)2. результат "колдовства" над ID консоли и будет хешем для шифрования сервер спокойно расшифровывает метки из траффика 2-х летней давности! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 1 августа 2010 Автор Поделиться Опубликовано: 1 августа 2010 вариант 2 отпадает, проверено Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 8 августа 2010 Автор Поделиться Опубликовано: 8 августа 2010 Отработанная программа на C# .NET для расшифровки Timestamp и прочего для будующей альтернативы Live. Похоже что консоли при входе в Лайв аутентифицируются Windows контроллером домена и поэтому, для тестов использовал контроллер домена на Windows 2008 и клиента на Windows XP. Расшифровка временной метки происходит несколько иначе чем описано в RFC 4757 (The RC4-HMAC Kerberos Encryption Types Used by Microsoft Windows):1. экспортный вариант протокола отсутствует (выставлял регион, время - Россия и США при анализе траффика).2. помеха (confounder) расшифровывается вместе с временной меткой, а не отдельно. В некоторых описаниях протокола написано, что метка шифруется сессионным ключом, который сервером передается клиенту зашифрованным ключом клиента. Ничего подобного нет.Расшифровывается метка элементарно - из пароля пользователя в юникоде формируется хеш MD4 и этим хешем с помощью RC4-HMAC расшифровывается метка.Вариант шифрования может быть любой, я настроил сервер на такой, как у консолей - RC4-HMAC (23). using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Security.Cryptography;using System.IO;using LLCryptoLib.Security.Cryptography; namespace DecServ2008TS{ class Program { static void Main(string[] args) { Console.BufferHeight = 256; byte[] encTS = { 0x99, 0x28, 0x33, 0xC2, 0xE1, 0xFA, 0x1C, 0x28, 0x3C, 0x4B, 0x50, 0x85, 0xD4, 0x3C, 0x00, 0x56, 0x57, 0x4D, 0xBC, 0xB3, 0xB5, 0x97, 0x39, 0x1A, 0xAA, 0xBC, 0xA2, 0xFD, 0xE8, 0x42, 0xDE, 0x3B, 0x67, 0xAB, 0x0F, 0xCE, 0x7A, 0x82, 0x27, 0xEF, 0xE9, 0x24, 0x15, 0x4B, 0x12, 0x17, 0x94, 0x40, 0xF4, 0x7C, 0x3C, 0xDF }; //byte[] K = { 0xF6, 0x50, 0x2C, 0xBE, 0x48, 0x02, 0xF9, 0x4A, 0xB4, 0x72, 0x28, 0x89, 0x70, 0xC1, 0x24, 0xCD }; byte[] pwd = UnicodeEncoding.Unicode.GetBytes("P@ss123"); byte[] K = new MD4CryptoServiceProvider().ComputeHash(pwd, 0, pwd.Length); DecodeTimestamp(K, encTS); Console.ReadLine(); } private static void DecodeTimestamp(byte[] K, byte[] encTS) { byte[] checksum = new byte[16]; Array.Copy(encTS, 0, checksum, 0, checksum.Length); byte[] data = new byte[encTS.Length - checksum.Length]; Array.Copy(encTS, checksum.Length, data, 0, data.Length); byte[] T = new byte[4]; T[0] = (byte)1;//AS-REQ PA-ENC-TIMESTAMP padata timestamp, encrypted with the client key (T=1) HMACMD5 hmac_md5 = new HMACMD5(K); byte[] K1 = hmac_md5.ComputeHash(T, 0, T.Length); hmac_md5 = new HMACMD5(K1); byte[] K3 = hmac_md5.ComputeHash(checksum, 0, checksum.Length); IARC4(K3, data); if (checksum.SequenceEqual(hmac_md5.ComputeHash(data, 0, data.Length))) { string strTimestamp = ""; for (int i = 0; i < data.Length; i++) strTimestamp += (char)data; Console.WriteLine("Decrypted Timestamp: {0}", strTimestamp); dump("K", K); } } private static void IARC4(byte[] K3, byte[] Stream) { byte[] S = new byte[256]; for (int i = 0; i < 256; i++) S = (byte)i; int j = 0; for (int i = 0; i < 256; i++) { j = (byte)(j + S + K3[i % K3.Length]); byte t = S; S = S[j]; S[j] = t; } int Q1, Q2; Q1 = Q2 = 0; for (int i = 0; i != Stream.Length; i++) { Q1 = (Q1 + 1) % 256; Q2 = (Q2 + S[Q1]) % 256; byte t = S[Q1]; S[Q1] = S[Q2]; S[Q2] = t; Stream = (byte)(Stream ^ S[(S[Q1] + S[Q2]) % 256]); } } private static void dump(string str, byte[] digest) { Console.Write("\n{0} = ", str); for (int i = 0; i < digest.Length; i++) Console.Write("{0} ", digest.ToString("X2")); Console.Write("\n"); } }} Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 8 августа 2010 Автор Поделиться Опубликовано: 8 августа 2010 (изменено) Хеш пароля консоли можно достать двумя способами:1. с паяльником :), что похоже более реально в ближайшее время, чем второй способ. Необходимо найти хеш в кейваульте или конфиге или секдате... вообщем надо искать, как уже известно на 100%.2. программно, сейчас этот способ прорабатываю, т.к. при нем не требуется разбирать консоль, доставать ключ процессора и т.д. Нашел как консоль регистрируется на серверах при первой регистрации в лайв и как ее заставить это сделать снова. Осталось разобраться как связаны 800 байт пакета с ID консоли, датой выпуска, что содержится в этих 800 байт и где в них хеш пароля консоли. Самое интересное, что изменение хоть 1-го байта в ID консоли и в 800 байт приводит к тому, что сервер игнорирует пакет и не отвечает на него, наверно контроллируюется целостность по CRC или хешу. Есть несколько вариантов создания альтернативного сервера:1. Написать его для не серверной платформы с открытым кодом.2. Написать прокси, который будет на лету подправлять по-мелочи пакеты, чтобы консоль авторизировалась к обычному Windows Server с контроллером домена.3. Доработать Kerberos линуксового сервера. Изменено 8 августа 2010 пользователем alxxbx Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
garmin777 0 Опубликовано: 8 августа 2010 Поделиться Опубликовано: 8 августа 2010 Респектище :good: !!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
asdfghjkl 0 Опубликовано: 9 августа 2010 Поделиться Опубликовано: 9 августа 2010 alxxbxдумаю проще всего будет доработать Kerberos сервер линукса,так как наработки имеются,просто надо внести некоторые изменения Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Jumper 0 Опубликовано: 9 августа 2010 Поделиться Опубликовано: 9 августа 2010 alxxbxОгромный респект за то что ты делаешь.Напиши: чем на данном этапе тебе могут помочь простые смертные?И кстати, мысль: зачем искать Хаб, когда можно воспользоваться двумя сетевухами в компе ;) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alxxbx 0 Опубликовано: 9 августа 2010 Автор Поделиться Опубликовано: 9 августа 2010 Была бы кстати помощь программистов PowerPC+VMX128 - разобрать ПО формирующее пакеты Kerberos. :) Когда делали XBR - явно зацепили часть формирующую керберос пакет, т.к. у XBR консолей отсутствует один тег, беспонтовый и конекту в лайв похоже не мещает. alxxbxдумаю проще всего будет доработать Kerberos сервер линукса,так как наработки имеются,просто надо внести некоторые изменения много дорабатывать и не надо, добавить Pre-auth data - 131, 203, 204. 205, 206, 209, и единственное, что нужно - расшифровать эти данные, чтобы знать что дописывать :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
bavaria1995 0 Опубликовано: 9 августа 2010 Поделиться Опубликовано: 9 августа 2010 alxxbx, как там дела происходят? близок к цели? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас