1 पॉइंट द्वारा GN⁺ 2024-05-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सामान्य USB डेटा/चार्जिंग केबल जैसा दिखने वाला S8 data line locator एक ऐसा उत्पाद है जिसमें प्लग के अंदर GSM सुनने और लोकेशन ट्रैकिंग डिवाइस छिपा है, जो दिखाता है कि सस्ता consumer hardware भी physical security खतरा बन सकता है
  • डिवाइस फोन कॉल के जरिए बिल्ट-इन माइक्रोफोन की आवाज सुनाता है, SMS 1111 से voice detection callback चालू करने पर लगभग 40dB से अधिक आवाज पर कॉल करता है, और dw·loc commands से लोकेशन SMS और gpsui.net लिंक लौटाता है
  • टेस्ट में लोकेशन क्वेरी की accuracy अधिकतम 1.57km error तक ही रही, और क्वेरी के दौरान mobile data connection बनने से unknown third-party server पर डेटा भेजे जाने की बात मुख्य जोखिम के रूप में सामने आई
  • teardown में MediaTek MT6261MA और RDA 6626e की पुष्टि हुई, USB data lines सिर्फ pass-through थीं, और अलग DP/DM pads के जरिए MediaTek USB endpoint तक पहुंचकर ROM और flash dump करना संभव था
  • gpsui.net location history, real-time tracking, geofence और remote command push देता था, और बाद में authorization bypass IDOR vulnerability के कारण 615,817 account details exposed और modified हो सकने का जोखिम पाया गया

केबल के रूप में छिपाया गया GSM listening device

  • S8 data line locator एक ऐसा उत्पाद है जिसमें standard USB data/charging cable के plug के अंदर GSM receiver/transmitter device छिपा है
    • Supported frequencies GSM 850, 900, 1800, 1900MHz हैं
    • इसे इस तरह बेचा गया कि कार के अंदर चोर के लिए USB cable को location tracker के रूप में पहचानना मुश्किल होगा
  • GPS नहीं होने की वजह से location reporting मोटी-मोटी है, और test में actual location से अधिकतम 1.57km तक का अंतर आया
  • Misuse का तरीका सरल है
    • डिवाइस पर call करके built-in microphone का real-time audio सुना जा सकता है
    • SMS command से sound detection पर callback कराने के लिए कहा जा सकता है
    • SIM डालकर set up करने के बाद इसे packaging case में बिना कोई साफ दिखाई देने वाला निशान छोड़े वापस रखा जा सकता है

SMS commands से चलने वाली listening और location query

  • Listen in

    • S8 data line locator पर 10 सेकंड call करने पर call connect हो जाती है और device microphone input सुना जा सकता है
  • Call back

    • SMS 1111 voice monitoring, voice callback और sensitivity setting को activate करता है
    • Response DT: Set voice monitoring, voice callback and sound sensitivity:400 के रूप में आता है
    • Audio level 40dB से ऊपर जाते ही device उस नंबर पर call करता है जिसने 1111 command भेजी थी
    • SMS 0000 audio-trigger callback को deactivate करता है और DT: Voice monitoring cancelled successfully. से response देता है
  • Query location

    • Manual के अनुसार SMS dw location लौटाता है
    • Response में address, gpsui.net link और battery level शामिल होते हैं
    • gpsui.net link बिना authentication access किया जा सकता है और Google Maps पर redirect करता है
    • Location query के दौरान device ने mobile data connection इस्तेमाल किया, और carrier billing details में यह “MMS/Internet” के रूप में दिखा

teardown से पुष्टि हुई internal structure

  • Device के अंदर के chips MediaTek MT6261MA और RDA 6626e हैं
    • MT6261MA सस्ते चीनी smartwatches में अक्सर इस्तेमाल होने वाला chip है, लेकिन MediaTek की official documentation या जानकारी उपलब्ध नहीं थी
    • RDA 6626e GSM850, EGSM900, DCS1800, PCS1900 के लिए quad-band front-end module है
  • USB A connector और Micro-B cable MT6261MA से connected नहीं हैं
    • दोनों USB ports सिर्फ signals को आपस में pass-through करते हैं
  • UART पर boot के करीब 3 सेकंड बाद MTK Bootloader V005 banner output हुआ, लेकिन उसके बाद output रुक गया और input ignore किया गया
    • दूसरे firmware versions AT modem commands ले सकते हैं
    • वैकल्पिक cable output में ZhiPu से जुड़े logs और MTK6261M.T16.17.01.10, build date 2017/01/10 17:33 दिखे
  • USB connector के DP/DM pads असली USB D+/D- lines नहीं हैं, बल्कि MT6261MA की ओर routed हैं
    • यहां USB cable solder करने पर यह ID 0e8d:0003 MediaTek Inc. MT6227 phone endpoint के रूप में पहचाना जाता है
    • यह connection “MTK boot repair”, “MTK DM DP flash” आदि के नाम से जाना जाता है और ROM व flash dump में इस्तेमाल होता है

firmware dump और flash writing की सीमाएं

  • Firmware dump के लिए open-source Fernvale research OS इस्तेमाल किया गया
    • यह मूल रूप से MT6260 के लिए था, लेकिन MT6261 पर port की गई branch MT6261MA पर भी काम करती है
    • Urja “urjaman” Rannikko की fernly6261 branch build करके इस्तेमाल की गई
  • ROM dump fernly-usb-loader और dump-rom-usb.bin का उपयोग कर rom.bin generate करने के तरीके से किया गया
  • Flash dump flashrom पर Fernvale patch apply करने के बाद fernvale_spi programmer के जरिए किया गया
    • Target flash MX25L3205(A) के रूप में read हुआ, और result flash.dat में save हुआ
    • दूसरे device में GD25LQ32 4096KB SPI flash मिला
  • Flash writing को flashrom --write flash.dat से try किया जा सकता था, लेकिन flash block protected था और flashrom से protection bits disable नहीं हो सके

SIM और network behavior

  • SIMtrace से SIM और device के बीच communication sniff करने पर device ने phonebook और SMS storage records सभी access किए
    • Accessed files में ADF के EF(ECC), EF(EXT2), EF(SMS), DF(TELECOM) के DF(PHONEBOOK), EF(ADN), EF(ANRA1), EF(SMS) शामिल थे
    • कुछ access device functionality देने के लिए जरूरी नहीं थे
  • OpenBTS और Ettus B100 से GPRS traffic sniff करने की कोशिश की गई, लेकिन S8 data line locator ने GPRS से connect नहीं किया
    • इस दौरान dw location command ने gpsui.net/smap.php?lac=...&cellid=... format के link वाला alternative response लौटाया
  • Carrier bill में location query के समय “MMS/Internet” usage confirm हुआ
    • Device को idle state में छोड़ने के दौरान भी कभी-कभी “MMS/Internet” service इस्तेमाल हुई
    • कुछ tracking functions test के दौरान activate हुए हो सकते हैं, लेकिन कौन सा data भेजा जाता है और इसे disable कैसे करें, यह confirm नहीं हुआ

flash के अंदर settings और hidden commands

  • flash.dat strings से संकेत मिलता है कि device Nucleus RTOS चला सकता है
    • Copyright (c) 1993-2000 ATI - Nucleus PLUS - Version ARM 7/9 1.11.19 string मिली
  • FAT12 filesystem extraction में flash translation layer (FTL) छूट जाने से corrupted result आया
    • कुछ FAT12 जैसे दिखने वाले areas थे, लेकिन ज्यादातर orphan files या empty files थे
    • SIM card बदलने पर The Sleuthkit द्वारा listed files काफी बदल गईं, इसलिए यह FAT12 न हो या modified FAT12 हो, इसकी संभावना बची रही
  • Flash में inserted SIM का IMSI, remote control में इस्तेमाल होने वाला phone number, और gpsui.net string मौजूद थे
    • gpsui.net को MCC, MNC, LAI, CID codes को address और map link में बदलने वाला server माना गया, लेकिन flash writing fail होने से confirm नहीं हो सका
  • dw, 1111, 0000 search करते समय कई hidden commands मिले
    • help dw, qqq, 1111, 0000, ddd, aqb, eee, dde, hhh लौटाता है
    • loc dw जैसा ही काम करता है
    • imsi IMEI और IMSI query करता है
    • *3646655* version information query करता है
    • *reboot* device को reboot करता है
  • कई commands ठीक से काम नहीं करते थे, और कुछ commands LED या TF card जैसी ऐसी features की ओर इशारा करते थे जो इस device में नहीं हैं
    • लगता है firmware कई location tracking और listening devices में shared है
    • Response strings flash में plaintext में नहीं मिलीं, इसलिए कुछ data compressed लगता है

gpsui.net से बनी अतिरिक्त exposure

  • gpsui.net सिर्फ map link destination से आगे बढ़कर surveillance hub जैसा काम करता है
    • http://gpsui.net/u/xxxx में xxxx को letters और numbers से बदलने पर arbitrary user की location देखी जा सकती थी
    • Website में ZhiPu references थे, और ऐसा लगता है कि यह company trackers बनाती है
  • S8 data line monitor को aqb text भेजने पर login credentials मिल सकते हैं
    • Username और password दोनों 6-digit numbers हैं
    • यह value flash में IMSI के ठीक पहले भी stored थी
  • Web interface location tracking device management features काफी व्यापक रूप से देता है
    • Map पर device location और last update time दिखाता है
    • Settings बदलना, alarms set करना, real-time location tracking activate करना, past location playback देखना, और geofence settings support करता है
    • Remote commands device पर push किए जा सकते हैं
    • एक account में कई devices add करके manage किए जा सकते हैं
  • Product packaging और original manual user को gpsui.net website, login credentials, location history storage, और web के जरिए device remote control के बारे में नहीं बताते
  • Disclosure के बाद Vangelis Stykas ने gpsui.net में user control key के जरिए authentication bypass IDOR vulnerability खोजी
    • इस vulnerability से horizontal privilege escalation हो सकता था, जिससे एक user दूसरे 615,817 accounts की information देख या modify कर सकता था
    • बाद में अन्य GPS location tracking web services की investigation के results Trackmageddon में summarize किए गए

detection methods और बाकी काम

  • S8 data line locator data भेजते समय low-cost RF detector CC308+ से detect किया जा सकता है
    • Device में shielding अच्छी नहीं लगती, और dw location request के समय noticeable electronic noise करता है
    • कुल मिलाकर यह कई RF interferences पैदा करता दिखता है
  • मूल लक्ष्य, यानी mobile data phone-home function disable करना, सफल नहीं हुआ
    • flashrom से नया firmware write नहीं हो सका, और block protection हटाना बचा हुआ issue है
    • SPFlash tool या Flash tool जैसे दूसरे flashing paths संभव हो सकते हैं, लेकिन वे open-source तरीके नहीं हैं
  • GPRS data connection capture भी fail हुआ
    • Device ने OpenBTS network पर GPRS इस्तेमाल नहीं किया
    • EF(ACL) access SIM trace में नहीं दिखा, लेकिन correct APN settings flash में थीं, इसलिए लगता है कि ये carrier settings SMS के जरिए मिलती हैं
  • Device board को और छोटा process करने पर इसे USB connector के बिना, सिर्फ 5V 1A power वाली जगहों में छिपाए जा सकने वाले modular listening device में बदला जा सकता है
  • OpenBTS test के दौरान voice detection callback बंद न करने की गलती से, virtual number 3333333 वाला counterpart 2 मिनट तक device microphone सुनता रहा
    • यह call बाद में logs check करने तक पता नहीं चली
    • यह छोटा hardware implant गुप्त और खतरनाक है

1 टिप्पणियां

 
GN⁺ 2024-05-16
Hacker News की राय
  • ज़्यादा आसान तरीका शायद modified keyboard होगा
    कोई भी keyboard के अंदर esp32 डालकर उसे बदल सकता है और कहीं भी छोड़ सकता है, फिर keystrokes चुरा सकता है या Bluetooth/WiFi के ज़रिए उस तक पहुँच सकता है
    wireless transmission को सिर्फ़ खास समय पर चालू होने के लिए भी बनाया जा सकता है

    • अगर physical access संभव हो, तो mouse swap ज़्यादा आम है
      physical access न होने पर भी, Bluetooth की बजाय proprietary RF dongle इस्तेमाल करने वाले wireless mouse remote keystroke injection के लिए असुरक्षित होते हैं
    • https://www.keelog.com/keygrabber-forensic/
    • मुश्किल हिस्सा यह है कि हाथों के तेल से बने wear marks भी बिल्कुल वैसे ही दिखें
      हालाँकि ज़्यादातर लोग शायद ऐसी चीज़ों पर ध्यान नहीं देंगे
    • सही है, लेकिन किसी को keyboard उपहार में देना सिर्फ़ एक harmless data cable देने से ज़्यादा संदिग्ध लगेगा
    • इससे भी आगे बढ़कर esp long-range communication का इस्तेमाल करके, बाहर solar power से चलने वाला receiver रखकर और उसे cellular network से जोड़कर, internal network को अतिरिक्त रूप से expose किए बिना भी काम किया जा सकता है
  • SMS को control protocol के रूप में इस्तेमाल करना अच्छा नहीं लगता
    हर बार command भेजने पर carrier के पास ऐसा सबूत छूट सकता है जो लगभग स्थायी रूप से stored रहे

    • यह बात तब है जब मान लें कि इसका इस्तेमाल surveillance के लिए हो रहा है
      पूरी तरह ईमानदार उपयोग में, चोरी हो जाने पर car या USB port वाले किसी दूसरे device को track करने के लिए इसका इस्तेमाल हो सकता है
      अगर मेरे पास आसानी से चोरी होने वाली Kia या Hyundai गाड़ी होती, तो शायद मैं ऐसी कोई चीज़ उसमें छिपाकर रखता
    • यह बात आम तौर पर centralized services पर लागू होती है
      दिलचस्प बात यह है कि मैं अपने खाली समय में इसी क्षेत्र से जुड़ी कोई चीज़ बना रहा हूँ, और ठीक इसी वजह से मैंने LoRa चुना
      payload, line-of-sight से तय होने वाली range, और multiplexing की कमी जैसी बहुत-सी सीमाएँ हैं, लेकिन पिछले साल के आखिर में real-world testing में मिली range वाकई प्रभावशाली थी
      off-the-shelf dev boards के साथ मुझे manufacturer specs से लगभग 20% ज़्यादा, यानी 12.5km तक मिला
    • जो लोग ऐसी चीज़ इस्तेमाल करेंगे, क्या वे सस्ता burner phone और prepaid SIM भी साथ नहीं खरीदेंगे? इन्हें cash से आसानी से खरीदा जा सकता है, और इस्तेमाल के लिए किसी registration की भी ज़रूरत नहीं होती
      UK के supermarkets में preloaded SIM भी बिकते हैं
    • SMS सिर्फ़ buyer को बताया जाने वाला protocol है, और अगर आप unadvertised web portal login details का इस्तेमाल करें, तो SMS के बिना भी device manage किया जा सकता है
  • अगर आप electronics को खोल सकते हैं, तो ऐसा करना अच्छा रहेगा
    सभी chips के identifiers को DDG पर search करके बहुत कुछ सीखा जा सकता है

    • जैसा मैंने बचपन में electronics खोलते हुए सीखा, मुश्किल हिस्सा उन्हें फिर से जोड़ना होता है
      disassembly के हर step पर तस्वीरें लेने से यह याद रखने में मदद मिलती है कि parts एक-दूसरे में कैसे fit होते हैं
    • बहुत-से plastic enclosures सिर्फ़ assembly के लिए बनाए जाते हैं, इसलिए उन्हें खोलने के लिए तोड़ना पड़ता है
  • “gpsui.net के login details तक पहुँच रखने वाला कोई भी व्यक्ति device को control कर सकता है. मूल packaging या instructions में उस website का कोई ज़िक्र नहीं है” — यह डरावना है

  • इस उद्देश्य के लिए ocular prosthesis इस्तेमाल करने का विचार मेरे मन में आता रहा है
    अब camera, battery, storage, और wireless communications सब cosmetic prosthesis के भीतर फिट हो सकते हैं, और अपने-आप काम कर सकते हैं या smartphone के साथ विस्तार पा सकते हैं

  • क्या इस तरह के bug detector जैसी कोई चीज़ होती है? मैं फिल्मों में दिखने वाले “bug sweeper” के बारे में सोच रहा हूँ

    • जब मैंने यह Discord पर पोस्ट किया, तो security में काम करने वाले एक सदस्य ने बताया कि जो लोग ऐसी चीज़ों की चिंता करते हैं, वे NLJD, non-linear junction detector इस्तेमाल करेंगे: https://reiusa.net/nljd/
      यह circuit boards detect कर सकता है
      “NLJD antenna head एक transceiver है, जो electronic components की मौजूदगी की पुष्टि करने के लिए digital spread spectrum signal radiate करता है. जब energy semiconductor junctions (diodes, transistors, circuit board connections आदि) से टकराती है, तो harmonic signals receiver तक वापस लौटते हैं. receiver harmonic signal की strength मापता है और second या third harmonic में फर्क करता है. display पर ज़्यादा strong second harmonic अगर लाल रंग में दिखे, तो इसका मतलब है कि electronic junction detect हुआ है. इस तरह portable ORION का इस्तेमाल, electronic device चालू है या नहीं इससे परवाह किए बिना, दीवारों, वस्तुओं, containers, furniture और अधिकांश सतहों को scan करके छिपे electronic devices खोजने में किया जाता है”
    • पोस्ट में इसी विषय पर एक section है: https://ha.cking.ch/s8_data_line_locator/#detection
    • लेख के “detection” section में इसकी चर्चा है
      सार यह है कि GSM पर communicate करते समय इन्हें आसानी से detect किया जा सकता है, और device की shielding भी काफ़ी खराब होती है, इसलिए operation के दौरान बहुत-सा RF interference पैदा होता है जिसे पकड़ना आसान है
      सस्ता RF detector काफ़ी है, और अगर आपके पास full spectrum analyzer या SDR हो तो यह और आसान हो जाता है
      लेकिन जब device sleep mode में हो और noise activation या command का इंतज़ार कर रहा हो, तब यह बहुत कठिन हो जाता है, इसलिए फिल्मों में दिखाया जाने वाला “तेज़ bug sweep” वास्तव में उम्मीद से ज़्यादा पेचीदा है
  • क्या host device को shield करके, सिर्फ़ चुनी हुई frequency पर GSM antenna को जला देना संभव होगा?
    जैसे नए hardware को पहले से sterilize करना

    • आजकल cables के अंदर भी बहुत-से chips होते हैं
  • क्योंकि packaging पर यह नहीं लिखा कि यह tracking device है, इसलिए इसका intended use शायद किसी business meeting, बच्चे, या रिश्तेदार को दिए जाने वाले gift जैसा कुछ होगा

  • संबंधित पोस्ट:
    Inside a low budget consumer hardware espionage implant (2018) - https://news.ycombinator.com/item?id=20190251 - जून 2019, 43 comments
    Inside a low-budget consumer hardware espionage implant - https://news.ycombinator.com/item?id=15676737 - नवंबर 2017, 92 comments

  • अगर अभी तक नहीं आया है, तो जल्द ही 801.11ah built-in modulated cable आने की संभावना है
    यह कम लागत, कम power requirement और काफ़ी अच्छी range वाली तकनीक है, इसलिए दुर्भाग्य से इसका बचाव करना मुश्किल हो सकता है