- Hanwha Vision कैमरा firmware के वेब admin UI की लगभग 30 फाइलों में वही GitHub token मौजूद था, और इस token के पास संगठन के सैकड़ों repositories पर admin अधिकार थे
- firmware के
fwupgraderने hardcoded AES key को static table के साथ XOR करके restore किया, फिरopensslसे root file system decrypt किया; key और IV एक ही model family में common तौर पर इस्तेमाल किए गए थे - Vite build variable को पूरे
process.envपर set कर देने से CI job के environment variables output में लिख गए, औरGITHUB_NPM_TOKENसमेत कई internal settings भी camera firmware में शामिल हो गईं - इसी तरीके से लगभग 500 firmware की जांच में 62% extract किए गए, और जिन 3 firmware में GitHub token मिला, उन सभी में वही token था
- Hanwha ने report के बाद 12 घंटों के भीतर token revoke कर दिया, लेकिन CI environment को पूरा client output में inject करने वाली configuration credentials और internal infrastructure जानकारी को products में expose कर सकती है
firmware हासिल करना और encryption की पहली layer
- Hanwha Vision वेबसाइट camera models के हिसाब से firmware images public करती है, इसलिए files download करके analyze की जा सकती थीं
binwalkसे image की जांच करने पर camera के AI components वाला एक अलग tarball और encryptedfwimage.tgzमिला- Matt Brown के Hanwha firmware decryption analysis के अनुसार
HTWऔर model number को जोड़कर बने password का इस्तेमाल होता है- analyzed target में
HTWXNP-9300RWकाम कर गया
- analyzed target में
- unpack किए गए tarball के अंदर अलग तरीके से encrypted एक और
fwimage.tgzथा, इसलिए पुराने decryption procedure को जस का तस reuse नहीं किया जा सकता था
fwupgrader से decryption तरीका restore करना
- external tarball में शामिल
fwupgraderbinary को Ghidra और Claude Code से analyze करके असली root file system extract किया गया fwupgraderमें decryption method छिपाने के लिए obfuscation लागू था- AES key को binary के अंदर मौजूद छोटी static key table के साथ XOR करने के बाद runtime पर reassemble किया जाता है
- IV binary में plaintext के रूप में मौजूद है
opensslcommand fragments भी इसी तरह XOR obfuscate किए गए हैं
- restore की गई command SHA-256 और AES-256-CBC इस्तेमाल करने वाले इस रूप में है
openssl enc -md sha256 -aes-256-cbc -d \ -K <KEY> -iv <IV> -in <INPUT> -out <OUTPUT> - key और IV hardcoded थे और एक ही model family में common तौर पर इस्तेमाल किए गए
KEY = dfa049bb922e63e2decc764af5628068e5b7a2662e479a615b14643e567579b0 IV = 53f926801b81454a4f889c9a390db6e6
firmware में शामिल GitHub admin token
- extract किए गए root file system को
trufflehogसे scan करने पर वही GitHub token करीब 30 files में duplicate मिला - इस token के पास Hanwha के GitHub organization के सैकड़ों repositories पर admin permissions थे
- camera UI Vite से build होता है, और एक build variable को पूरे
process.envपर set कर दिया गया था, जिससे CI job का पूरा environment result files में लिखा गया, यह confirm हुआvar W = { DATAPORT: "9090", GIT_LFS_SKIP_SMUDGE: "1", npm_command: "run-script", KUBERNETES_SERVICE_PORT_HTTPS: "443", GITHUB_NPM_TOKEN: "<snip>:ghp_…REDACTED…", npm_config_userconfig: "/home/docker/.npmrc", // etc } - वास्तविक camera न होने की वजह से behavior verify नहीं किया जा सका
- संभव है कि admin UI access करने वाले user को token network के जरिए भेजा गया हो
- यह संभावना भी बनी हुई है कि file सिर्फ disk पर मौजूद थी और वास्तव में serve नहीं की गई
CI environment में शामिल DoD addresses
- exposed environment variables में अमेरिकी रक्षा विभाग को allocated IP addresses भी शामिल थे
SWARM_MASTER_NFS_ADDRESS:55.101.212.23OTEL_ELASTIC_URL:http://55.101.212.21:5601/<snip>CIMIP:55.101.211.213
- यह confirm नहीं हुआ कि इन addresses को बाहरी दुनिया से communicate न करने वाली internal services के लिए मनमाने तौर पर इस्तेमाल किया गया था या वे Hanwha और अमेरिकी रक्षा विभाग के संबंध से जुड़े थे
- Hanwha Vision, Samsung Techwin के रूप में स्थापित एक video surveillance company और Hanwha Group की subsidiary है
- उसके past products में K9 Thunder self-propelled howitzer, K10 ammunition resupply armored vehicle, K2 Black Panther subsystems, और SGR-A1 sentry robot शामिल हैं
- SGR-A1 एक armed sentry robot है
- संभव है कि CI Hanwha की central organization देती हो और affiliate Hanwha Aerospace या Hanwha Defense USA की requirements की वजह से related variables share हुए हों, लेकिन यह unverified speculation है
पूरे firmware की जांच
- यह कोई accidental single case था या और अलग tokens मौजूद थे, यह देखने के लिए Hanwha website से download किए जा सकने वाले camera firmware इकट्ठा किए गए
- लगभग 600 cameras में से जिन models के लिए firmware उपलब्ध था, उन्हें target कर करीब 500 firmware हासिल किए गए
- इसी तरीके से 62% extract किए जा सके, और बाकी fail क्यों हुए यह confirm नहीं हो पाया
- जिन firmware में GitHub token था वे 3 थे, और सभी में वही token शामिल था
report और response
- token की location identify करने के लिए जरूरी न्यूनतम जानकारी Hanwha के public security reporting email पर भेजी गई
- Hanwha ने report के बाद 12 घंटों के भीतर जवाब दिया और उस token को revoke कर दिया
- GitHub token का firmware में शामिल होना गलती है, लेकिन report receive करने और उसे resolve करने की प्रक्रिया बहुत तेजी से हुई
1 टिप्पणियां
Hacker News की राय
ऐसे white-label IP camera या लगभग plug-and-play प्रोडक्ट की तलाश है, जिन्हें निर्माता सपोर्ट करता हो लेकिन ज़रूरत पड़ने पर rootfs हटाया जा सके
पहले तो बिना केस वाले महंगे development kit ही मिलते थे, लेकिन अब शायद GoodCam जैसे विकल्प आ गए हैं
ONVIF camera ज़्यादातर network video recorder (NVR) के साथ compatible होते हैं, और कई open source NVR भी मौजूद हैं
सस्ते PoE camera को बाहर exposed न किया जाए तो manufacturer firmware की security उतनी अहम नहीं रहती, लेकिन VLAN और network isolation बहुत सावधानी से सेट करना चाहिए
इसकी reliability Apple HomeKit जैसी है, यानी बहुत शानदार नहीं
दो Sonoff Slim Gen2 को बिना किसी समस्या के upgrade किया गया
Stránka nenalezena,There's been a glitch...जैसी errors दे रहा हैfirmware में US Department of Defense IP address हार्डकोडेड होना ज़्यादा बड़ी समस्या लगती है, और इससे लगता है कि Korean security products से बचना चाहिए
कई vendors खतरनाक defaults, टूटी हुई security, और hardcoded values का इस्तेमाल करते हैं
भले security सबसे पहली प्राथमिकता न हो, कम से कम hardcoded credential checks जैसी basic checks तो होनी ही चाहिए
camera को अलग VLAN में रखना और उस VLAN की internet access पूरी तरह बंद कर देना कम से कम की जाने वाली कार्रवाई है
पहले देखा था कि कई OBD-II dongle एक ही MAC address के साथ ship हुए थे, और उसके चलते कई websites की सारी जानकारी तक access मिल जाता था
ऐसे मसले आप बचना भी चाहें तो बार-बार सामने आते ही रहते हैं
अगर website client द्वारा दिए गए MAC address को authentication के तौर पर इस्तेमाल कर रही थी, तो यह IoT security failure का textbook example है
product name से security हटाकर इसे बस camera कहना ज़्यादा सही होगा
इस blog में external link icon का गलत इस्तेमाल परेशान करता है
a[href*="://"]::afterselector यह मानकर चलता है कि internal linkhref="/about"जैसी relative path होगी, लेकिन यह site navigation link में भी[https://hhh.hn/about](https://hhh.hn/about)जैसे absolute URL इस्तेमाल करती है, इसलिए हर link पर icon लग जाता हैsite address से शुरू होने वाले links को exclude कर दें तो समस्या हल हो सकती है:
a[href*="://"]:not([href^="https://hhh.hn"])::afterहाल में खरीदी गई indoor ambient light को dedicated app के बिना control नहीं किया जा सकता था
Google store से APK लेकर analyze किया तो backend और Shopify जैसी services की API keys लगभग खुली पड़ी थीं, लेकिन अभी तक उनका इस्तेमाल करके कुछ नहीं किया गया है
जो developer security को गंभीरता से लेते हैं, वे App Attest या Google store के equivalent feature का इस्तेमाल करेंगे
हालांकि Shopify store consulting का अनुभव रखने के नाते यह हैरान करने वाली बात नहीं, क्योंकि सस्ते consultants या designers का code quality अक्सर बहुत खराब होता है
एक company थी जो researchers को कानूनी नतीजों से बचाने में मदद करती थी, लेकिन उसका नाम याद नहीं
LLM की वजह से code obfuscation लगभग बेअसर हो गया है
obfuscation सिर्फ काम को उबाऊ बनाकर रुकावट डालता था, लेकिन AI को ऐसी मेहनत से फ़र्क नहीं पड़ता
राज्य-समर्थित groups या आपराधिक hacker groups इतनी मेहनत आसानी से कर लेते हैं
इस तरह के system को US defense industry trade show में देखा गया है, इसलिए संभव है कि यह वास्तव में कहीं इस्तेमाल हो रहा हो