
हार्डवेयर हैकिंग CTF hcon2026hwctf - RISCV Hazard3 (@Wren6991) @b1n4ri0 @antoniovazquezblanco और @therealdreg द्वारा शोषण
अगर आप हार्डवेयर CTF में रुचि रखते हैं, तो यहाँ HC0N CTF 2026 की पहली सार्वजनिक चुनौती है जिसमें RISC-V RP2350 एक्सप्लॉइटेशन चुनौतियाँ (निम्न स्तर) शामिल हैं।
हमने चुनौती को बहुत अभिजात्य या कठिन न बनाने की कोशिश की है, ताकि सैकड़ों सम्मेलन प्रतिभागियों को चुनौतियाँ हल करने का मौका मिले। उम्मीद है कि हम इसे हासिल करने में सफल रहे हैं।
यदि आप CTF को घर पर चलाना चाहते हैं, तो एक Raspberry Pi Pico 2 लें, यह फर्मवेयर फ्लैश करें, और वाइट-अप न पढ़ें! -> ctf.uf2
किसी भी ऐसे बोर्ड (RP2350/RP2354...) का उपयोग करने वालों के लिए नोट जो CTF वाले से भिन्न है:
CTF PCB में GPIO 25 पर एक SMD LED है, आपके पास उस GPIO पर एक LED होना चाहिए

जब आप यह CTF पूरा कर लें, यदि आपको यह पसंद आया, तो यहाँ एक और समान चुनौती है जिसमें अलग चुनौतियाँ हैं: https://github.com/therealdreg/ctfhardwarehackingcon2026
चेतावनी: निम्नलिखित वाइट-अप में चुनौतियों के लिए स्पॉइलर हैं। यदि आप उन्हें स्वयं हल करना चाहते हैं, तो हम अनुशंसा करते हैं कि जब तक आप CTF पूरा न कर लें, तब तक उन्हें न पढ़ें।
पहला विजेता: @mrexodia (Duncan Ogilvie) writeups/first_winner.md

पुरस्कार: okhi हार्डवेयर कीलॉगर USB/PS2 किट + CWP (Certified WifiChallenge Professional) https://github.com/therealdreg/okhi
दूसरा विजेता: @M3RINOOOOO (Cristobal Merino Saez) writeups/second_winner.md

पुरस्कार: Pimoroni PGA2350, PICO2 WH, Pimoroni PICO PLUS 2W, PICO2 H, CWP (Certified WifiChallenge Professional)
तीसरा विजेता: @p4bl0vx (Pablo Moya Lopez) writeups/third_winner.md

पुरस्कार: Pimoroni PGA2350, PICO2 WH, Pimoroni PICO PLUS 2W, CWP (Certified WifiChallenge Professional).
यहाँ हम आपको HCON 2026 में हार्डवेयर हैकिंग CTF को आसान बनाने में कुछ मदद प्रदान करेंगे।

लिनक्स होस्ट आपका पहला विकल्प होना चाहिए ;-), डीबगिंग बेहतर काम करता है।
TeraTerm: Setup -> Terminal -> Transmit: CR+LF & [x] Local echo

अन्य:
cutecom:``` sudo apt-get update sudo apt-get install cutecom
# चेतावनी
चुनौतियों में से एक के लिए हार्डवेयर डिबगिंग की आवश्यकता है। यदि आप घर से चुनौती कर रहे हैं (बिना किसी साथी के जिसके पास दूसरा बोर्ड हो), तो उस चुनौती को हल करने के लिए आपको ये दो आइटम भी खरीदने होंगे। (यदि आप उन्हें नहीं खरीदते हैं, तो कोई चिंता नहीं—लेकिन आप उस विशिष्ट चुनौती को हल नहीं कर पाएंगे।)
- https://www.tiendatec.es/raspberry-pi-pico/2025-raspberry-pi-debug-probe-5056561803265.html
- https://www.tiendatec.es/raspberry-pi-pico/1979-cable-depuracion-pico-jtag-jst-sh-1-0-a-dupont-hembra-15cm-8472496024846.html
# स्क्रिप्ट के बारे में
इस रिपॉजिटरी में शामिल उपकरण @b1n4ri0 द्वारा समुदाय के लिए और विशेष रूप से 2026 HCON हार्डवेयर हैकिंग चैलेंज के लिए विकसित किए गए थे।
# RP2350 RISCV Hazard3 (@Wren6991) 3-स्टेज RV32IMACZb* प्रोसेसर का डिबग के साथ शोषण
RISCV Hazard3 एक 3-स्टेज RV32IMACZb* प्रोसेसर है जिसमें डिबग सपोर्ट है। इसका उपयोग HCON2026HWCTF बोर्ड पर पाए जाने वाले RP2350 माइक्रोकंट्रोलर में किया जाता है।
# picotool का उपयोग करके RISCV Hazard3 फर्मवेयर डंप करना
`picotool` के साथ RP2350 उपकरणों से फर्मवेयर डंप करना एक सीधी प्रक्रिया है। इस अनुभाग में, आप सीखेंगे कि इसे प्रभावी ढंग से कैसे करें।
नोट: `picotool` RP2350 (और RP2040) उपकरणों के साथ केवल तब इंटरैक्ट करता है जब वे BOOTSEL मोड में हों या यदि चल रहे फर्मवेयर में Pico SDK से USB stdio सपोर्ट शामिल हो।
## picotool बनाना
अपने पसंदीदा पैकेज मैनेजर के माध्यम से आवश्यक बिल्ड टूल्स और लाइब्रेरीज़ इंस्टॉल करें।```bash
sudo apt-get update
sudo apt install build-essential pkg-config libusb-1.0-0-dev cmake -y
अपने टूल्स को व्यवस्थित रखने के लिए एक समर्पित निर्देशिका बनाएँ। इससे यह सुनिश्चित होता है कि बाद के चरणों में उपयोग किए जाने वाले पथ सही हैं।```bash cd $HOME mkdir rptools cd rptools
`picotool` और `pico-sdk` प्रोजेक्ट्स को क्लोन करें, हमें टूल और SDK दोनों की आवश्यकता है। ध्यान दें कि `picotool` को सही ढंग से कंपाइल करने के लिए `pico-sdk` की आवश्यकता होती है।```bash
git clone https://github.com/raspberrypi/picotool.git
git clone https://github.com/raspberrypi/pico-sdk.git
cd picotool
बिल्ड डायरेक्टरी बनाएं और CMake चलाएं। महत्वपूर्ण: हमें CMake को यह बताने के लिए -DPICO_SDK_PATH फ्लैग का उपयोग करना होगा कि हमने पिछले चरण में SDK को कहां डाउनलोड किया था, या हम वातावरण में PICO_SDK_PATH सेट कर सकते हैं।```bash
mkdir build
cd build
cmake -DPICO_SDK_PATH=$HOME/rptools/pico-sdk ..
sudo make install
डिफ़ॉल्ट रूप से, USB उपकरणों तक पहुँचने के लिए रूट विशेषाधिकार की आवश्यकता होती है। `picotool` को `sudo` के बिना चलाने की अनुमति देने के लिए udev नियम फ़ाइल को कॉपी करें।```bash
sudo cp ../udev/60-picotool.rules /etc/udev/rules.d/
udev नियमों को पुनः लोड करें (या अपने डिवाइस को अनप्लग करके पुनः प्लग करें) और picotool version चलाकर संस्करण जांचें यह सुनिश्चित करने के लिए कि सब कुछ ठीक काम कर रहा है:```bash
$ ./picotool version
picotool v2.2.0-a4 (Linux, GNU-15.2.0, Release)
## प्री-बिल्ट बाइनरी का उपयोग करना
यदि आप बिल्ड प्रक्रिया को छोड़ना पसंद करते हैं, तो आप [आधिकारिक रिपॉजिटरी](https://github.com/raspberrypi/pico-sdk-tools/releases) से प्रीकंपाइल्ड बाइनरी डाउनलोड कर सकते हैं।```bash
gunzip picotool-2.2.0-a4-x86_64-lin.tar.gz
tar -xf picotool-2.2.0-a4-x86_64-lin.tar
cd picotool
picotool version चलाने पर अपेक्षित रूप से काम करना चाहिए:```bash
$ ./picotool version
picotool v2.2.0-a4 (Linux, GNU-11.4.0, Release)
## RP2350 पर BOOTSEL मोड सक्षम करें
फर्मवेयर डंप करने जैसे ऑपरेशन करने के लिए, `picotool` को डिवाइस को BOOTSEL मोड में होना आवश्यक है। हालांकि, `picotool` डिवाइस के साथ इंटरैक्ट कर सकता है, भले ही वर्तमान में चल रहे फर्मवेयर में Pico SDK से USB stdio समर्थन शामिल हो।
नीचे, मैं इस मोड को सक्रिय करने के कई तरीके बताऊंगा। वह चुनें जो आपके मामले के लिए सबसे उपयुक्त लगे, या बस वह जो आपके लिए काम करे।
यदि आपका बोर्ड **BOOTSEL मोड में नहीं है**, लेकिन इसमें USB stdio समर्थन**,** है, तो `picotool` कमांड निष्पादित करने का प्रयास करने पर आपको इस तरह का आउटपुट दिखाई देगा:```bash
$ ./picotool info
No accessible RP-series devices in BOOTSEL mode were found.
but:
RP2350 device at bus 1, address 23 appears to have a USB serial connection, so consider -f (or -F) to force reboot in order to run the command.
यह मानक हार्डवेयर विधि है:
BOOTSEL या BOOT बटन को दबाकर रखें।BOOTSEL बटन को छोड़ दें।वैकल्पिक (यदि आप बोर्ड को अनप्लग नहीं करना चाहते):
BOOTSEL बटन दबाकर रखें।RESET या RST बटन दबाएं और छोड़ें।BOOTSEL छोड़ें।