
CVE-2019-19781 के लिए समझौता सूचक स्कैनर
इस रिपॉजिटरी में Citrix ADC उपकरणों के समझौतों का पता लगाने के लिए एक उपयोगिता है जो CVE-2019-19781 से संबंधित है। यह उपयोगिता और इसके संसाधन, FireEye Mandiant जांच के दौरान एकत्रित समझौता संकेतकों को एन्कोड करते हैं। अधिक जानने के लिए, कृपया इस टूल के रिलीज़ की घोषणा करने वाला ब्लॉग पढ़ें।
संक्षेप में, उपयोगिता निम्नलिखित करेगी:
यह निम्नलिखित नहीं करेगी:
सामुदायिक प्रतिक्रिया से, उपकरण अपनी पहचान में अधिक संपूर्ण हो सकता है। यदि आपको समस्याएँ, विचार या प्रतिक्रिया हो, तो कृपया एक मुद्दा खोलें, एक PR सबमिट करें, या लेखकों से संपर्क करें।
यह स्कैनर पहचान सकता है:
CVE-2019-19781 के लिए समझौता संकेतक (IoC) स्कैनर को FireEye Mandiant और Citrix द्वारा संयुक्त रूप से विकसित किया गया था, जो CVE-2019-19781 के शोषण से संबंधित घटना प्रतिक्रिया कार्यों से प्राप्त ज्ञान पर आधारित था। स्कैनर का लक्ष्य उपलब्ध लॉग स्रोतों और सिस्टम फोरेंसिक कलाकृतियों का विश्लेषण करके CVE-2019-19781 के सफल शोषण के साक्ष्य की पहचान करना है। उपकरण जो कुछ भी पूरा करने में सक्षम होगा, उसकी सीमाएँ हैं, और इसलिए, उपकरण को चलाने को यह गारंटी नहीं माना जाना चाहिए कि सिस्टम समझौते से मुक्त है। उदाहरण के लिए, समझौते के साक्ष्य वाली लॉग फ़ाइलें सिस्टम पर काटी/घुमाई गई हो सकती हैं, सिस्टम को रीबूट किया गया हो सकता है, एक हमलावर ने समझौते के साक्ष्य को हटाने के लिए सिस्टम के साथ छेड़छाड़ की हो सकती है, और/या एक रूटकिट स्थापित किया हो सकता है जो समझौते के साक्ष्य को छुपाता है, आदि।
इस उपकरण का आउटपुट तीन श्रेणियों में से एक में आएगा:
समझौते का साक्ष्य। यह डिफ़ॉल्ट है।
इस श्रेणी में आने वाला कोई भी साक्ष्य इंगित करता है कि किसी उपकरण से सफलतापूर्वक समझौता किया गया था।
यह कुछ भी हो सकता है, जानकारी प्रकट करने वाले कमांड निष्पादित करने (जैसे ns.conf या smb.conf कॉन्फ़िगरेशन फ़ाइलें देखना) से लेकर,
बैकडोर स्थापित करने (जैसे NOTROBIN, एक कॉइन माइनर, आदि),
या Perl-आधारित वेब शेल गिराने तक।
सफल भेद्यता स्कैनिंग का साक्ष्य (यह अधिकृत सिस्टम प्रशासक या अनधिकृत हमलावर हो सकता है)। इस श्रेणी में आने वाला कोई भी साक्ष्य इंगित करता है कि सिस्टम असुरक्षित स्थिति में था (जैसे शमन लागू नहीं किया गया था) और CVE-2019-19781 का शोषण करने का कम से कम पहला कदम सफल रहा।
विफल भेद्यता स्कैनिंग का साक्ष्य। इस श्रेणी में आने वाला कोई भी साक्ष्य इंगित करता है कि सिस्टम को स्कैन या शोषण करने के प्रयास विफल रहे।
यह उपकरण समझौते के सभी साक्ष्य, या CVE-2019-19781 से संबंधित समझौते के सभी साक्ष्य खोजने की गारंटी नहीं है। यदि सिस्टम पर समझौते के संकेतों की पहचान होती है, तो संगठनों को घटना के दायरे और सीमा को निर्धारित करने के लिए समझौता किए गए सिस्टम की फोरेंसिक जांच करनी चाहिए। यह उपकरण "जैसा है" और बिना किसी वारंटी के प्रदान किया जाता है।
आपको इस रिपॉजिटरी के रिलीज़ टैब से स्टैंडअलोन Bash स्क्रिप्ट डाउनलोड करनी चाहिए। स्रोत निर्देशिका को Citrix ADC उपकरण पर कॉपी करना संभव है लेकिन अनुशंसित नहीं है।
IoC स्कैनर सीधे Citrix ADC उपकरण पर चलाया जा सकता है।
इस मोड में, उपकरण ज्ञात संकेतकों के लिए फ़ाइलों, प्रक्रियाओं और पोर्ट को स्कैन करेगा।
उपकरण नैदानिक संदेश STDERR स्ट्रीम पर और परिणाम STDOUT स्ट्रीम पर लिखता है।
सामान्य उपयोग में, आपको समीक्षा के लिए STDOUT को एक फ़ाइल में रीडायरेक्ट करना चाहिए।
Citrix ADC उपकरण पर लाइव मोड में उपकरण को root के रूप में चलाया जाना चाहिए।
उदाहरण के लिए:
$ sudo bash ./ioc-scanner-CVE-2019-19781-v1.1.sh > "/tmp/results-$(date).txt"
उपकरण निम्नलिखित उत्पादों के साथ उपयोग के लिए डिज़ाइन किया गया है:
IoC स्कैनर एक माउंटेड फोरेंसिक इमेज का भी निरीक्षण कर सकता है। इस परिदृश्य में, इमेज रूट निर्देशिका के पथ को निर्दिष्ट करते हुए एक कमांड लाइन तर्क पास करें। ऑफ़लाइन मोड में चलाने के लिए आपको रूट होने की आवश्यकता नहीं है।
उदाहरण के लिए:
$ bash ./ioc-scanner-CVE-2019-19781-v1.1.sh /mnt/path/to/evidence/root/
दोनों मोड में, उपकरण एक अस्थायी निर्देशिका में सहायक कोड निकालेगा; स्क्रिप्ट की समाप्ति पर यह निर्देशिका हटा दी जाएगी। उपकरण सिस्टम में और परिवर्तन नहीं करता है, हालाँकि यह लॉग प्रविष्टियाँ उत्पन्न करने का कारण बन सकता है।
सभी फोरेंसिक विश्लेषण की तरह, लाइव प्रतिक्रिया की तुलना में dd इमेज के विरुद्ध ऑफ़लाइन विश्लेषण को प्राथमिकता दें।
इससे संभावना समाप्त हो जाएगी कि उपकरण प्रासंगिक साक्ष्य को अधिलेखित करने का कारण बनता है।
कृपया अधिक विवरण के लिए अक्सर पूछे जाने वाले प्रश्न देखें।
जैसे-जैसे आप समझौते की पहचान करने के और तरीके ईजाद करते हैं, कृपया इस IoC स्कैनर में योगदान करने पर विचार करें। हम यथासंभव सबसे संपूर्ण और सही स्कैनर प्रदान करना चाहेंगे।
प्राथमिक लक्ष्य उच्च-विश्वास वाले समझौता संकेतकों की रिपोर्ट करना है। क्योंकि उपयोगकर्ता आगे की जांच शुरू करने के लिए इस उपकरण के आउटपुट पर भरोसा कर सकते हैं, यह महत्वपूर्ण है कि हम उन्हें भटकने न दें। इसलिए, सरल स्कैनिंग जैसी गतिविधि को डिफ़ॉल्ट मोड में रिपोर्ट नहीं किया जाना चाहिए। किसी अभिनेता द्वारा सिस्टम तक पहुँच प्राप्त करने, जानकारी लाने, या सामग्री बनाने के किसी भी साक्ष्य की हमेशा रिपोर्ट की जानी चाहिए।
हम इस उपकरण को Bash स्क्रिप्ट के रूप में प्रदान करते हैं क्योंकि यह Citrix ADC उपकरणों में एक सामान्य भाजक है। यहाँ Citrix ADC रिलीज़ के लिए सुविधा मैट्रिक्स है:
हालाँकि हमने FreeBSD/NetScaler को लक्षित करने के लिए मैलवेयर को Go का उपयोग करते देखा है, Go FreeBSD 6.x का समर्थन नहीं करता है।
हम ./tests/ निर्देशिका में समझौते के साक्ष्य वाली स्पार्स फ़ाइल सिस्टम इमेज बनाए रखते हैं।
जैसे-जैसे आप इस उपकरण में IoC जोड़ते हैं, जैसे कि ज्ञात पथ या ब्लैकलिस्टेड सामग्री, कृपया परीक्षण के लिए साक्ष्य के उदाहरण प्रदान करें।
आप Linux या macOS सिस्टम पर यूनिट टेस्ट इस प्रकार चला सकते हैं:
$ bash ./tests/test.sh
runnning test: access-logs
runnning test: xml-template
runnning test: crontab
runnning test: var-cron-tabs-nobody
runnning test: error-logs
runnning test: file-system
runnning test: netscalerd
runnning test: notrobin-tmp-init
runnning test: notrobin-var-nstmp-nscache
runnning test: ns-content
runnning test: chr-encoded-template
runnning test: copied-ns-conf
runnning test: curl-in-template
runnning test: perms
runnning test: var-tmp-netscaler-portal-templates
runnning test: var-vpn-bookmark
runnning test: webshell-in-scripts
runnning test: shell-history
runnning test: bash_log
runnning test: notice_log
एक बार जब आप स्रोत रिपॉजिटरी की जाँच कर लेते हैं, तो आप ./build.sh टूल का उपयोग करके एक स्टैंडअलोन स्क्रिप्ट बना सकते हैं।
यह प्राथमिक स्क्रिप्ट और सहायक संसाधनों को एक एकल बंडल में पैकेज करता है।
निष्पादन पर, यह एक अस्थायी निर्देशिका में निकालेगा, वहाँ से निष्पादित होगा, और फिर साफ़ करेगा।
निर्माण करने के लिए:
$ bash ./build.sh > ioc-scanner-CVE-2019-19781-rev$(git rev-parse HEAD | cut -c 1-8).sh
FireEye से CVE-2019-19781 और वास्तविक दुनिया के शोषण के बारे में अतिरिक्त जानकारी के लिए, कृपया देखें:
CVE-2019-19781 की प्रतिक्रिया सुरक्षा उद्योग में एक महत्वपूर्ण प्रयास रही है और ये ब्लॉग उन अतिरिक्त योगदानों का भारी संदर्भ देते हैं जो इस उपकरण के उपयोगकर्ताओं के लिए मूल्यवान होंगे। हम आपके वातावरण में गतिविधि को सर्वोत्तम रूप से समझने के लिए इन पोस्टों से संबद्ध सामग्री पढ़ने की सलाह देते हैं। हमेशा की तरह, FireEye Mandiant टीम यहाँ हमसे संपर्क करके अनुवर्ती प्रश्नों का उत्तर देने या किसी जांच में और सहायता करने के लिए उपलब्ध है।
| NetScaler संस्करण | OS | उपलब्ध भाषाएँ |
|---|
| 13.0 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.0 | FreeBSD 8.4 | Bash, Perl, Python |
| 11.1 | FreeBSD 8.4 | Bash, Perl |
| 10.5 | FreeBSD 8.4 | Bash, Perl |
| 10.1 | FreeBSD 6.3 | Bash, Perl |
| 9.3 | FreeBSD 6.3 | Bash, Perl |