
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