Перейти к публикации

Кодирование и декодирование Rc4-hmac


alxxbx
 Поделиться

Рекомендованные сообщения

Тут вряд ли подскажут. Тебе нужно на специализированные форумы по kerberos, или хотя бы на иксбокссцену точка ком
Ссылка на комментарий
Поделиться на других сайтах

http://ifolder.ru/16021037

 

плиз. поюзайте снифер. выскажите свои предложения по декодированию пакетов.

инструкция по запуску в архиве.

 

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

 

Осталось доделать в снифере:

1. Сверку времени на консоли и компе, и если отличается более чем на 5 минут - выслать консоли пакет с кодом ошибки (37). Формирование и посылка пакета написана.

2. Сгенерировать Ticket, зашифровать и выслать его консоли. Ticket определяет возможность логина к Live (возможно и статус бана).

Ссылка на комментарий
Поделиться на других сайтах

Разобрался с керберос5. Оказывается бокс коннектится к Live с логином вида XE.IDконсоли@xbox.com и паролем!

 

Практически написал подбор пароля для раскрытия временной метки.

Осталось сделать генератор паролей и передавать сгенерированный пароль процедуре декрипта временной метки.

Процедура декрипта написана, протестирована и на 100% работоспособна.

 

От длины пароля значительно зависит скорость его подбора.

Ссылка на комментарий
Поделиться на других сайтах

Ну ты настырный. Молодец!

Удачи тебе в этом нелегком деле...

 

однозначно поддерживаю

 

Разобрался с керберос5. Оказывается бокс коннектится к Live с логином вида XE.IDконсоли@xbox.com и паролем!

 

я так понял можно будет подставить любой id консоли,если все в таком виде,я правильно понимаю?,хотя я понимаю что не все так просто,но возможно ли это теоретически?

Изменено пользователем asdfghjkl
Ссылка на комментарий
Поделиться на других сайтах

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

Но трудоёмко это и будет работать только до след. обновления, которые майки тут же выпустят...

Ссылка на комментарий
Поделиться на других сайтах

Разобрался с керберос5. Оказывается бокс коннектится к Live с логином вида XE.IDконсоли@xbox.com и паролем!

 

Практически написал подбор пароля для раскрытия временной метки.

Осталось сделать генератор паролей и передавать сгенерированный пароль процедуре декрипта временной метки.

Процедура декрипта написана, протестирована и на 100% работоспособна.

 

От длины пароля значительно зависит скорость его подбора.

 

Молодец, моя поддержка рядом с тобой.

Могу даже аську сказать, буду твоим помощником, если возьмёшь :blush:

 

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

Но трудоёмко это и будет работать только до след. обновления, которые майки тут же выпустят...

Думаю нет, т.к. если написали эмуляторы для онлайн игр, а там в разы всё сложней чем тут! Хотя не мне судить!)

В любом случае alxxbx молодец :good:

Ссылка на комментарий
Поделиться на других сайтах

обновления, которые майки тут же выпустят...

 

ты наверное понимаешь что консоли в бане и приставке неоткуда оперативно обновится

да и к тому же предется пересаживать все сервы xbox live на новый протокол,а это уже не минутное дело,дело просто не стоит того

так что все будет нормально,вообще на мой взгляд надо устроить сначала что-то типо закрытого бета-теста,а не сразу выдавать инфу на форум

Изменено пользователем asdfghjkl
Ссылка на комментарий
Поделиться на других сайтах

ты наверное понимаешь что консоли в бане и приставке неоткуда оперативно обновится

да и к тому же предется пересаживать все сервы xbox live на новый протокол,а это уже не минутное дело,дело просто не стоит того

так что все будет нормально,вообще на мой взгляд надо устроить сначала что-то типо закрытого бета-теста,а не сразу выдавать инфу на форум

 

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

 

В общем – это все очень здорово, т.к. в дальнейшем можно будет анализировать поведение клиент-сервер на пакетном уровне. Где-то читал про возможность существования команды обратной команде бана hdd и профиля. Эмулируя обращение бокса к лайву, и меняя содержимое области пакетов – можно попытаться разобраться после какой инфы, сбрасываемой дашем приходит бан.

 

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

 

Удачи тебе в этом нелегком начинании, точнее продолжении

Ссылка на комментарий
Поделиться на других сайтах

блин, наткнулся на серьезные трудности в подборе ключа для расшифровки timestamp - даже на С# написал свой кодер/декодер rc4, 1000000 в секунду проверок делает, но этого явно недостаточно, т.к. для полного перебора от 0 по 255 для 16 байт потребуется не один год для подбора ключа. Теоретически если написать программу на ассемблере под дос с запретом всех прерываний, то можно значительно уменьшить время подбора ключа.

 

вообщем ищу возможность короткого подбора ключа, должна быть дырка в алгоритме шифрования, дешифрования rc4.

 

кто анализировал мой сниффер (типа Лайв эмулятор)?

мож есть идеи?

 

52 байта временная метка, первые 16 байт - её хеш MD5 в нешифрованном состоянии, 36 байт временная метка - 92 F2 EA 18 66 A8 0F A2 30 1A A0 11 18 0F 32 30 30 38 31 31 32 30 31 37 31 35 31 30 5A A1 05 02 03 0A 5F 03, с 32 по 5А дата в формате 20081120 171510 Z

 

48 байт - возможно содержат хеш для раскрытия временной метки, если содержит, то как его изъять? мож как ворде или экселе принцип? Если как в ворде или экселе тогда методом bruteforce можно за два дня достать ключ консоли, т.к. он всего 5 байт плюс четыре 0. Сейчас собираюсь прорабатывать именно этот вариант.

 

Есть еще 20 байт, они не меняются от пакета к пакету - 20 байт всего, возможно они содержат ключ.

 

Если еще 4 байта - Nonce именуются, с чем их едят? Я их только в перевернутом виде в ответе использую, иначе ответный пакет консоль не воспринимает.

 

 

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

 

однозначно поддерживаю

 

 

 

я так понял можно будет подставить любой id консоли,если все в таком виде,я правильно понимаю?,хотя я понимаю что не все так просто,но возможно ли это теоретически?

 

на сегодняшний день точно - НЕТ!

 

ты наверное понимаешь что консоли в бане и приставке неоткуда оперативно обновится

да и к тому же предется пересаживать все сервы xbox live на новый протокол,а это уже не минутное дело,дело просто не стоит того

так что все будет нормально,вообще на мой взгляд надо устроить сначала что-то типо закрытого бета-теста,а не сразу выдавать инфу на форум

 

имея хеш пароля от консоли, её непроблема пересадить на любой протокол!

 

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

 

В общем – это все очень здорово, т.к. в дальнейшем можно будет анализировать поведение клиент-сервер на пакетном уровне. Где-то читал про возможность существования команды обратной команде бана hdd и профиля. Эмулируя обращение бокса к лайву, и меняя содержимое области пакетов – можно попытаться разобраться после какой инфы, сбрасываемой дашем приходит бан.

 

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

 

Удачи тебе в этом нелегком начинании, точнее продолжении

 

все гораздо проще. часть пакетов закодирована rc4-hmac, кодер/декодер rc4 сам написал, md4 и md5 использую от Майкрософта, но собираюсь переписать, т.к. есть ощущение, что медленно работает.

 

 

Если бы я знал содержимое пакета Ticket...

 

Сколько байт cpu ключ? Как его достать? мож он и покатит как хеш сетевого пароля?

Ссылка на комментарий
Поделиться на других сайтах

блин, наткнулся на серьезные трудности в подборе ключа для расшифровки timestamp - даже на С# написал свой кодер/декодер rc4, 1000000 в секунду проверок делает, но этого явно недостаточно, т.к. для полного перебора от 0 по 255 для 16 байт потребуется не один год для подбора ключа. Теоретически если написать программу на ассемблере под дос с запретом всех прерываний, то можно значительно уменьшить время подбора ключа.

 

вообщем ищу возможность короткого подбора ключа, должна быть дырка в алгоритме шифрования, дешифрования rc4.

 

автор а может использовать возможности предоставляемые Nvidia CUDA,Там скорость перебора паролей раз в 10 выше а то и больше по сравнению с центральным процом

видел на одном форуме md5 хеши с помощью CUDA считали

dos не вариант

Изменено пользователем asdfghjkl
Ссылка на комментарий
Поделиться на других сайтах

c CUDA связаться думал, у меня слабая видюха GF220, а без КУДА - GF9800GX2 - сильная видюха :)

 

но этого мало - земле гораздо меньше лет, чем понадобится пеньку4 3.0 для подбора хеша :) мы столько не живём

Ссылка на комментарий
Поделиться на других сайтах

c CUDA связаться думал, у меня слабая видюха GF220, а без КУДА - GF9800GX2 - сильная видюха :)

 

но этого мало - земле гораздо меньше лет, чем понадобится пеньку4 3.0 для подбора хеша :) мы столько не живём

 

у меня видяха GeForce 9600GT,может подойти для подобных целей,+разгоню ее немного :spiteful:

А в идеале можно использовать режим SLI

 

http://www.password-crackers.ru/blog/?p=66

Изменено пользователем asdfghjkl
Ссылка на комментарий
Поделиться на других сайтах

у меня видяха GeForce 9600GT,может подойти для подобных целей,+разгоню ее немного :spiteful:

А в идеале можно использовать режим SLI

 

http://www.password-crackers.ru/blog/?p=66

 

Пока не суетись. Ищу возможность иначе подойти к дешифровке.

 

Интересно сколько может быть вариантов массива при условиях:

1. длина 256 байт

2. байты неповторяемы от 0 по 255

 

неужели нев..бенно огромное кол-во вариантов???

Ссылка на комментарий
Поделиться на других сайтах

нереально перебрать это дело.

256 в 256 степени получится.

гдето 16777216

нее. намного больше ) это охренеть как много ))

Изменено пользователем Buzzzzer
Ссылка на комментарий
Поделиться на других сайтах

нереально перебрать это дело.

256 в 256 степени получится.

 

нее. намного больше ) это охренеть как много ))

 

да уж числы нереальные,тут самый мощный комп лет этак 10000000 считать :biggrin:

Ссылка на комментарий
Поделиться на других сайтах

неужели без паяльника не обойтись? дамп нанды и на поиски хеша...

 

не думаю что хеш будет лежать в одном файле,скорей всего эта инфа находится в rom CPU

Ссылка на комментарий
Поделиться на других сайтах

Kerberos - задумывался изначально, как "суперпупер)" защищенный протокол для открытых каналов связи.

Сама идея ломать его перебором - изначально потерпит крах полюбому.

256битовый ключ методом перебора вскрыть нереально, а если еще с учетом временной метки, то это ваще нереально.

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

Ссылка на комментарий
Поделиться на других сайтах

в XNA Game Studio нашел

 

NetworkCredential - предоставляет учетные данные для схем проверки подлинности на основе пароля, таких как "Обычная", "Дайджест", "NTLM" и "Kerberos"

 

NetworkCredential D = new NetworkCredential();

string A = D.Domain.ToString();

string B = D.Password.ToString();

string C = D.UserName.ToString();

Console.WriteLine("Domain: {0}", A);

Console.WriteLine("Password: {0}", B);

Console.WriteLine("UserName: {0}", C);

 

надеюсь, что при выполнении на консоли я всетаки получу пароль с консоли, логин и домен известен :)

 

кстати прикол - пакет врайтер и пакет ридер есть в XNA Game Studio, значед можно сделать программу эмулятор и для самой консоли?

Ссылка на комментарий
Поделиться на других сайтах

кстати прикол - пакет врайтер и пакет ридер есть в XNA Game Studio, значед можно сделать программу эмулятор и для самой консоли?

 

Только врядли ее удастья подписать для работы на ритейловых консолях. А на XBR как вариант.

Ссылка на комментарий
Поделиться на других сайтах

в XNA Game Studio нашел

 

NetworkCredential - предоставляет учетные данные для схем проверки подлинности на основе пароля, таких как "Обычная", "Дайджест", "NTLM" и "Kerberos"

 

NetworkCredential D = new NetworkCredential();

string A = D.Domain.ToString();

string B = D.Password.ToString();

string C = D.UserName.ToString();

Console.WriteLine("Domain: {0}", A);

Console.WriteLine("Password: {0}", B);

Console.WriteLine("UserName: {0}", C);

 

надеюсь, что при выполнении на консоли я всетаки получу пароль с консоли, логин и домен известен :)

 

кстати прикол - пакет врайтер и пакет ридер есть в XNA Game Studio, значед можно сделать программу эмулятор и для самой консоли?

 

пробуй,довольно интересное направление

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...