1 पॉइंट द्वारा GN⁺ 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 4 시간 전
Hacker News की राय
  • मैं Obsidian का CEO हूँ। प्लगइन सुरक्षा पर एक बड़ा अपडेट जल्द आ रहा है, और मुझे लगता है कि यह इस थ्रेड में उठी कई चिंताओं को दूर कर सकेगा
    यह मुश्किल समस्या है, लेकिन हम इस पर काम कर रहे हैं। हालांकि, शीर्षक भ्रामक है। यह पोस्ट एक social engineering attack के बारे में है, जिसमें उपयोगकर्ता को Obsidian की कई सुरक्षा चेतावनियों को खुद अस्वीकार करना पड़ता है, और जहाँ तक मुझे पता है यह proof-of-concept स्तर का मामला है, वास्तविक नुकसान की कोई रिपोर्ट मैंने नहीं देखी

    • मैं कई सालों से कह रहा हूँ कि प्लगइन सुरक्षित नहीं हैं। मुझे साफ़ याद है कि Discord पर मैंने कहा था कि प्लगइन के पास पूरे डिस्क की access होती है, और उस पर मुझ पर हमला हुआ था। बहुत देर हो चुकी है
    • क्या अब ऐसा विकल्प आएगा कि प्लगइन सक्षम होने पर भी .obsidian फ़ोल्डर को vault के बाहर ले जाया जा सके, और vault के भीतर उस फ़ोल्डर को डिफ़ॉल्ट रूप से ignore किया जाए?
    • यह कितना कठिन होगा पता नहीं, लेकिन Android जैसे permission dialogs जोड़ना बहुत मददगार होगा। Obsidian प्लगइन्स के 99% को न पूरे डिस्क की access चाहिए, न इंटरनेट access
    • क्लाइंट का source code खोलना भी बहुत-सी चिंताओं को कम कर सकता है
    • “कई सुरक्षा चेतावनियों को सक्रिय रूप से अस्वीकार करना” क्या popup जैसी चीज़ है? ज़्यादातर लोग ऐसी चीज़ों को बिना ज़्यादा सोचे approve कर देते हैं
      मेरे हिसाब से प्लगइन/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 के बिना इसे डिज़ाइन किया गया

    • Markdown फ़ाइलें देखने के लिए VS Code इस्तेमाल करते-करते मैं थक गया था, इसलिए Obsidian इस्तेमाल करना शुरू किया। अच्छा है कि मुझे प्लगइन install करने की ज़रूरत नहीं पड़ी। देखने में यह हिस्सा काफ़ी खराब डिज़ाइन लगता है
  • “पीड़ित से ‘Installed community plugins’ sync फीचर चालू करने को कहा जाता है”
    Obsidian में इस तरह के हमले को रोकने के लिए सुरक्षा उपाय हैं, और पीड़ित को उन्हें अनदेखा करने के लिए मनाया गया। यह सिर्फ़ एक सफल social engineering incident है। इस हमले ने Obsidian या plugin system की किसी vulnerability का दुरुपयोग नहीं किया, इसलिए मुझे अच्छा नहीं लगता कि ऐसे शीर्षक की वजह से Obsidian को घसीटा जाए

    • मैं सहमत नहीं हूँ। https://obsidian.md/help/plugin-security#Plugin+capabilities
      “तकनीकी सीमाओं के कारण Obsidian प्लगइन को किसी खास permission या access level तक विश्वसनीय रूप से सीमित नहीं कर सकता। इसलिए प्लगइन, Obsidian के access level को inherit करते हैं।”
      Community plugins आपके कंप्यूटर की फ़ाइलों तक पहुँच सकते हैं, इंटरनेट से जुड़ सकते हैं, और अतिरिक्त प्रोग्राम भी install कर सकते हैं। Obsidian में कोई वास्तविक सुरक्षा उपाय नहीं है, और प्लगइन install करना मतलब कंप्यूटर पर पूर्ण access देना है। यह होना सिर्फ़ समय की बात थी, और मेरे हिसाब से लगभग 2010 के बाद ऐसा plugin system जारी करना बिना किसी बहाने के लापरवाही थी
    • मैं Obsidian का भारी उपयोग करता हूँ और मुझे यह पसंद है, लेकिन मुझे लगता है कि इस खुलासे की अहमियत प्लगइन्स के प्रति जागरूकता फैलाने और attack path दिखाने में है
      कम अनुभवी उपयोगकर्ता सोच सकते हैं, “यह तो बस Markdown फ़ाइलों का संग्रह है। शायद malware की ज़्यादा चिंता नहीं करनी चाहिए”
  • लगभग हर plugin system इतना ढीला-ढाला डिज़ाइन क्यों होता है? मैं जानना चाहता हूँ कि क्या ऐसा इसलिए है क्योंकि सही isolation/permission features देने वाले अच्छे plugin development frameworks नहीं हैं, इसलिए काम बहुत ज़्यादा है, या इसलिए कि लोग व्यापक रूप से यह नहीं समझते कि क्या ज़रूरी है और अपनी system के दुरुपयोग के बाद ही सीखते हैं। या दोनों? या कोई और वजह है?

    • इसके मूल में functionality और security के बीच समझौता है। आप users को बहुत शक्तिशाली क्षमताएँ दे सकते हैं और उन्हें शानदार चीज़ें करने दे सकते हैं, या आप ज़्यादातर सार्थक क्षमताएँ हटाकर उसे सुरक्षित बना सकते हैं। आमतौर पर लोग security से ज़्यादा functionality पसंद करते हैं
      दूसरी समस्या यह है कि security कठिन है, जबकि सामान्य access देकर कुछ basic guards जोड़ना आसान है
    • आपको वह security framework और components परिभाषित करने पड़ते हैं जिनकी हर plugin को ज़रूरत होगी, और उन्हें डिज़ाइन, implement, verify और maintain करने में समय लगता है
      उस हिस्से को बस छोड़ देना कहीं आसान है। यानी हाँ, काम बहुत ज़्यादा है, और अधिक सटीक रूप से कहें तो इसके लिए security-focused leadership चाहिए जो समझे कि यह काम ज़्यादा है लेकिन सही काम है
    • मेरा अनुमान है कि वजह web stack और ठीक-ठाक interface डिज़ाइन करने के लिए resources की कमी है। ऐसा software high-level JS frameworks में लिखा जाता है, इसलिए डिफ़ॉल्ट रूप से data flow patterns अच्छे नहीं होते, और लोग जानबूझकर डिज़ाइन करने के बजाय वही अपनाते हैं जो व्यवहार में संभव हो
      अगर आप इसे इरादतन डिज़ाइन करना चाहें, तो आपको abstraction layers के नीचे जाना पड़ सकता है और उस framework के custom forks को maintain करना पड़ सकता है। इसलिए संभवतः उन्होंने plugins को ऐसे डिज़ाइन किया होगा जैसे app जिस context का उपयोग करता है उसका कुछ हिस्सा देकर library instantiate की जाती है। आखिरकार, यही सबसे सरल तरीका है जो काम करता है। सार्वजनिक रूप से बताए गए hack में किसी खास “vulnerability” का ज़िक्र नहीं है, लेकिन Obsidian plugins हमेशा से god mode में रहे हैं, और attacker ने बस लोगों को उसे इस्तेमाल करने के लिए बहकाया। कुछ popups के पीछे मूलतः remote code execution तैयार बैठी है और अंत में user को दोष देना हास्यास्पद है। developers को शर्म आनी चाहिए
    • Chrome browser plugins में भी इससे मिलती-जुलती security समस्याएँ हैं। इसमें अरबों डॉलर और बहुत से होशियार developers लगे हैं, फिर भी ऐसा है
      यह किसी app के भीतर app store बनाने जैसा है। Apple App Store हानिकारक apps को कम करने के लिए इस पर कड़ी सीमाएँ लगाता है कि कौन क्या publish कर सकता है, और paid barriers भी रखता है
    • plugin system का मतलब अपने-आप sandbox क्यों होना चाहिए?
  • चाहे यह 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 चल सकता है, उन्हें भी मैं इसी तरह चलाता हूँ

    • क्या आप बता सकते हैं कि आप इसे sandbox कैसे करते हैं?