- REF6598 अभियान ने Obsidian shared vault के जरिए PHANTOMPULSE RAT तैनात किया
- निशाने पर Windows·macOS पर काम करने वाले finance और cryptocurrency क्षेत्र के पेशेवर थे, जिन्हें LinkedIn·Telegram के जरिए फंसाया गया
- संक्रमण तब शुरू होता है जब shared vault में community plugin sync को मैन्युअली सक्रिय किया जाता है
- दुर्भावनापूर्ण
Shell Commands·Hider plugin script चलाते हैं और PHANTOMPULL RAT को लोड करता है
- PHANTOMPULSE Ethereum transaction में C2 address की पुष्टि करता है, जिससे उसे ब्लॉक करना कठिन हो जाता है
हमले का प्रवाह
-
प्रारंभिक पहुंच और execution
- REF6598 अभियान Obsidian note app का दुरुपयोग कर पहले दस्तावेजीकृत न किए गए remote access trojan (RAT) PHANTOMPULSE को तैनात करता है
- हमलावर venture capital से जुड़े व्यक्ति बनकर professional networking site पर लक्ष्य से संपर्क करते हैं, फिर बातचीत को private Telegram group में ले जाते हैं
- collaboration के नाम पर cloud पर hosted shared Obsidian vault में शामिल होने के लिए प्रेरित किया जाता है
- प्रारंभिक पहुंच MITRE ATT&CK के T1566.002 Spearphishing Link से मेल खाती है
- जब पीड़ित Obsidian के भीतर “Installed community plugins” sync feature को मैन्युअली सक्रिय करता है, तब संक्रमण शुरू हो जाता है
- shared vault में Obsidian के वैध plugin
Shell Commands और Hider के दुर्भावनापूर्ण संस्करण शामिल होते हैं, और community plugin activation से code execution हो जाता है
- compromised
Shell Commands plugin दुर्भावनापूर्ण script चलाता है
- user interaction के जरिए malicious file चलवाने वाला यह चरण T1204.002 Malicious File से संबंधित है
-
Windows और macOS संक्रमण चरण
- Windows पर दुर्भावनापूर्ण plugin PowerShell script चलाता है, जो PHANTOMPULL loader को drop करती है
- macOS पर इसी तरह की प्रक्रिया AppleScript के जरिए चलती है
- इसके बाद PHANTOMPULL अंतिम payload PHANTOMPULSE RAT को decrypt करके चलाता है
- PHANTOMPULSE file-based detection से बचने के लिए अंतिम payload को सीधे memory में execute करता है, जो T1055 Process Injection से जुड़ता है
PHANTOMPULSE की क्षमताएं और C2 तरीका
- PHANTOMPULSE सक्रिय होने के बाद keystroke capture, screenshot लेना, file exfiltration, और arbitrary command execution कर सकता है
- C2 communication T1102.002 Bidirectional Communication के अनुरूप बनाया गया है
- PHANTOMPULSE hardcoded wallet address के नवीनतम Ethereum transaction को query करता है
- C2 server का IP address उस transaction data के भीतर शामिल होता है, और malware इसी से command server की पुष्टि करता है
- यह तरीका decentralized और censorship-resistant C2 address discovery mechanism देता है, जिससे threat infrastructure को बाधित करना कठिन हो जाता है
प्रभाव
- संक्रमण सफल होने पर हमलावर को पीड़ित system पर पूर्ण पहुंच मिल सकती है
- finance·cryptocurrency क्षेत्र के पेशेवरों से sensitive corporate data, intellectual property, trading strategy, cryptocurrency wallet key, और exchange credential चोरी हो सकते हैं
- Windows और macOS दोनों को निशाना बनाने वाली यह संरचना संभावित पीड़ितों की सीमा बढ़ाती है
- blockchain-आधारित C2 का उपयोग उच्च स्तर की sophistication दिखाता है और threat infrastructure को disrupt करना कठिन बनाता है
detection indicator
-
process
Obsidian.exe
- यह मॉनिटर करना चाहिए कि क्या Obsidian
powershell.exe, cmd.exe, osascript जैसे child process बना रहा है
-
command line pattern
powershell -ExecutionPolicy Bypass
- Obsidian जैसे non-standard application से शुरू हुआ PowerShell execution एक suspicious signal हो सकता है
-
network traffic
- ऐसे connection मॉनिटर किए जाने चाहिए जो अप्रत्याशित process से Ethereum blockchain node या gateway की ओर जा रहे हों
- ऐसे connection PHANTOMPULSE द्वारा C2 address की पुष्टि करने की गतिविधि हो सकते हैं
-
file path
[Vault]/.obsidian/plugins/
- यह जांचना चाहिए कि क्या official plugin marketplace के बाहर Obsidian plugin directory में file बनाई या बदली जा रही है
detection और response
- process monitoring: Obsidian process जब
powershell.exe, cmd.exe, bash, osascript जैसे command-line interpreter चलाए, तब detect और alert करने वाले EDR rule होने चाहिए
- user education: high-risk industry के users को social engineering और shared vault·plugin जैसे collaboration tool features के दुरुपयोग के जोखिम के बारे में जागरूक होना चाहिए
- application control: जहां संभव हो, application control policy के जरिए Obsidian जैसे app में unapproved community plugin की installation और execution को सीमित करना चाहिए
- network monitoring: ऐसे endpoint पर blockchain service से जुड़ी abnormal DNS query या direct IP connection पर नजर रखनी चाहिए, जहां यह activity अपेक्षित नहीं है
mitigation उपाय
- community plugin verification: किसी भी application में third-party या community-developed plugin सक्रिय करते समय विशेष सावधानी बरतनी चाहिए, केवल official trusted marketplace से install करना चाहिए और permissions की समीक्षा करनी चाहिए
- untrusted vault के लिए automatic sync disable करें: अज्ञात या अविश्वसनीय स्रोत के Obsidian vault से जुड़ते समय plugin sync को सक्रिय नहीं करना चाहिए
- least privilege principle: Obsidian जैसे application को administrator privilege के बजाय standard user privilege के साथ चलाना चाहिए, ताकि compromise का असर सीमित रहे
- endpoint security: नवीनतम EDR और antivirus solution तैनात करने चाहिए ताकि suspicious script execution और process injection techniques का detection और blocking हो सके
MITRE ATT&CK mitigation mapping
- User Training
- users को social engineering tactics पहचानने और बिना मांगे आए collaboration invite पर संदेह करना सिखाना इस attack vector के खिलाफ प्रमुख बचाव है
- Execution Prevention
- application control का उपयोग करके Obsidian जैसे app को PowerShell जैसी script चलाने से रोकने पर attack chain को तोड़ा जा सकता है
- D3FEND mapping: D3-EAL
- Software Configuration
- application को इस तरह configure करने से कि third-party plugin installation disable हो जाए या कड़ी approval की आवश्यकता हो, attack surface कम किया जा सकता है
- D3FEND mapping: D3-ACH
संदर्भ सामग्री
1 टिप्पणियां
Hacker News की राय
मैं Obsidian का CEO हूँ। प्लगइन सुरक्षा पर एक बड़ा अपडेट जल्द आ रहा है, और मुझे लगता है कि यह इस थ्रेड में उठी कई चिंताओं को दूर कर सकेगा
यह मुश्किल समस्या है, लेकिन हम इस पर काम कर रहे हैं। हालांकि, शीर्षक भ्रामक है। यह पोस्ट एक social engineering attack के बारे में है, जिसमें उपयोगकर्ता को Obsidian की कई सुरक्षा चेतावनियों को खुद अस्वीकार करना पड़ता है, और जहाँ तक मुझे पता है यह proof-of-concept स्तर का मामला है, वास्तविक नुकसान की कोई रिपोर्ट मैंने नहीं देखी
मेरे हिसाब से प्लगइन/extension को डिफ़ॉल्ट रूप से चलाना थोड़ा और कठिन होना चाहिए। मैं समझता हूँ कि प्लगइन इस्तेमाल करने से पहले अतिरिक्त बाधाएँ user friction पैदा करती हैं, लेकिन sandbox या दूसरे प्रतिबंधों के बिना review न किए गए arbitrary code को सुरक्षित तरीके से चलाने का कोई वास्तविक तरीका नहीं है
यह भ्रामक शीर्षक है। इससे ऐसा लगता है जैसे किसी वैध प्लगइन से छेड़छाड़ कर malware बाँटा गया हो, यानी एक और supply-chain attack
असल में पीड़ित को synced vault collaboration में invite किया जाता है, और उस vault में RAT देने वाला एक अनौपचारिक प्लगइन पहले से शामिल होता है। यह पूरी तरह अलग कहानी है
इसमें लिखा है, “Novel Campaign Abuses Obsidian Note-Taking App to Target Finance and Crypto Professionals with PHANTOMPULSE RAT”। यह नया हमला है, Obsidian का दुरुपयोग करता है, एक खास समूह को निशाना बनाता है, और RAT vault में मौजूद है, इसलिए यह सही अभिव्यक्ति लगती है
मुझे Obsidian बहुत पसंद है और मैं इसे रोज़ इस्तेमाल करता हूँ, लेकिन community plugins का permission system पर्याप्त नहीं है, इसलिए मैं उन्हें इस्तेमाल नहीं करता
मैं उस दिन की उम्मीद करता हूँ जब प्लगइन यह घोषित करेंगे कि उन्हें कौन-कौन सी permissions चाहिए, और वह उपयोगकर्ता को दिखाई जाएँगी। मुझे भरोसा है कि Obsidian टीम इस समस्या को गंभीरता से लेगी, और मैं देखना चाहता हूँ कि वे क्या लाते हैं। भरोसा तो है, लेकिन यह चौंकाने वाला है कि शुरुआत से ही बेहतर permission system और sandboxing के बिना इसे डिज़ाइन किया गया
“पीड़ित से ‘Installed community plugins’ sync फीचर चालू करने को कहा जाता है”
Obsidian में इस तरह के हमले को रोकने के लिए सुरक्षा उपाय हैं, और पीड़ित को उन्हें अनदेखा करने के लिए मनाया गया। यह सिर्फ़ एक सफल social engineering incident है। इस हमले ने Obsidian या plugin system की किसी vulnerability का दुरुपयोग नहीं किया, इसलिए मुझे अच्छा नहीं लगता कि ऐसे शीर्षक की वजह से Obsidian को घसीटा जाए
“तकनीकी सीमाओं के कारण Obsidian प्लगइन को किसी खास permission या access level तक विश्वसनीय रूप से सीमित नहीं कर सकता। इसलिए प्लगइन, Obsidian के access level को inherit करते हैं।”
Community plugins आपके कंप्यूटर की फ़ाइलों तक पहुँच सकते हैं, इंटरनेट से जुड़ सकते हैं, और अतिरिक्त प्रोग्राम भी install कर सकते हैं। Obsidian में कोई वास्तविक सुरक्षा उपाय नहीं है, और प्लगइन install करना मतलब कंप्यूटर पर पूर्ण access देना है। यह होना सिर्फ़ समय की बात थी, और मेरे हिसाब से लगभग 2010 के बाद ऐसा plugin system जारी करना बिना किसी बहाने के लापरवाही थी
कम अनुभवी उपयोगकर्ता सोच सकते हैं, “यह तो बस Markdown फ़ाइलों का संग्रह है। शायद malware की ज़्यादा चिंता नहीं करनी चाहिए”
लगभग हर plugin system इतना ढीला-ढाला डिज़ाइन क्यों होता है? मैं जानना चाहता हूँ कि क्या ऐसा इसलिए है क्योंकि सही isolation/permission features देने वाले अच्छे plugin development frameworks नहीं हैं, इसलिए काम बहुत ज़्यादा है, या इसलिए कि लोग व्यापक रूप से यह नहीं समझते कि क्या ज़रूरी है और अपनी system के दुरुपयोग के बाद ही सीखते हैं। या दोनों? या कोई और वजह है?
दूसरी समस्या यह है कि security कठिन है, जबकि सामान्य access देकर कुछ basic guards जोड़ना आसान है
उस हिस्से को बस छोड़ देना कहीं आसान है। यानी हाँ, काम बहुत ज़्यादा है, और अधिक सटीक रूप से कहें तो इसके लिए security-focused leadership चाहिए जो समझे कि यह काम ज़्यादा है लेकिन सही काम है
अगर आप इसे इरादतन डिज़ाइन करना चाहें, तो आपको abstraction layers के नीचे जाना पड़ सकता है और उस framework के custom forks को maintain करना पड़ सकता है। इसलिए संभवतः उन्होंने plugins को ऐसे डिज़ाइन किया होगा जैसे app जिस context का उपयोग करता है उसका कुछ हिस्सा देकर library instantiate की जाती है। आखिरकार, यही सबसे सरल तरीका है जो काम करता है। सार्वजनिक रूप से बताए गए hack में किसी खास “vulnerability” का ज़िक्र नहीं है, लेकिन Obsidian plugins हमेशा से god mode में रहे हैं, और attacker ने बस लोगों को उसे इस्तेमाल करने के लिए बहकाया। कुछ popups के पीछे मूलतः remote code execution तैयार बैठी है और अंत में user को दोष देना हास्यास्पद है। developers को शर्म आनी चाहिए
यह किसी app के भीतर app store बनाने जैसा है। Apple App Store हानिकारक apps को कम करने के लिए इस पर कड़ी सीमाएँ लगाता है कि कौन क्या publish कर सकता है, और paid barriers भी रखता है
चाहे यह social engineering ही हो, अगर plugin system का डिज़ाइन ऐसी चीज़ की अनुमति देता है, तो यह platform shared tool के रूप में पूरी तरह अनुपयोगी है
यह जानना उपयोगी है, लेकिन मेरे लिए बात “shared Obsidian vault इस्तेमाल करने के लिए यह setting सही रखनी होगी” जैसी नहीं, बल्कि “shared Obsidian vault कभी स्वीकार मत करो, और plain text export माँगो” जैसी है
जब मैंने पहली बार Obsidian इस्तेमाल करना शुरू किया, तब जो YouTube वीडियो मैंने देखे, वे community plugins के इस्तेमाल की सिफारिश करते थे। ऐसी चेतावनियाँ होने पर भी मैं शायद community plugins चालू कर देता
कोई plugin developer शुरुआत में नेक इरादे वाला हो सकता है और बाद में दुर्भावनापूर्ण बन सकता है, और users को पता नहीं चलेगा। मैं developer हूँ और इस जोखिम को जानते हुए भी शायद community plugins option चालू कर देता, इसलिए हो सकता है मेरी risk tolerance ज़्यादा हो। उम्मीद है कि मैं अल्पसंख्यक हूँ और ज़्यादातर users ऐसा व्यवहार नहीं करते
इस तरह की चीज़ें थोड़ी महामारी जैसी फैल रही हैं। हर attack या exploit, खासकर social engineering attacks, को Metal Gear जैसी कोई नामकरण शैली या वेबसाइट की ज़रूरत नहीं होती
अगर आप सामग्री पढ़ें, तो समस्या Obsidian store के plugin से शुरू नहीं हुई थी, बल्कि ऐसे malicious vault से शुरू हुई थी जिसे खोलने के लिए उकसाया गया
मैं Obsidian को सीमित permissions के साथ चलाता हूँ। कोई network access नहीं, अपनी directory के बाहर filesystem access नहीं
मैं network access सिर्फ़ plugins/themes update करते समय चालू करता हूँ। जिन दूसरे applications में untrusted code चल सकता है, उन्हें भी मैं इसी तरह चलाता हूँ