
Инструмент для расшифровки initrd-образов устройств Ivanti путем реверс-инжиниринга bzImage ядра для поиска и использования встроенного ключа AES.
Вот инструмент, сделанный на скорую руку, для дешифрования initrd устройства Ivanti. Это в основном академический интерес, поскольку существуют и другие способы извлечения (гораздо более полезных) ключей LVM для реального корневого устройства.
Чтобы воспользоваться им, скопируйте файл ядра с Ivanti и извлеките ELF из bzImage (я использовал binwalk -e). Загрузите его в IDA и найдите функцию, которая ссылается на строки "/initrd.image" и "vaes". Ключ AES для initrd будет там. Добавьте этот ключ в скрипт, укажите свой initrd, и вы получите gz.
Обратите внимание, что у меня возникли проблемы с извлечением gzip-сжатого ядра — в итоге я использовал 7zip, который оказался гораздо более щадящим (чем gz).