2015-07-30 3 views
9

मैं टीएलएस पर पुडल भेद्यता के लिए परीक्षण करने में सक्षम होना चाहता हूं।टीएलएस पर पुडल का परीक्षण कैसे करें?

उदाहरण के लिए क्वालिज़ एसएसएललैब्स जैसे ऐसा करने के पहले से ही कई तरीके हैं, लेकिन यह बहुत ही सीमित है (केवल इंटरनेट पर उपलब्ध सर्वरों के टीसीपी पोर्ट 443)। वहाँ भी इस लिंक है, लेकिन मैं एक बहुत गलत परिणामों की/नकारात्मक जब परीक्षण किया गया है: http://www.exploresecurity.com/testing-for-poodle_tls-manually/

तो अब मैं OpenSSL 1.0.2d की टीएलएस कार्यान्वयन संशोधित करने के लिए अवैध पैकेट भेजने के लिए सक्षम होने के लिए कोशिश कर रहा हूँ (का उपयोग कर openssl s_client ...) और सर्वर के व्यवहार को देखने के लिए।

/* pad the payload|hmac */ 
plen += SHA_DIGEST_LENGTH; 
for (l = len - plen - 1; plen < len; plen++) 
    out[plen] = l; 

मैं:

यहां तक ​​कि अगर मैं सी के साथ वास्तव में परिचित नहीं हूँ, मैं लाइन 518 पर दिलचस्प कोड crypto/evp/e_aes_cbc_hmac_sha1.c में OpenSSL में एईएस सीबीसी-SHA (RFC 2246 के अनुसार) के लिए गद्दी को लागू मिल सकता है

/* pad the payload|hmac */ 
plen += SHA_DIGEST_LENGTH; 
for (l = len - plen - 1; plen < len; plen++) { 
    if (plen == len - l - 1) 
    out[plen] = (l + 1) % 256; 
    else 
    out[plen] = l; 
} 

फिर संकलन और परीक्षण:

ताकि इसे आरएफसी के अनुसार गलत बनाने के लिए पहले गद्दी बाइट बदलने के लिए इस में इसे संशोधित किया 0

और मैं कनेक्ट करने और एक HTTP अनुरोध जो प्रतिक्रिया मिली हो सका ...

तो मेरे सवाल है: यह अच्छा फ़ाइल मैं संशोधित वरना यह कुछ है नहीं था?

आपकी मदद के लिए बहुत बहुत धन्यवाद।

उत्तर

-1

AFAIK स्कैनर एसएसएलवी 3 कनेक्शन स्थापित करने का प्रयास करते हैं और यदि वे ऐसा कर सकते हैं तो वे सर्वर को पुडल के लिए कमजोर कॉल करेंगे (फिक्स असंभव है)।

एक उपकरण खोजने के लिए आप स्वयं को और स्रोत कोड चला सकते हैं जो एक पुडल स्कैनर लागू करता है, ओपनएसएसएल स्रोत पेड़ से शुरू होने वाले शोषण को लागू करने की कोशिश करने से कहीं अधिक आसान मार्ग हैं।

उदा। मेटास्प्लोइट फ्रेमवर्क।

या nmap पर:

+0

धन्यवाद swa66 से पहले

i += bs; 

: कि सिर्फ जोड़ने ऐसा करने के लिए। हालांकि, मैं एसएसएलवी 3 नहीं, टीएलएस पर पुडल का परीक्षण करने का एक तरीका ढूंढ रहा हूं। वैसे, आपके द्वारा भेजा गया विवरण सटीक नहीं है। एक सर्वर कमजोर होने के बिना SSLv3 का समर्थन कर सकता है। पाउडर भेद्यता सीबीसी सिफर सूट के उपयोग से जुड़ी हुई है, इसलिए उदाहरण के लिए एसएसएलवी 3 के साथ आरसी 4 का उपयोग कमजोर होने से बचाता है;) –

+0

एफडब्ल्यूआईडब्ल्यू: मैंने इस बात पर कोई टिप्पणी नहीं की कि क्या कमजोर है या नहीं, केवल एक प्रसिद्ध स्कैनर एल्गोरिदम के रूप में उपयोग करता है। मेटास्पलोइट में स्कैनर POODLE भेद्यता की रिपोर्ट करता है यदि उसे SSLv3 कनेक्शन मिलता है। एनएमएपी स्कैनर में चेक वास्तव में एक जटिल संकल्प करता है, जिसमें सीबीसी साइपरशूइट्स की जांच और टीएलएस से एसएसएलवी 3 में फॉलबैक शामिल है। – swa66

2

मैं एक ही समस्या थी, here जवाब दे दिया। असल में, आपको ssl3_enc फ़ंक्शन को संशोधित करने की आवश्यकता है (s3_enc में।ग फ़ाइल) और की जगह

for(size_t j = 0; j < i; ++j) { 
    rec->input[rec->length + j] = rand() % 256; 
} 

साथ

memset(&rec->input[rec->length], 0, i); 

और यह भी यह जब ब्लॉक अच्छी तरह से संरेखित करता है और वहाँ कोई गद्दी है मामलों के लिए गद्दी आकार बढ़ाने के लिए सबसे अच्छा है। सही इन पंक्तियों

/* we need to add 'i-1' padding bytes */ 
l += i; 
संबंधित मुद्दे