Сейчас на форуме: (+9 невидимых)

 eXeL@B —› Протекторы —› Armadillo (Туторы, скрипты, плагины etc)
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>
Посл.ответ Сообщение

Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 13 апреля 2012 17:49 · Поправил: Модератор
· Личное сообщение · #1

Armadillo Key Tool

--> github.com/mrexodia/akt <--


Tutorial:
PDF: --> Armadillo Key Tool Manual.pdf <--
Видео: --> Armadillo_ECDSA_Patching <-- (требует установленный Flash Player)

| Сообщение посчитали полезным: matrix, huckfuck, AKAB, Isaev, plutos

Ранг: 13.0 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 13 апреля 2012 21:07
· Личное сообщение · #2

Вот и настал арме конец,осталися кейгенинг и secured секции



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 13 апреля 2012 21:23
· Личное сообщение · #3

matrix пишет:
осталися кейгенинг и secured секции

давно уже сделано, токо не на паблике.

-----
SaNX


| Сообщение посчитали полезным: DimitarSerg


Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 14 апреля 2012 00:31
· Личное сообщение · #4

хехе, симметрик брутер до версии 7.2. в этом-то и собака порылась

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 апреля 2012 00:33
· Личное сообщение · #5

Кое-кто из завсегдатаев этого форума написал для последних версий. Можете у него спросить, если угадаете ник)))

P.S. Не, не, у меня нету)




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 14 апреля 2012 00:36 · Поправил: ajax
· Личное сообщение · #6

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

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 апреля 2012 02:03
· Личное сообщение · #7

SSE реализация на Core i7 дает скорость 32 симметричных ключа за 4 часа. Тоже самое у меня на видеокарте с CUDA - тоже 4 часа... Конечно я не говорю про эсктрим и топовую нвидию...




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 14 апреля 2012 03:48 · Поправил: Gideon Vi
· Личное сообщение · #8

int пишет:
Можете у него спросить, если угадаете ник)))


Vovan666

ajax пишет:
вопрос, чтобы в разы увеличить скорость, типа GPU


не все можно перенести на gpu с приростом скорости.




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 14 апреля 2012 06:03 · Поправил: ajax
· Личное сообщение · #9

int
Gideon Vi
int пишет:
SSE реализация на Core i7 дает скорость 32 симметричных ключа за 4 часа. Тоже самое у меня на видеокарте с CUDA - тоже 4 часа

"На данный момент на nVidia 9600GT/C2D 3Ghz CUDA-версия проверяет 350 миллионов ключей в секунду, а SSE2 - 108 миллионов." (c) http://3.14.by/ru/md5

автор слажал с реализацией под SSE2?..

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





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 14 апреля 2012 07:17
· Личное сообщение · #10

ajax, а в арме точно "тот же md5"?



Ранг: 30.8 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 14 апреля 2012 08:36
· Личное сообщение · #11

@int
Показатель "32 симметричных ключа за 4 часа" ниочем не говорит,
Это зависит от числа сертификатов,количества потоков и от реализации брута.
А за сколько полный перебор в один поток???



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 14 апреля 2012 09:39
· Личное сообщение · #12

Iona пишет:
Это зависит от числа сертификатов,количества потоков

и как же, интересно?

-----
SaNX




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 14 апреля 2012 09:56
· Личное сообщение · #13

Gideon Vi
Не угадал. Причем я даже наверное знаю про какую тулзу идет речь, но она заточена только под интеловские камни и на амд дает результат хуже наверно чем самая простая md5 реализация в 1 поток.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 апреля 2012 13:08
· Личное сообщение · #14

Мне не жалко выложить инструмент. Но не я его автор. Я просто реверснул алгоритм CRC 3-его поколения (напомню, что было и 1-ое поколение, про которое никто уже не помнит, арма версии до 3.40, кажется), как только он появился, а данный индивид любезно написал программу брутфорса, скорее из спортивного интереса, нежели для себя. Если он посчитает нужным ее выложить здесь, так тому и быть. Сам алгоритм не приватен, его давно все изучили, все кому не лень. Вопрос выкладки тулзы скорее относится к морально-нравственным (типа вот сейчас придут на готовое не понимающие люди, что сделает им же хуже, как было уже с сотней автоматических тулз - пользователи последних тупеют), нежели нытье вида "ну вот опять, приват на паблик выложили, теперь дыру прикроют".

Кстати не прикроют, для этого пришлось бы полностью менять регистрационную схему, ибо 32 битный симметричный ключ это грубое нарушение правил криптографии. А это влечет за собой жестокие модификации. Только представьте, тысячи селлереров должны будут менять свои скрипты на сайтах, а разработчики переделывать файлы проектов, высылать легальным подписчикам новые ключи. Модификация сервисов Digital River и eSellerate. Потребуется на половину переписать security.dll, ну и еще много чего. Если это будет сделано, это будет уже не Armadillo, а полностью новая защита.

Vovan666 пишет:
Причем я даже наверное знаю про какую тулзу идет речь, но она заточена только под интеловские камни и на амд дает результат хуже наверно чем самая простая md5 реализация в 1 поток.

SSE2 как будто в AMD нету Не проверял, но по идее результат тот же.

Iona пишет:
Показатель "32 симметричных ключа за 4 часа"

Прошу прощения. Не правильно выразился. 32 CRC от симметричных ключей. Замер времени был произведен на core i7 2670QM. Понятное дело 8 потоков. Ноутбук при этом жарит воздух (респект интеловским разработчикам за создание нанотехнологического обогревателя).



Ранг: 30.8 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 14 апреля 2012 13:17
· Личное сообщение · #15

@SaNX
В проге редко бывает больше 10 сертификатов, очевидно речь идет об одном сертификате.
К одному сертификату можно найти только один правильный ключ, очевидно что, 32 ключа
это не правильно найденные.
Отсюда задачка:
Тулза за 4 часа находит 32 неправильных ключа.
За сколько времени будет найден правильный ключ???



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 апреля 2012 13:22
· Личное сообщение · #16

К одному сертификату может быть найдено до тысячи ключей, за счет коллизий. А уже потом, вторая тулза юзает TEA и смотрит на дамп массива зашифрованных сертификатов. Время работы утилы поиска коллизий не зависит от числа поданных на вход контрольных сумм. 32 было выбрано, т.к. редко найдешь программу где сертов больше (практически невозможно такое найти), а это кол-во влезает в SSE регистры. Основной акцент на отсутствии операций обращения к памяти.



Ранг: 30.8 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 14 апреля 2012 13:33
· Личное сообщение · #17

@int
CRC32 от симметричных ключей находится в регистрационном ключе.
для того чтобы сбрутить вам надо иметь валидную пару
либо впроге должны быть прописаны утеренные ключи.
Я правильно понял?



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 14 апреля 2012 13:37 · Поправил: SaNX
· Личное сообщение · #18

Iona пишет:
За сколько времени будет найден правильный ключ???

зависит от того, сколько времени будет идти брут. Тулза просто ищет все ключи, которую дадут заданную ЦРЦ. Неверных ключей может быть миллион, при том из этого миллиона верным может быть самый первый ключ.

у меня был вопрос: как брут зависит от "числа сертификатов,количества потоков"? Тулза написана так, что на вход можно подавать несколько ЦРЦ, брутиццо будут все сразу.


Iona пишет:
Я правильно понял?

нет. в проге в каждом серте лежит ЦРЦ.

-----
SaNX




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 14 апреля 2012 13:43 · Поправил: Vovan666
· Личное сообщение · #19

int пишет:
SSE2 как будто в AMD нету Не проверял, но по идее результат тот же.

при запуске к примеру armabrut_sse -a 0 -h 0765D867 -o c:\1.txt -p 1 (инструкции не было, параметры подбирал наугад). время брута ~8мин против ~2.5мин брутилки(4потока) от ev1l^4



Ранг: 30.8 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 14 апреля 2012 15:55
· Личное сообщение · #20

@SaNX
У меня тоже есть бртилка и тоже не моя, по этому тоже не дам.
Просто хотел сравнить скорость.
По моим расчетам на i7 к Armadillo 9.00 ко всем сертификатам будут найдены ключи за 5 часов.




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 14 апреля 2012 16:20 · Поправил: ajax
· Личное сообщение · #21

int пишет:
32 CRC от симметричных ключей

32 коллизии для 1 симм. кея? полный просчет 1 кея - $FFFFFFFF, при котором нашлись эти 32 коллизии? 32 коллизии для 8 разных ключей в 8 потоках?

Iona пишет:
на i7 к Armadillo 9.00 ко всем сертификатам будут найдены ключи за 5 часов

с трудом верится

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


| Сообщение посчитали полезным: DimitarSerg

Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 14 апреля 2012 20:08 · Поправил: VodoleY
· Личное сообщение · #22

ajax 5 не пять.. но в пару суток укладываеца.. а это есть результат
З.Ы я ставил 6 компов.. имею возможность (клиентов) это УЖЕ не важно. пройдет годик и 3-4 дня сократяца в 3-4 часа

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 15 апреля 2012 00:50
· Личное сообщение · #23

SaNX пишет:
нет. в проге в каждом серте лежит ЦРЦ.

Так-с. По ходу здесь нужен ликбез небольшой.

В арме лежат следующие данные:

I. Массив публичных ключей (верно для поколений ключей с цифровой подписью - V2Key, V3Key, ShortV3Key)
BYTE KeyLevel; // 0x00 - 0x03 = V2Key Level 1 - 4
// 0x0A - 0x12 = V3Key Level 1 - 9
// 0x14 - 0x1D = ShortV3Key Level 1 - 10
BYTE ExpLength; // длина эскпоненты
DWORD CheckSum; // контрольная сумма симметричного ключа, всего известно 3 поколения алгоритмов
// для контрольной суммы. Первый из них это примерно 3.00 - 3.40 арма (очень много коллизий),
// второй относится к версиям 3.50 - ~7.40 (не помню точно последний билд, в данном алгоритме в
// среднем от 1 до 5 коллизии), третий - ввели дополнительный параметр, индивидуальный для каждый
// программы, а сам алгоритм усилен лам-методом аля for (i = 0; i < 1000; i++) t = md5(t); (только там не
// 1000, а другое число и алгоритм чуть другой, если надо, представлю его здесь). В третьем алгоритме
// порядка 1000 коллизий (но при этом это гораздо приятнее первого поколения)
BYTE Exponent[ExpLength]; // собственно публичный ключ, в случае, если уровень не 0x1D (не ECDSA)
// успешно брутится всеми подряд. Кто до этого дошел сам, кто подглядел у других, кто использует
// готовые чужие инструменты (и таких "ломателей армы" большинство, к ним же отношусь и я, хотя
// я все равно не мало превнес в исследование армы и продолжил несколько заброшенных проектов)
Собственно, Exponent является числом Y, которое так просят все инструменты, а люди которые либо
не шарят в криптографии, либо им лень поставить бряк на GetWindowTextA/W спрашивают на всех
подряд форумах, а где же прикоснуться к этой "великой приватной тайне" и где взять этот Y?

С лирикой покончили. Итак, мы хотим сделать кейген, что для этого надо сделать?
1. Для случая ECDSA, можно патчить Exponent (обычная строка с 3 параметрами через запятую, их можно просто заменить на свои, понятное дело, поправив все контрольные суммы) или же саму проверку подписи (только делать это надо грамотно, иначе проверка сработает на первом же серте с ECDSA и мы не сможем использовать другие серты, по этой же причине найденная группой NGEN уязвимость не позволяет регистрировать программу более чем на одном серте - в смысле выбора нет). Есть мнение, что ECDSA-113 с кривой Коблица брутится максимум за год и это вполне реальный взлом (там пару бит можно сбросить вроде как). В реальности же не видел ни у кого этой технологии, только "болтология". Когда была дыра в ГПСЧ, ECDSA кейгенили ребята с reversing.net, а затем и группа TMG. Кое-кто очень добрый слил дыру Чаду Нельсону, после чего ее прикрыли.
1a. Для случая ElGamal берем Y, открываем исходники KeyMaker.cpp, который уже несколько раз релизился и изучаем принцип построения констант для дискретного логарифма. Хотя можно не заморачиваться (да и не всем эта теория под силу) и взять публичный инструмент, например, от vel'а. Получаем Pvt - приватный ключ.
2. Нам нужно получить симметричный ключ. Берем либо из валидного серийника (он там поксорен HWID'ом), либо проводим атаку на алгоритм подсчета контрольной суммы (CheckSum которая).

И тут есть одна "великая тайна". Симметричный ключ на самом деле на хер не нужен. Я писал эту инфу в паблике на ExeTools, на меня там как на идиота смотрели. Реально симметричным ключом зашифрованы не Secured Sections, а параметры сертификатов, а уже там лежит нужный ключ, который можно получить не вскрывая параметры серта вообще! Старожилы форума утверждают, что на креклабе когда-то была поднята эта тема (публично!), но некто Mario555, имевший на тот момент статус модератора, присвоил труды себе, а тему эту удалил. Так вот ниже собственно то, что и надо называть сертификатами:

DWORD data_size; // размер криптованного серта
BYTE mini_crc; // md5_hash[0] & 7 - позволяет сразу отбросить подозрение на валидность
// по трем битам хэша
BYTE certificate_params[data_size]; // тут лежат все параметры, включая уровень ключа - самый первый
// байт (что кстати и является ключом ко взлому Unsigned (т.е. без ЭЦП) сертификатов первого поколения),
// глобальный для серта ExpirationDate и другие параметры подобного плана (читайте ман самой армы о
// том, каким может быть сертификат), данные для создания ключа для SecuredSections и указатели
// маркеров SecuredSections (типа где они лежат). Каждый серт способен расшифровывать только
// какие-то определенные SecuredSections, указанные разработчиком в настройках при упаковке.

md5_hash понятное дело на прямую зависит от симметричного ключа. Сам md5_hash служит TEA ключом для сертификата.

Теперь можно попонтоваться.
SaNX пишет:
нет. в проге в каждом серте лежит ЦРЦ.

Не в каждом серте, а в каждом элементе списка публичных ключей. У Unsigned нет публичного ключа (равно как и ЭЦП), значит нет и ЦРЦ.

ajax пишет:
32 коллизии для 1 симм. кея?

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

ajax пишет:
с трудом верится

А ты поверь.

| Сообщение посчитали полезным: MasterSoft, Gideon Vi, Isaev, plutos, NikolayD, obfuskator

Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 15 апреля 2012 00:57 · Поправил: SaNX
· Личное сообщение · #24

int пишет:
У Unsigned нет публичного ключа (равно как и ЭЦП), значит нет и ЦРЦ.

ну понятно, что я имел ввиду левелы >=1

-----
SaNX




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 15 апреля 2012 01:09
· Личное сообщение · #25

Выкладываю прямой брут массива закриптованных сертов. Тулза используется для отсева коллизий после косвенного брута симметричного ключа по его контрольной сумме.

Не хватает энтузиазма данный дерьмокод привести в человеческий вид, коллизии брать из файла (как вы догадались, они там захардкодены) и массив зашифрованных сертов тоже брать из файла. Также лень сделать дампер зашифрованных сертов и параметров Magic1 и Magic2, и тоже брать их из внешнего файла. Если кто-то все это сделает и выложит, получит много респекта лично от меня и почет у крекеров-малолеток.

P.S. Код создавался для подтверждения теории, что взломать новую схему армы возможно. Отсюда неуниверсальность данного кода. Т.к. ломать мне не интересно, а интересно исследовать, после взлома "не помню чего" (откуда, собственно, и были вытащены все параметры-данные) я успокоился и забил. Делать кому-то подарок в виде тулзы в два клика, чтобы кто-то наживался на реквестах в теме Запросов на взлом (как поступил со мной Ev1l^4) я не намерян. Теория изложена, можно сказать полностью. Вот вам и слив армы на паблик.
Upd: Кстати соврал. Массив зашифрованных сертов берется из файла certs_crypted.bin, а вот коллизии и Magic'и уже захаркодены. Сталобыть допилить не долго! ;)

4fc5_14.04.2012_EXELAB.rU.tgz - brute.cpp

| Сообщение посчитали полезным: DimitarSerg, Dart Sergius, CyberGod

Ранг: 30.8 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 15 апреля 2012 09:02
· Личное сообщение · #26

@int
Разве так сложно забанить Ev1l^4
Кстати ты не первый кого он кинул.
У меня есть подозрение что именно он, сливает информацию разработчикам.




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 15 апреля 2012 12:13
· Личное сообщение · #27

int
отлично расписал, многим будет полезно

int пишет:
32 штуки контрольных сумм взятых из массива публичных ключей, с целью брутить сразу 32 максимум симметричных ключа (понятное дело, для разных сертификатов)

в таком случае напрашивается вывод, что у них одинаковый salt?

int пишет:
А ты поверь

я про 5 часов на 1 компе

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




Ранг: 30.8 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 15 апреля 2012 13:22
· Личное сообщение · #28

@ajax
На моем i5 2,5ГГЦ в четыре потока на это ушло 16 часом,
А по дразные компы пересчитывайте сами.




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 15 апреля 2012 13:36 · Поправил: ajax
· Личное сообщение · #29

Iona
очень интересно, чей брутер. но, я не готов апаться для дома на топовый i5-i7 пока что. а opencl решение должно быть очень заманчиво

почему не я - "дельфисты и ассемблеристы мы"

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 15 апреля 2012 14:22
· Личное сообщение · #30

ajax пишет:
в таком случае напрашивается вывод, что у них одинаковый salt?

Само собой. 32 битная соль общая для всей программы. Из программы вытаскиваются массив публичных ключей, оттуда контрольные суммы и дополнительно DWORD соли. Все загоняется в брутер.

Автор брутера пока молчит на счет публикации исходников. Может просто занят.


. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>
 eXeL@B —› Протекторы —› Armadillo (Туторы, скрипты, плагины etc)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати