
CVE-2020-5902 से संबंधित समझौते के संकेतकों (IoCs) की स्कैन करने वाला स्थानीय F5 BIG-IP स्क्रिप्ट, जो पोस्ट-एक्सप्लॉइटेशन गतिविधि का पता लगाने के लिए लॉग, फ़ाइलों और सिस्टम अखंडता की जाँच करता है।
यह स्क्रिप्ट रूट विशेषाधिकार वाले उपयोगकर्ता द्वारा F5 BIG-IP पर उन्नत शेल (bash) में स्थानीय रूप से निष्पादित करने के लिए है; इसे किसी अन्य सेटिंग में चलाने का इरादा नहीं है। नोट: Appliance Mode उन्नत शेल तक पहुंच की अनुमति नहीं देता है, और इसलिए इस उपकरण को ऐसे सिस्टम पर नहीं चलाया जा सकता है।
स्क्रिप्ट CVE-2020-5902 से जुड़े समझौता संकेतकों (Indicators of Compromise - IoCs) के लिए BIG-IP की जांच करती है, जो लेखन के समय F5 Networks को ज्ञात थे। स्क्रिप्ट इन IoCs को एकत्रित करती है और एक रिपोर्ट प्रस्तुत करती है जिसका उपयोग आप आगे का सर्वोत्तम मार्ग निर्धारित करने के लिए कर सकते हैं। यदि यह उपकरण कोई IoC ढूंढता है, तो आपको उनकी मैन्युअल जांच और पुष्टि करनी चाहिए, और फिर संदिग्ध समझौता सिस्टम को संभालने के लिए अपनी दस्तावेज़ीकृत प्रक्रियाओं का पालन करना चाहिए। F5-विशिष्ट मार्गदर्शन K11438344: Considerations and guidance when you suspect a security compromise on a BIG-IP system में पाया जा सकता है।
नोट: यदि किसी सिस्टम की अखंडता के बारे में कोई अनिश्चितता या संदेह है, तो सतर्क दृष्टिकोण यह है कि सिस्टम को समझौता माना जाए और समझौता सिस्टम को संभालने के लिए अपनी आंतरिक प्रक्रियाओं का पालन करें। यह भी ध्यान दें कि समझौता सिस्टम पर मौजूद कोई भी जानकारी स्वयं समझौता मानी जानी चाहिए। इसमें पासवर्ड, निजी कुंजियाँ, डिजिटल प्रमाणपत्र, कॉन्फ़िगरेशन, लॉग आदि शामिल हैं, लेकिन इन्हीं तक सीमित नहीं है।
यह ध्यान दिया जाना चाहिए कि IoCs समय के कारण (उदाहरण के लिए, लॉग रोटेशन अनुसूचियों द्वारा) या पर्याप्त कुशल विरोधी द्वारा हटाने के कारण अब मौजूद नहीं हो सकते। चूंकि CVE-2020-5902 का शोषण संभावित रूप से रूट उपयोगकर्ता के रूप में दूरस्थ कोड निष्पादन का परिणाम देता है, एक कुशल हमलावर शोषण के बाद सिस्टम से निशान हटाने के लिए स्वतंत्र होगा।
यह भी ध्यान दें कि एक हमलावर सिस्टम पर किसी भी बाइनरी को दूषित कर सकता है, जिसमें python भी शामिल है। इस संभावना से बचने के लिए उचित कदम उठाए गए हैं; हालांकि, आपको किसी भी संदिग्ध समझौता सिस्टम पर इस उपकरण के आउटपुट में अपने विश्वास का स्तर निर्धारित करना होगा।
BIG-IP के उन संस्करणों पर जिनमें sys-eicheck शामिल है (13.1.0 और उसके बाद), यह उपकरण प्रशासक को चल रहे सिस्टम की मूल स्थापना RPMs से तुलना करके किसी भी फ़ाइल संशोधन की जांच करने का अवसर प्रदान करता है, ताकि इस उपकरण द्वारा उपयोग किए जाने वाले सिस्टम कमांड की अखंडता सुनिश्चित करने का प्रयास किया जा सके। ध्यान दें कि sys-eicheck को FIPS क्षमता की परवाह किए बिना सभी प्लेटफार्मों पर चलाया जा सकता है।
पुराने संस्करणों पर उपकरण वर्तमान में इस कार्यक्षमता को शामिल नहीं करता है और मूल रूप से स्थापित सिस्टम बाइनरी की छेड़छाड़ की जांच किए बिना चलेगा।
इस संस्करण के CVE-2020-5902_bigip_ioc_checker.py का sha384 योग है: ce674235744b54de3331c19a402f911c4390dbbf297643ec3eed165bda49a951f48c1be9188372de3d92dd9f28595cbb
आपको इन फ़ाइलों को केवल F5 DevCentral GitHub रिपॉजिटरी से डाउनलोड करना चाहिए
ध्यान दें कि CVE-2020-5902 पर जानकारी का आधिकारिक स्रोत हमेशा F5 सुरक्षा सलाह, K52145254: TMUI RCE vulnerability CVE-2020-5902 है।
बस फ़ाइल CVE-2020-5902_bigip_ioc_checker.py को लक्ष्य BIG-IP पर डाउनलोड करें और BIG-IP पर पहले से मौजूद python स्थापना का उपयोग करके इसे चलाएं।
उदाहरण:
[root@hostname:Active:Standalone] tmp # python CVE-2020-5902_bigip_ioc_checker.py -h
USAGE: python CVE-2020-5902_bigip_ioc_checker.py
You can use the following options <-iajylcbwut> to skip some checks:
Option: -i or --skip_sys-eicheck
[+] Skip using the sys_eicheck utility to scan the BIG-IP system for any unexpected changes to the system software.
[+] Please refer to https://support.f5.com/csp/article/K00029945for more details about the sys-eicheck utility.
[+] The sys-eicheck utility may take several minutes to finish.
Option: -a or --skip_audit_check [+] Skip scanning the audit log for malicious activities.
Option: -j or --skip_journal_check [+] Skip scanning the journal log for malicious activities.
Option: -y or --skip_systems_check [+] Skip scanning /config/bigip_user.conf to look for malicious users.
Option: -l or --skip_alias_check [+] Skip scanning /config/bigip_*.conf for malicious alias definition.
Option: -c or --skip_catalina_check [+] Skip scanning the tomcat catalina.out log for malicious activities.
Option: -b or --skip_bigipstartup_check [+] Skip checking if /config/startup contains blacklisted words.
Option: -w or --skip_webshell_check [+] Skip checking Files created after 2020 Jun 29 in the /usr/local/www/ to look for possible webshell files.
Option: -u or --skip_autostart_check [+] Skip checking Files created after 2020 Jun 29 in /etc/ to look for the possible autostart script.
Option: -t or --skip_tmp_check [+] Skip checking Files created after 2020 Jun 29 in /tmp
Option: -p or --disable_color_print [+] Disable color print, better for saving result
Option: -q or --bigiq_cmd_check [+] Run BIG-IQ compatible malicious command check
Option: -h or --help [+] Print usage
यदि BIG-IP BIG-IQ या किसी अन्य ऑटोमेशन/प्रबंधन प्रणाली द्वारा प्रबंधित है, तो इसे BIG-IQ या किसी अन्य ऑटोमेशन/प्रबंधन प्रणाली से bash कमांड प्राप्त हो सकते हैं। कुछ bash कमांड में base64 एन्कोडिंग स्क्रिप्ट एम्बेडेड होती है। BIG-IP ऑडिट लॉग में लॉग किए गए वे bash कमांड IoC पहचान उपकरण को गलत सकारात्मक सूचना रिपोर्ट करने का कारण बन सकते हैं: "!! IoC pattern malicious bash command found". गलत सकारात्मक को कम करने के लिए, आप -q विकल्प का उपयोग कर सकते हैं ताकि IoC पहचान उपकरण ऑडिट लॉग में वैध base64 एन्कोडेड स्क्रिप्ट को अनदेखा कर दे।
सिस्टम को अपग्रेड करने से /usr/local/www/ में फ़ाइलों के टाइमस्टैम्प अपडेट हो सकते हैं, जिसके परिणामस्वरूप गलत सकारात्मक हो सकता है, उदाहरण के लिए, यदि फिक्स्ड सॉफ़्टवेयर हाल ही में स्थापित किया गया था।
यदि /usr/local/www/, /etc/, और /tmp/ में फ़ाइल निर्माण तिथि जांच के लिए कोई परिणाम लौटाए जाते हैं, तो उनकी वैधता निर्धारित करने के लिए फ़ाइलों की जांच की जानी चाहिए।
एक फिक्स्ड संस्करण में अपग्रेड करने या वर्कअराउंड लागू करने के बाद भी journalctl लॉग से समझौता संकेत (Indication of Compromise) मिलना संभव है। कृपया लॉग के टाइम स्टैम्प की समीक्षा करें यदि वे मौजूद हैं और सत्यापित करें कि वे अपग्रेड या वर्कअराउंड लागू करने से पहले हुए थे।
# python CVE-2020-5902_bigip_ioc_checker.py -iqa
>>>> Skip sys-eicheck check
>>>> Run BIG-IQ compatible malicious command check
>>>> Skip audit log check
CVE-2020-5902 Indicators of Compromise checker. False positive reports are possible and all results should be manually verified.
[+] Version 13.1.0 Build 0.0.1868 CVE-2020-5902 Fixed: False
!! IoC pattern ['/etc/fakefile', '/etc/passwd', '/etc/fakefile1'] access denied in file /var/log/tomcat/catalina.out
!! IoC pattern ['/config/bigip_base.conf'] access denied in file /var/log/tomcat/catalina.out.1
!! IoC pattern Possible backdoor echo "<?php eval(\$_REQUEST[09ede7]);" > /usr/local/www/xui/common/css/webshell.php in file /config/startup
!! IoC pattern Possible backdoor echo "Runtime.getRuntime().exec("cmd.exe /C " + cmd);" > /usr/local/www/xui/common/css/webshell.jsp in file /config/startup
[+]========================== auto start script checking ==========================
!! Files created in /etc/ after 2020 Jun 29, need to check if those are malicious daemon startup script
95291 1 -rw-r--r-- 1 root root 0 Jul 20 14:49 /etc/rc.d/init.d/autostartbackdoor
104847 4 -rw------- 1 root root 199 Jul 13 10:46 /var/spool/cron/root
[+]================================ /tmp/ checking ================================
!! File /tmp/backdoor_curl could be a malicous script
!! File /tmp/CVE-2020-5902_bigip_ioc_checker.py could be a malicous script
!! Files created in /tmp/ after 2020 Jun 29, need to check if those are malicious scripts
18491 40 -rw-r--r-- 1 root root 38066 Jul 20 14:57 /tmp/CVE-2020-5902_bigip_ioc_checker.py
18497 1 -rw-r--r-- 1 root root 0 Jul 20 14:49 /tmp/backdoor_new
[+]============================== webshell checking ==============================
!! Files created in /usr/local/www/ after 2020 Jun 29, need to check if those are webshell or information leakage
243368 4 -rw-r--r-- 1 root root 33 Jul 20 14:49 /usr/local/www/xui/common/css/webshell.php
243367 4 -rw-r--r-- 1 root root 33 Jul 17 08:30 /usr/local/www/xui/common/css/css.php
243369 4 -rw-r--r-- 1 root root 46 Jul 20 14:49 /usr/local/www/xui/common/css/webshell.jsp
F5 अपने ग्राहकों को CVE-2020-5902 से संबंधित कुछ समझौता संकेतकों के लिए iHealth के बाहर अपने F5 उपकरणों का विश्लेषण करने में मदद करने के लिए CVE-2020-5902 IoC पहचान उपकरण प्रदान करता है। कृपया ध्यान दें, हालांकि, कि:
CVE-2020-5902 IoC पहचान उपकरण व्यापक नहीं है, न ही इसका उद्देश्य ऐसा होना है: यह समझौता के सभी संभावित संकेतकों की पहचान नहीं करता है, बल्कि केवल एक चुनिंदा समूह की पहचान करता है जिसे F5 ने समझौता किए गए F5 उपकरणों के अपने आंतरिक विश्लेषणों के आधार पर आम तौर पर विश्वसनीय पाया है।
सभी समझौता किए गए F5 उपकरण समान संकेतक नहीं दिखाते हैं और हमलावर अपने काम के निशान हटाने में सक्षम हो सकते हैं। यह साबित करना संभव नहीं है कि किसी भी उपकरण से समझौता नहीं किया गया है; यदि कोई अनिश्चितता है, तो अतिरिक्त विश्लेषण की आवश्यकता हो सकती है और/या आप अपनी सुरक्षा टीम से परामर्श करना चाह सकते हैं।
उपयोगकर्ता के व्यावसायिक संचालन में अनुचित व्यवधान से बचने के लिए, CVE-2020-5902 IoC पहचान उपकरण को पीक ट्रैफिक घंटों के दौरान संचालित नहीं किया जाना चाहिए और इसके बजाय आमतौर पर उपयोगकर्ताओं के नियमित रखरखाव विंडो के दौरान उपयोग किया जाना चाहिए।
यदि समझौता के संकेतकों की पहचान की जाती है, तो F5 अनुशंसा करता है कि उपयोगकर्ता अपनी दस्तावेज़ीकृत आंतरिक घटना प्रतिक्रिया प्रक्रियाओं का पालन करें। F5 ने सामान्य विचार और मार्गदर्शन प्रदान किया है कि कब BIG-IP सिस्टम पर सुरक्षा समझौते का संदेह हो K11438344: Considerations and guidance when you suspect a security compromise on a BIG-IP system में। इसके अतिरिक्त, उपयोगकर्ता अतिरिक्त सहायता के लिए ग्राहक सहायता पोर्टल या अन्य मानक चैनलों के माध्यम से सीधे F5 से संपर्क कर सकते हैं।
CVE-2020-5902 IoC पहचान उपकरण F5 उपयोगकर्ताओं की सुविधा के लिए उपलब्ध कराया गया है और Apache लाइसेंस की शर्तों के तहत "जैसा है" आधार पर प्रदान किया जाता है। आप CVE-2020-5902 IoC पहचान उपकरण का उपयोग अपने जोखिम पर करते हैं।
Copyright © 2020 F5 Networks, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use the CVE-2020-5902 IoC Detection Tool except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.