
Lokales F5 BIG-IP-Skript, das nach Indikatoren für eine Kompromittierung (IoCs) im Zusammenhang mit CVE-2020-5902 sucht, indem es Logs, Dateien und die Systemintegrität überprüft, um Post-Exploitation-Aktivitäten zu erkennen.
Dieses Skript soll lokal auf einem F5 BIG-IP in der Advanced Shell (bash) von einem Benutzer mit Root-Rechten ausgeführt werden; es ist nicht für die Ausführung in einer anderen Umgebung vorgesehen. Hinweis: Der Appliance-Modus erlaubt keinen Zugriff auf die Advanced Shell, daher kann dieses Tool auf solchen Systemen nicht ausgeführt werden.
Das Skript untersucht den BIG-IP auf die Indikatoren einer Kompromittierung (Indicators of Compromise, IoCs) im Zusammenhang mit CVE-2020-5902, die F5 Networks zum Zeitpunkt der Erstellung bekannt waren. Das Skript sammelt diese IoCs und erstellt einen Übersichtsbericht, den Sie zur Entscheidungsfindung für den besten weiteren Weg nutzen können. Wenn dieses Tool IoCs aufdeckt, sollten Sie diese manuell überprüfen und bestätigen und dann Ihre eigenen dokumentierten Verfahren für den Umgang mit vermutlich kompromittierten Systemen befolgen. F5-spezifische Anleitungen finden Sie in K11438344: Considerations and guidance when you suspect a security compromise on a BIG-IP system.
Hinweis: Wenn Sie Unsicherheit oder Zweifel an der Integrität eines Systems haben, ist der vorsichtige Ansatz, das System als kompromittiert zu betrachten und Ihre internen Verfahren für den Umgang mit einem kompromittierten System zu befolgen. Beachten Sie auch, dass alle auf einem kompromittierten System enthaltenen Informationen selbst als kompromittiert betrachtet werden sollten. Dies umfasst unter anderem Passwörter, private Schlüssel, digitale Zertifikate, Konfigurationen, Protokolle usw.
Es ist zu beachten, dass IoCs möglicherweise nicht mehr vorhanden sind, entweder aufgrund ihres Alters (z. B. durch Log-Rotationspläne) oder durch die Entfernung durch einen ausreichend versierten Angreifer. Da die Ausnutzung von CVE-2020-5902 potenziell zu einer Remote-Codeausführung als Root-Benutzer führt, könnte ein erfahrener Angreifer das System nach der Ausnutzung von Spuren bereinigen.
Beachten Sie auch, dass ein Angreifer jede Binärdatei auf dem System manipulieren könnte, einschließlich Python. Es wurden angemessene Schritte unternommen, um diese Möglichkeit zu vermeiden; Sie müssen jedoch Ihr Vertrauen in die Ausgabe dieses Tools auf jedem System, das als kompromittiert verdächtigt wird, selbst bestimmen.
Auf BIG-IP-Versionen, die sys-eicheck enthalten (ab 13.1.0), bietet dieses Tool dem Administrator die Möglichkeit, das laufende System mit den ursprünglichen Installations-RPMs zu vergleichen, um nach Dateiänderungen zu suchen und so die Integrität der Systembefehle, auf die sich dieses Tool stützt, zu gewährleisten. Beachten Sie, dass sys-eicheck auf allen Plattformen unabhängig von der FIPS-Fähigkeit ausgeführt werden kann.
In früheren Versionen enthält das Tool diese Funktionalität derzeit nicht und wird ausgeführt, ohne die ursprünglich installierten Systembinärdateien auf Manipulationen zu überprüfen.
Die SHA384-Prüfsumme dieser Version von CVE-2020-5902_bigip_ioc_checker.py lautet: ce674235744b54de3331c19a402f911c4390dbbf297643ec3eed165bda49a951f48c1be9188372de3d92dd9f28595cbb
Sie sollten diese Dateien nur aus dem F5 DevCentral GitHub-Repository herunterladen
Beachten Sie, dass die maßgebliche Informationsquelle zu CVE-2020-5902 immer das F5 Security Advisory K52145254: TMUI RCE vulnerability CVE-2020-5902 ist
Laden Sie einfach die Datei CVE-2020-5902_bigip_ioc_checker.py auf den Ziel-BIG-IP herunter und führen Sie sie mit der bereits auf dem BIG-IP vorhandenen Python-Installation aus.
Beispiel:
[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
Wenn ein BIG-IP von BIG-IQ oder einem anderen Automatisierungs-/Verwaltungssystem verwaltet wird, kann es Bash-Befehle von BIG-IQ oder einem anderen Automatisierungs-/Verwaltungssystem erhalten. Einige der Bash-Befehle enthalten das Base64-Kodierungsskript. Diese in den BIG-IP-Auditprotokollen protokollierten Bash-Befehle könnten dazu führen, dass das IoC-Erkennungstool eine Fehlalarmmeldung meldet: "!! IoC pattern malicious bash command found". Um die Fehlalarme zu reduzieren, können Sie die Option -q verwenden, damit das IoC-Erkennungstool das legitime Base64-kodierte Skript in den Auditprotokollen ignoriert.
Ein Upgrade des Systems kann die Zeitstempel von Dateien in /usr/local/www/ aktualisieren, was zu einem Fehlalarm führen kann, zum Beispiel wenn die korrigierte Software kürzlich installiert wurde.
Wenn Ergebnisse bei den Prüfungen des Erstellungsdatums von Dateien in /usr/local/www/, /etc/ und /tmp/ zurückgegeben werden, sollten die Dateien untersucht werden, um ihre Berechtigung zu bestimmen.
Es ist möglich, auch nach einem Upgrade auf eine behobene Version oder nach Anwendung der Problemumgehung noch Anzeichen einer Kompromittierung in den journalctl-Protokollen zu finden. Bitte überprüfen Sie den Zeitstempel der Protokolle, falls vorhanden, und vergewissern Sie sich, dass sie vor dem Upgrade oder der Anwendung der Problemumgehung aufgetreten sind.
# 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