
Raspberry Pi RP2350 हैकिंग चुनौती: Pico 2 बोर्ड्स के लिए सेटअप स्क्रिप्ट्स और फर्मवेयर के साथ, सिक्योर बूट और OTP लॉक द्वारा संरक्षित 128-बिट OTP सीक्रेट निकालें।
Raspberry Pi RP2350 हैकिंग चैलेंज और बग बाउंटी में आपका स्वागत है!
हमारा त्वरित व्याख्या वीडियो देखें:

4 विजेताओं को बधाई! उन सभी के बारे में यहाँ पढ़ें।
2024 में इस चैलेंज को विकसित और लॉन्च करने में हमारी सहायता करने के लिए Thomas Roth और Hextree.io की टीम को बहुत-बहुत धन्यवाद!
RP2350 हैकिंग चैलेंज समाप्त हो गया है।
कुछ शानदार सबमिशन प्राप्त हुए हैं! हम 14 जनवरी 2025 को विजेताओं की घोषणा करेंगे और विवरण प्रकाशित करेंगे।
अभी तक कोई ब्रेक रिपोर्ट नहीं किया गया है।
हम पुरस्कार को दोगुना करके $20,000 कर रहे हैं!
हमने चैलेंज की अवधि बढ़ा दी है, अब यह 31 दिसंबर 2024 (यूके समय) की मध्यरात्रि तक चलेगा।
लक्ष्य आसान है: एक ऐसा हमला खोजें जो आपको OTP ROW 0xc08 में छिपे एक रहस्य को डंप करने देता है - रहस्य 128-बिट लंबा है, और OTP_DATA_PAGE48_LOCK1 और RP2350 के सिक्योर बूट द्वारा सुरक्षित है!
यदि आपको लगता है कि आपने कोई ब्रेक खोज लिया है तो विवरण के साथ हमें [email protected] पर ईमेल करें - हम आपको एक Pico2 भेजेंगे जिसमें एक कस्टम रहस्य छिपा होगा। यदि आप इसे निकालने में सफल होते हैं, तो आप $20,000 जीतते हैं!
शुभकामनाएँ!
इस चैलेंज के लिए हम आपके RP2350 में निम्नलिखित स्थायी और अपरिवर्तनीय परिवर्तन करेंगे:
crit1.secure_boot_enable के माध्यम से सिक्योर-बूट सक्षम करना (लेकिन सार्वजनिक कुंजियों के साथ)crit1.debug_disable के माध्यम से डीबग अक्षम करनाec_private_key.pem और ec_public_key.pem। यदि आप अपनी स्वयं की कुंजियाँ बनाना चाहते हैं तो आप openSSL का उपयोग करके नई कुंजियाँ बनाने के लिए keygen.sh चला सकते हैं।./write_otp_secret.sh का उपयोग करके - यह अपरिवर्तनीय है, क्योंकि हम OTP को "मिटा" नहीं सकते।./read_otp_secret.sh चलाकर जाँच सकते हैं कि यह लेखन सफल रहा या नहींmkdir buildcd buildcmake -DPICO_PLATFORM=rp2350 -DPICO_BOARD=pico2 ..makecd ..enable_secureboot.sh चलाकर चिप पर सिक्योर-बूट सक्षम करते हैं (यह अपरिवर्तनीय रूप से सिक्योर-बूट सक्षम करता है! सुनिश्चित करें कि आप अपनी कुंजियों का बैकअप रखें!)
डीबग संस्करण दिखाता है कि उस OTP रहस्य को कैसे पढ़ा जाए जिसे आपको निकालना है, और यह भी बताता है कि चिप में क्या हो रहा है इस पर कुछ डीबग आउटपुट देता है।
चूँकि printfs आदि फॉल्ट-इंजेक्शन हमलों के प्रति संवेदनशील हो सकते हैं, हमने उन्हें सिक्योर संस्करण में अक्षम कर दिया है।
हमारा "गोल्डन" चैलेंज Pico 2 फर्मवेयर के सिक्योर-संस्करण को चलाएगा, जिसमें बाइनरी को RAM में कॉपी किया गया है।
इस चैलेंज में भाग लेकर आप अपने डिवाइस पर स्थायी रूप से सिक्योर-बूट सक्षम कर रहे हैं।
आप जो भी फर्मवेयर इंस्टॉल करना चाहते हैं, उसे आपको स्वयं साइन करना होगा। आप
CMakeLists.txt में इसे जोड़कर अन्य प्रोजेक्ट्स के लिए साइनिंग सक्षम कर सकते हैं (यह pico_add_extra_outputs के ऊपर होना चाहिए) और
ec_private_key.pem को अपनी स्रोत निर्देशिका में कॉपी करें।
# Signing and hashing
pico_sign_binary(project_name ${CMAKE_CURRENT_SOURCE_DIR}/ec_private_key.pem)
pico_hash_binary(project_name)
pico_set_otp_key_output_file(project_name ${CMAKE_CURRENT_LIST_DIR}/otp.json)
इस चैलेंज के लिए नियम, शर्तें और शर्तें यहाँ देखें।
lock_chip.sh चलाएँrp2350_hacking_challenge_debug_version.uf2 या rp2350_hacking_challenge_secure_version.uf2 कॉपी करें