→ RuCTF-2010: CA

| 1 Comment | No TrackBacks

В продолжение темы RuCTF2010, хочу рассмотреть еще один уязвимый сервис - CertificateAuthority. Во время игры, флаги с этого сервиса удалось получить только команде SiBears. Сервис CA (certificateauthority.tgz) написан на Java, но это не принципиально. Функционально он представляет собой сервис для выдачи сертификатов и хранения любых сообщений пользователей. Игровые чекеры получали сертификат и оставляли зашифрованное сообщение (флаг).

Предоставленный исходный код содержал функционал не только генерирования сертификата, но и шифрования сообщения, своеобразная подсказка от разработчиков позволила понять в каком формате чекер оставляет сообщения. Почти с первых минут анализа кода стало ясно, что нужно искать уязвимость в криптостойкости применяемого алгоритма. Активный гуглинг на тему дискретного логарифмирования показал, что мы имеем дело со схемой ElGamal. А одним из эффективных алгоритмов дискретного логарифмирования (схема строится на его сложности) является алгоритм Полига-Хеллмана.

Еще гугла, еще кодинга и мы получили PoC (ca.py), но к сожалению игра уже несколько секунд как закончилась, успели только отправить адвайзори без эксплойта. Жаль, что мы взялись за этот сервис так поздно.

Патчинг состоит в использовании достаточно большого простого числа P, на котором генерируется сертификат.

No TrackBacks

TrackBack URL: http://smokedchicken.org/m/mt-tb.cgi/27

1 Comment

В тайне надеялся, что игру продлят на еще на пару минут и успеем немного флагов утащить :)

About this Entry

This page contains a single entry by Антон Сапожников published on April 27, 2010 11:18 PM.

RuCTF-2010: GPLv4 was the previous entry in this blog.

RuCTF-2010: SVN is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.