Приставки > 7 поколение и выше
Новый метод Jtag-хака для всех ревизий и дашей!
(1/3) > >>
sonygod:
Наконец-то метод джтага работает на нексеноновских консолях (да ... запускаем неподписанный код на СЛИМАХ и всех версиях дашборда на толстых консолях!!!)

Это также значит , что Вы сможете запустить приятный стафф , например игры с жесткого диска.

Источник


Полный гайд / Файлы / Исходники / Диаграммы

Вы думаете это невозможно?

Вы думаете, хак возможен на тех старых джтаг консолях?

GliGli & Tiro скажут вам обратное! Они разработали хак, который работает на всех последних кернелах следующих плат:

                        ZEPHYR, JASPER .......ииии...... TRINITY (aka SLIM!)
                           (не важно на каком дашборде!!!)
The Xbox 360 reset glitch хак

Некоторые факты:

tmbinc сказал лично, софтверные попытки запуска неподписанного кода на 360 в большинстве случаев неработает, она разработана таким образом что защита блокирует их.

Процессор стартует исполнение кода с  ROM (1bl), который потом загружает подписанный RSA и закриптованный RC4 кусок кода из нанда (CB).

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

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

- Хеш фьюзов.

- Значение встроенного счетчика

- Полностью рандомное значение идет из железного генератора случайных чисел, встроенного в процессор! На толстых версиях этот генератор мог быть софтово отключен, но у нас новя проблема - проверка

рандомности. (считает до 1 бита в СВ), и ждем реально рандомное число.

СВ может выполнять некое подобие програмного движка , основанного на байт-коде, чьим заданием будет инициализация DRAM, СВ может загрузить слудующий загрузчик (CD) из нанда в него и запустить его.

Стандартно CD будет загружать основное ядро из нанда ,патчить его и запускать.

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

В версиях ядра 4532/4548, критическая уязвимость в этом месте и все известные нам методы взлома, опираются на эти ядра для запуска неподписанного кода.

На сегодняшних 360, CD содержит хеш этих 2х ядер и перестает выполнять процесс загрузки при попытке их выполнения.


Гипервизор относительно маленький кусок кода , но проверяет  - используете ли Вы эти уязвимости или нет и удостоверяется что Вы несможете!

С другой стороны, tmbinc сказал, что 360 небыла разработана с защитой от некоторых видов ЖЕЛЕЗНЫХ атак и "глюков"

Глюками сдесь будем называть исполнение процессорных багов в электронных нуждах.

Этим путем мы пойдем для выполенения неподписанного кода.


Несколько слов о ресетном глюке
===============================

На толстых консолях, загрузчик имел глюк в CB , и мы могли делать с CD , что хотели.

cjak нашел это путем подачи CPU_PLL_BYPASS сигнала, частота ЦПУ понижалась намного, есть тестовый пин на материнке, который показывает сскорость ЦПУ, 200 МГц при старте даша, 66,6 Мгц при

старте загрузчика, и 520КГц при подачи сигнала.

Итак мы пошли таким путем:

- Мы подали CPU_PLL_BYPASS сигнал перед пост кодом 36 (hex).

- Мы подождали старта POST 39  (POST 39  это сравнение памяти между внутренним хешем и хешем образа), и запустили счетчик.

- Когда тот счетчик достигает точного значения (обычно около 62% длины POST 39), посылаем 100нс импульс на CPU_RESET.

- Мы ждем некоторое время и снимаем CPU_PLL_BYPASS сигнал.
 
- Скорость ЦПУ возвращается в норму, и с небольшим бонусом - вместо получения ошибки POST error AD, процесс продолжается и СВ загружает наш кастомный CD.

Нанд содержит пару zero-paired CB, нашу прошивку в кастомном CD и модифицированный SMC образ.

Глюк в нормальных условиях неповторить - мы испрользуем модифицированный SMC образ, который перезагружается постоянно (стоквый образ перезагружает 5 раз и дает РРОД), после консоль загружается как
положенно, в большинстве случаев глюк успешен в течении 30 секунд от запуска до конца.

Детали хака слим версии
=================

Загрузчик , который мы гличили - CB_A, и мы можем запустить CB_B, как хотим.

В слимках мы несмогли найти пин на материнке для отслеживания CPU_PLL_BYPASS.

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

Затем мы стали искать другие пути для снижения частоты ЦПУ и обратили внимание на то, что HANA чип имеет настраиваемые PLL регистры для частоты 100 Мгц, которые ведут за собой ЦПУ и ГПУ и другие детали.

Эти регистры записываются в SMC по шине i2c.

Доступ к i2c неограничен, даже есть пин на материнке (J2C3).

Итак HANA чип стал нашим оружием замедленияя ЦПУ.

Итак, как - же это пашет?

- Мы посылаем i2c комманду HANA чипу для замедления ЦПУ на POST коде D8.

- Мы ждем старта POST DA (POST DA это сравнение памяти между внутренним хешем и хешем образа), запускаем счетчик.

- Когда счетчик достигает точного значения, посылаем 20нс сигнал на CPU_RESET.

- Ждем некоторое время и посылаем i2c комманду на HANA чип для восстановления скорости ЦПУ.

- Скорость ЦПУ восстанавливается и опять удача - вместо получение ошибки POST F2, процесс загрузки продолжается и CB_A грузит наш кастомный CB_B.

Когда CB_B стартует, DRAM не инициализируется, нам только нужно применить несколько патчей для запуска любого CD, патчи:

- Все время деактивируем режим zеro-paired, итак мы можем юзать патченный SMC.

- Не декриптуем CD, вместо планируемого плейнтекста CD в нанде.

- Не прекращаем процесс загрузки если хеш CD нехорош.

CB_B это закриптованный RC4, ключ идет из ЦПУ ключа, и какже мы можем пропатчить CB_B без знания ЦПУ ключа???

Обычный RC4:

закриптованный = плейнтекст xor псевдо-рандомный-ключпоток

Итак - если мы знаем плейнтекст и закриптованную часть - мы получим ключпоток, и с ним мы можем криптовать наш код!

Выглядит так:

угаданное-псевдорандомное-значение = закриптованное xor плейнтекст

новое-шифрованное = угаданное-псевдорандомное-значение xor плейнтекст-патч

Думаете это проблема что первее курица или яйцо? Как мы получим плейнтекст??

У нас есть плейнтекст из CB толстых консолей и мы заменив пару байт получили плейн такойже как и в CB_B, и мы можем закриптовать маленький кусочек кода для дампа ЦПУ ключа и декриптовать CB_B!!!

Нанд содержит CB_A, патченный CB_B, нашу полезную нагрузку в кастомном CD плейнтексте, и модифицированный SMC.

SMC модифицирован для бесконечной перезагрузки, и предотвращения посылки i2c , пока мы шлем наши.


И ТЕПЕРЬ ВЫ ПОНЯЛИ, ЧТО CB_A НЕ СОДЕРЖИТ ПРОВЕРОК В ФЬЮЗАХ! И ЭТО НЕПРОПАТЧИВАЕМЫЙ ХАК!!!!

Подводные камни
===============

Не все еще идеально:

- Последовательность глюков, которую мы проверили (25% успеха на попытку). Может занят пару минут на загрузку.

- Эта последовательность похоже идет изза какогото хеша модифицированного загрузчика (CD для тослстых и CD_B для слимок).

- Требуется хорошее железо для посылок ресет сигналов.

Текущее состояние дел
================

Мы использовали плату Xilinx CoolRunner II CPLD (xc2c64a), потомучто быстрая, точная, обновляемая, дешевая и может работать на 2х разных логических напряжениях одновременно.

Использовали 48 Мгц частоту дежурного режима из 360 глюкометра (прим. переводчика). Для хака слима счетчик запускается на 96 Мгц.

CPID код записан в VHDL.

Нужно отслеживать ПОСТ коды , мы использовали пост - пины , мы сейчас можем отслеживать пост через 1 пост бит , это снижает колличество проводов!

В ролях
======

GliGli, Tiros: Реверс инжинеринг и разработка хака.
cOz: Реверс инжинеринг, бета тестинг.
Razkar, tuxuser: бета тестинг.
cjak, Redline99, SeventhSon, tmbinc, и все, кого забыл... : Основной реверс инжинеринг и хаки 360.
 
XEO: с душею превел для вас этот фак по работе данного хака, всегда готов рассказать вам, как он работает ;)

_______________________________________________FAQ Reset Glitch [RUS] BY_XEO
Rumata:
Спасибо конечно, но слишком многа букф. У меня мигрень начинается, когда вижу тексты в таком стиле. Особенно, если "с душею превел"
SAMael:
Подождем что дальше будет, ато сыроватое всё таки.
lupus:
Автору русский бы подучить...
Pain:

--- Цитата ---Новый метод Jtag-хака для всех ревизий и дашей!
--- Конец цитаты ---
У меня так брат XBOX умер.
lob:
На бокслэнде ни слова про этот супер-пупер метод :) Зато написано, что новая волна банов началась :)
sonygod:
lob,оттуда и скопипастил я.посмотри ссылку на сам faq (самая последняя вконце поста там нужна рега что бы посмотреть пост) пока что все довольно сыро но взлом сделали.

з.ы на ннтт чук уже в теме про это говорил.
Evil LiR:
Чую, это ещё один вброс. Пока не появятся достоверные сведения об успешном применении метода, сидим, наблюдаем, запасаемся попкорном.
Pain:

--- Цитата: Evil LiR от 30 Август 2011, 12:58:39 ---Пока не появятся достоверные сведения об успешном применении метода, сидим, наблюдаем, запасаемся попкорном.

--- Конец цитаты ---
И ожидаем более простого метода.
sonygod:
Pain,паять в любом случии придется.
Pain:

--- Цитата: sonygod от 30 Август 2011, 13:15:30 ---Pain,паять в любом случии придется.

--- Конец цитаты ---
На дворе второе десятилетие 21 века. Я жду что-то того типо как на пс3 или вии ХОТЯ БЫ. :(
sonygod:
Pain,врятли такое будет.если только после жизненного цикла консоли.
ALEX_230_VOLT:
да, написано запутано и действительно на фэйк похоже. но будет ждать и надеятся :)
sonygod:
ALEX_230_VOLT,уже давно все выеснили что не фейк.просто еще взломаного дэшбоарда нет и сыровато все.
paul_met:

--- Цитата: sonygod ---Полный гайд / Файлы / Исходники / Диаграммы
--- Конец цитаты ---
При переходе по ссылке пишет,что файл удалён.
Йобан Матич:
Вот вам официальный сайт =)
sonygod:
paul_met,нужно быть залогиным на форуме чтоб был доступ.
paul_met:

--- Цитата: sonygod ---paul_met,нужно быть залогиным на форуме чтоб был доступ.
--- Конец цитаты ---
На каком форуме? Я про хостинг hotfile.com говорю.
sonygod:
paul_met,ах вон что.я думал ты про другое.
GKill:
Я так и не понял, что нужно сделать человеку, имеющему Слим-короб, чтобы запускать копии.
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии