Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CACredDecoder — C-Ark Credential Decoder для #CVE-2021-31796 | Kitploit
Инструменты/GitHubGitHub/unmanarc/cacreddecoder
Взлом паролейИнструменты шифрования/дешифрованияАнализ уязвимостейЭксплуатацияКриптографияТестирование на Проникновение
GitHubunmanarc/cacreddecoder

CACredDecoder

C-Ark Credential Decoder для #CVE-2021-31796

Репозиторий
114 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

C-Ark Credential Decoder

Эксплойт-инструмент для CVE-2021-31796
Инструмент для декодирования файлов учетных данных C-Ark

Авторы: Aaron Mizrachi        - https://twitter.com/unmanarc/
      Enrique Vaamonde - https://twitter.com/_ejvm
Первый выпуск: 2/Sep/2019
Раскрытие: 11/Oct/2021

Ссылки

  • https://packetstormsecurity.com/files/164023/CyberArk-Credential-File-Insufficient-Effective-Key-Space.html
  • https://vuldb.com/?id.181904

Ответственное раскрытие:

Эта уязвимость ожидала публичного раскрытия с сентября 2019 года.

И... вот хронология:

  • 2019-08-1x Во время одного упражнения наша команда обнаружила и сообщила местному представителю вендора о потенциальной криптографической слабости в некоторых используемых методах хранения учетных данных.
  • 2019-08-30 До этой даты у нас было только доказательство концепции в памяти на основе «ollydbg» с использованием их собственных инструментов. Мы пытались донести мысль о том, как это может стать вектором атаки в определённых конкретных ситуациях, но нам не удалось донести её. Поэтому мы решили начать писать это доказательство концепции, чтобы получить более наглядный аргумент.
  • 2019-09-02 Мы успешно реализовали хэширование и криптоалгоритм в собственном доказательстве концепции (полностью независимом от продукта).
  • 2019-09-03 Мы объявили вендору о наших находках и о нашем желании сделать их общедоступными.
  • 2019-09-20 Мы получили от вендора просьбу отложить публичный выпуск до тех пор, пока проблема не будет устранена.
  • 2020-05 Мы снова связались с ними, чтобы получить разрешение на выпуск инструмента, и обменялись парой писем, в которых они сообщали, что ещё не готовы.
  • 2021-09/2021-10 Мы обнаружили, что другие, не связанные с нами исследователи также недавно нашли и публично раскрыли ту же самую уязвимость, и в связи с этим... наконец-то (спустя 2 года!) получили от вендора разрешение поделиться с вами нашими находками и инструментом доказательства концепции для эксплуатации криптографической слабости CreateCredFile.

Возможное использование:

Во время пентеста, если кому-то хватит ума добраться до PSM и случайно получить доступ к CredFile, он потенциально сможет использовать этот файл для установления соединения с Vault и получить всю полноту власти...

В качестве контрмеры большинство файлов учетных данных накладывают некоторые «ограничения», чтобы пароль нельзя было использовать в другом окружении/на другом компьютере (например, в собственном PSM хакера).

Однако эти ограничения можно изменить, если вы проведёте реверс-инжиниринг и получите исходную часть ключа. Эта расшифрованная часть ключа может быть использована для повторного создания другого файла с другими «параметрами безопасности» (например, другой хост, другое приложение, другой пользователь ОС).

Режим работы

Для генерации исходного ключа расшифровки AES-256 (32 байта) мы берём пару SHA1SUM из поля учетных данных «AdditionalInformation», добавляя «0x00000000» и «0x00000001» для каждого хэша; первый хэш даёт первые 20 байт ключа, а второй — только последние 12 байт.

Если есть какие-либо ограничения окружения (например, IP/Host/exepath/...), мы добавляем каждое значение в открытом виде в начало AdditionalInformation перед вычислением обоих SHA1SUM.

Важно упомянуть, что поле «ClientApp» преобразуется с помощью BASE64(SHA1SUM(strlower(ClientApp))) перед добавлением к «AdditionalInformation» и генерацией обоих SHA1SUM.

Расшифровка выполняется с помощью функции OpenSSL AES-256-CBC с использованием поля Password или NewPassword. (https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption)

Мы используем (verificationflags-16), чтобы определить, какая проверка/ограничение действует:

root@kitploit:~
usingClientApp      = ((uVerificationsFlag&0x1) != 0);
usingAppPath        = ((uVerificationsFlag&0x2) != 0);
usingClientIP       = ((uVerificationsFlag&0x4) != 0);
usingOSUser         = ((uVerificationsFlag&0x8) != 0);
usingClientHostname = ((uVerificationsFlag&0x20) != 0);

и в случае, если некоторые ограничения не отображаются в выходном файле учетных данных, вы всегда можете ввести их вручную. Думаю, мы оба согласимся, что ни «путь приложения», ни «клиентский IP» не являются по-настоящему случайными значениями.

Смягчение:

Используйте HSM \o/ и не храните ключ расшифровки в cred-файле.

Как собрать:

root@kitploit:~
qmake . 
make -j8
Скачать инструмент