eXeL@B —› Основной форум —› Опознать тип шифрования CryptoPP |
Посл.ответ | Сообщение |
|
Создано: 02 июня 2018 08:08 · Поправил: c0deh1der · Личное сообщение · #1 Помогите опознать какой тип шифрования используется. Опишу принцип: Вижу в отладчике, что создается дамп 1024 байта (0x400) и далее берется зашифрованный файл и каждый байт расшифровывается типом XOR только не побайтно а сразу по 4 байта (DWORD), но это в принципе никакого значения не имеет. Расшифровывается блоками по 256 байт(0x100), то есть 4 куска. Библиотека CryptoPP используется. Так бы, конечно просто было бы вытащить дамп, ключа, но он генерируется всего 1024 байта и так весь файл. Файл может быть большой и хотелось бы поняв что за алгоритм, найти исходный ключ, который скорее всего 16 байт, на базе которого и генерятся эти блоки. Может есть методика какая, как по каким-то опорным точкам определить тип шифрования? ) P.S. Добавлю по наблюдениям: дамп для XOR создается сначала первые 16 байт, потом после нескольких скачков по функциям остальные 1008 байт. Вижу как сразу весь кусок добавлется. И шифрование видно что симметричное, так как в разных файлах одни и те же байты в одних и тех же местах зашифрованные байты одинаковы. Рисунок "матрицы" совпадает. Рядом в коде вижу такие штуки типа: TestAuthenticatedSymmetricCipher |
|
Создано: 02 июня 2018 08:33 · Личное сообщение · #2 |
|
Создано: 02 июня 2018 09:57 · Личное сообщение · #3 Много там разного находится, не относящегося к делу. Поэтому проги для сканирования сигнатур не катят. Про CryptoPP это я тоже знаю, но библиотека поддерживает такое кол-во видов, что если только пробовать каждый, компилить и потом идой смотреть как он выглядит чтобы сравнить))))))) Мне кажется это садомазо))) |
|
Создано: 02 июня 2018 10:36 · Личное сообщение · #4 |
|
Создано: 02 июня 2018 13:28 · Личное сообщение · #5 |
|
Создано: 02 июня 2018 14:37 · Поправил: f13nd · Личное сообщение · #6 Факт того, что при одинаковых данных на входе каждый раз те же данные на выходе, указывает не на симметричный алгоритм, а отсутствие соли. Если известно что за библиотека, я бы посоветовал найти ее в виде dll и по константам/строкам выяснить имена используемых функций. Это был бы самый простой и быстрый способ. ----- 2 оттенка серого |
|
Создано: 02 июня 2018 16:16 · Поправил: c0deh1der · Личное сообщение · #7 Попробовал FLIRT, и кучу других плагинов, попробовал CC by Aleph. Находят очень много всего))) Теперь еще сложнее. Все дело в том, что в этой библиотеке много разных функций для разных задач. Например, есть работа с HASP, но он нам не нужен. Есть разные CRC и прочее. f13nd, обычно шифрование каждый последующий байт шифрует на основе предыдущих данных. Таким образом изменение одного байта приводит к изменению всего файла после этого байта. Здесь же такого нет. В архиве, расшифрованная dll, взятая из памяти. и файлы .cfg зашифрованные и расшифрованные для двух разных версий (для сравнения). (.cfg читает эта dll и расшифровывает в памяти для себя) если IDA открыть, то начинается с чтения этого файла тут: sub_12431960 sub_12438860 - собирается ключ 3E FC D2 98 C7 AF 7A D5 36 B0 3E 9A 66 0E 19 5B D9 C6 14 3B 44 10 AF 48 83 3B 3C 3E FC D2 98 C7 два по 16 байт думаю это ключ и IV только пробовал декодировать используя их всякими утилитами - не катит. Во благо народного достояния, готов отблагодарить немного, если поможете. А то я уже все декодировал, нужное так из памяти выдрал. Но дело принципа не дает мне покоя))) Я подсунул вместо cfg ему файл с нулями размером в 10 метров, и из IDA выдрал созданный декодированный дамп точно такого же размера, по сути являющийся xor. С помощью него можно декодировать любой файл меньшего размера... но ведь не по фен шую)) |
|
Создано: 02 июня 2018 16:55 · Личное сообщение · #8 |
|
Создано: 02 июня 2018 17:28 · Поправил: f13nd · Личное сообщение · #9 |
|
Создано: 02 июня 2018 18:05 · Личное сообщение · #10 r_e, Дистриб: http://catcut.net/ACwv Та dll, которая присутствует в оригинале, внутри содержит зашифрованную dll, которую я выложил в предыдущем посту. Я ее кладу рядом c родной и запускаю lecroySparqapp.exe с отладкой расшифрованной dll. И все работает. Все это в папке: c:\Program Files\LeCroy\XStream\ Сразу над пофиксить IsDebuggerPresent(). f13nd, В том и дело ж-) В предыдущей версии они пользовали Blowfish. И вроде все было понятно, но когда их рассекретили, они побыстрому "пофиксили" и сделали какую-то муть, что не понятно - вроде и шифрование и вроде где-то кто-то кого-то нае^^^. |
|
Создано: 02 июня 2018 18:58 · Личное сообщение · #11 c0deh1der Не вижу выше ни либ ни имен, но криптопп нашлось только в одном файле ConfigMgrSvr.dll. На первый взгляд шифрование идет через CryptoPP::TF_VerifierImpl<CryptoPP::TF_SignatureSchemeOptions<CryptoPP::TF_SS<CryptoPP::PKCS1v15,CryptoPP::SHA1,CryptoPP::RSA,int>,CryptoPP::RSA,CryptoPP::PKCS1v15_SignatureMessageEncodingMethod,CryptoPP::SHA1>> Надеюсь смогете понять как это в с++ будет. Параметры инициализации для нее в sub_100AE481 Добавлено спустя 1 минуту Кстати, раз уж вы Lecroy копаете, может подскажете есть ли для его девайсов генераторы кодов активации фич? ----- старый пень |
|
Создано: 02 июня 2018 19:07 · Личное сообщение · #12 |
|
Создано: 02 июня 2018 19:51 · Личное сообщение · #13 f13nd, да но что это за алгоритм? ))) Так то понятно что все работает как-бы... но топик называется иначе) | Сообщение посчитали полезным: sefkrd |
|
Создано: 02 июня 2018 21:01 · Поправил: f13nd · Личное сообщение · #14 c0deh1der такая хурма, как я уже говорил, к серьезной криптографии относиться не может. Поэтому что за алгоритм? - любительская поделка, с характерным "ты состаришься пока разберешь эти два мегабайта кода". Мне нечто подобное иногда попадается в устройствах управления, но скорей как защита от дурака и потому что не всякий контроллер потянет что-то сложней за приемлемое время посчитать. Ну скорей не подобное, а в точности такое же Code:
просто по какому-то закону генерируется бесконечная последовательность чисел, на которые данные ксорятся. У этого алгоритма нету названия, его придумал азиатский инженер. ----- 2 оттенка серого |
|
Создано: 02 июня 2018 22:12 · Личное сообщение · #15 |
|
Создано: 02 июня 2018 23:47 · Личное сообщение · #16 |
|
Создано: 03 июня 2018 07:40 · Личное сообщение · #17 |
eXeL@B —› Основной форум —› Опознать тип шифрования CryptoPP |