Академический Документы
Профессиональный Документы
Культура Документы
Шифрование по-
индийски.
Взламываем Tally
ERP 9: аналог 1С из
страны контрастов
Олег Афонин , 9 часов назад " 1 # 1797
$ Добавить в закладки
!
Мобильная версия статьи
Содержание статьи
01. Что такое Tally ERP 9
02. Шифрование Tally Vault
02.1 Формат файла
02.2 Ключ шифрования
02.3 Алгоритм шифрования
02.4 Проверка пароля
02.5 Результат
02.6 Взлом
03. Как было бы правильно
04. Заключение
Ключ шифрования
Ключ шифрования получается из пароля напрямую; никакой соли и
тем более разделения на Media Encryption Key и Key Encryption Key
здесь нет. Индийские разработчики решили не полагаться на
существующие криптографические преобразования и создали свой
собственный вариант, настоящий кошмар криптографа.
ПАРОЛЬ КЛЮЧ
Алгоритм шифрования
Страницы шифруются алгоритмом, принцип работы которого сильно
напоминает обычный DES. Для шифрования используется 64-битный
ключ (который во время работы разворачивается в расширенный
128-битный, как и у настоящего DES). Шифрование блочное, размер
блока — привычные для алгоритма DES 64 бита. Алгоритм
используется в режиме CBC с первоначальной инициализацией IV
нулями.
Проверка пароля
В коде Tally Vault пароль проверяется так: расшифровывается
страница (все 512 – 4 байт), вычисляется ее контрольная сумма (CRC)
и сравнивается со значением, записанным в начале страницы. По
замыслу разработчиков, для расшифровки всей страницы и полной
проверки пароля потребуется расшифровать 64 блока по 8 байт (64
бита). Однако в данном случае дьявол кроется в деталях, и для
проверки пароля вычислять контрольную сумму всей страницы
совершенно не обязательно.
Результат
Вооружившись знанием об использованных алгоритмах хеширования
и шифрования, мы разработали две версии плагина для Elcomsoft
Distributed Password Recovery. В первой версии плагина реализована
«лобовая» атака, в которой правильность пароля проверяется именно
так, как задумали индийские разработчики. Во второй для проверки
используется константа в первом зашифрованном блоке. Как и
ожидалось, разница в скорости впечатляет.
Intel Core i7
345 000 11 400 000
9700K
Взлом
Для взлома паролей Tally Vault воспользуемся Elcomsoft Distributed
Password Recovery с соответствующим плагином. Откроем файл
Company.900.
Заключение
Tally ERP 9 полностью оправдал заявку маркетологов «создано для
наслаждения». Мы получили редкое удовольствие, создавая атаку на
данные Tally Vault, словно вернувшись на двадцать лет назад во
времена слабой, зарегулированной экспортными ограничениями
защиты.
Олег Афонин
Эксперт по мобильной криминалистике
компании «Элкомсофт»
1 комментарий
Владиславище
24.03.2020 at 21:14