
CVE-2020-5902関連の侵害指標(IoCs)をスキャンし、ログ、ファイル、システム整合性をチェックして、ポストエクスプロイト活動を検出するローカルF5 BIG-IPスクリプト。
このスクリプトは、root権限を持つユーザーがF5 BIG-IP上でAdvanced Shell(bash)でローカルに実行することを目的としています。他の環境で実行することを意図していません。注意:アプライアンスモードではAdvanced Shellへのアクセスが許可されていないため、このツールはそのようなシステムでは実行できません。
このスクリプトは、作成時にF5 Networksが把握していたCVE-2020-5902に関連する侵害指標(IoC)についてBIG-IPを検査します。スクリプトはこれらのIoCを収集し、最善の進め方を判断するための情報として使用できるレポートを概要として提示します。このツールがIoCを発見した場合は、手動で調査して確認し、侵害が疑われるシステムを扱うための自身の文書化された手順に従ってください。F5固有のガイダンスは、K11438344: BIG-IPシステムのセキュリティ侵害が疑われる場合の考慮事項とガイダンスにあります。
注意:システムの完全性に不確かさや疑念がある場合、慎重なアプローチはシステムを侵害されたとみなし、侵害されたシステムを扱うための内部手順に従うことです。また、侵害されたシステムに含まれる情報自体も侵害されたとみなされるべきです。これには、パスワード、秘密鍵、デジタル証明書、設定、ログなどが含まれますが、これらに限定されません。
IoCは、経過時間(例:ログローテーションのスケジュール)や十分に熟練した攻撃者による削除により、存在しなくなる可能性があることに留意する必要があります。CVE-2020-5902の悪用はrootユーザーとしてのリモートコード実行をもたらす可能性があるため、熟練した攻撃者は悪用後にシステムから痕跡を自由に消去できるでしょう。
また、攻撃者はシステム上の任意のバイナリ(pythonを含む)を改ざんする可能性があることに注意してください。この可能性を回避するために合理的な対策が取られていますが、侵害が疑われるシステム上でこのツールの出力に対する信頼度を判断する必要があります。
sys-eicheck を含むBIG-IPバージョン(13.1.0以降)では、このツールは管理者に、実行中のシステムを元のインストールRPMと照合してファイルの変更がないか確認する機会を提供し、このツールが依存するシステムコマンドの整合性を確保しようとします。sys-eicheckはFIPS機能に関係なくすべてのプラットフォームで実行できることに注意してください。
それ以前のバージョンでは、このツールは現在この機能を含まず、元のインストール済みシステムバイナリの改ざんをチェックせずに実行されます。
このバージョンのCVE-2020-5902_bigip_ioc_checker.pyのsha384ハッシュは: ce674235744b54de3331c19a402f911c4390dbbf297643ec3eed165bda49a951f48c1be9188372de3d92dd9f28595cbb です。
これらのファイルはF5 DevCentral GitHubリポジトリからのみダウンロードしてください。
CVE-2020-5902に関する情報の信頼できるソースは、常にF5セキュリティアドバイザリ、K52145254: TMUI RCE脆弱性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または他の自動化/管理システムによって管理されている場合、それらのシステムから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ログから侵害の兆候が見つかる可能性があります。ログが存在する場合は、そのタイムスタンプを確認し、アップグレードまたは回避策の適用前に発生したものであることを確認してください。
# 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は、お客様がiHealth以外のF5デバイスをCVE-2020-5902に関連する特定の侵害指標について分析できるように、CVE-2020-5902 IoC検出ツールを提供しています。ただし、以下の点にご注意ください。
CVE-2020-5902 IoC検出ツールは包括的ではなく、またそのように意図されていません。すべての可能性のある侵害指標を特定するものではなく、F5が侵害されたF5デバイスの内部分析に基づいて一般的に信頼性が高いと判断した選択されたグループのみを特定します。
すべての侵害されたF5デバイスが同じ指標を示すわけではなく、攻撃者が作業の痕跡を削除できる可能性があります。どのデバイスも侵害されていないことを証明することはできません。不確かな場合は、追加の分析が必要になるか、セキュリティチームに相談することをお勧めします。
ユーザーの業務運用への過度な中断を避けるため、CVE-2020-5902 IoC検出ツールはピークトラフィック時間帯に操作すべきではなく、通常はユーザーの定期的なメンテナンスウィンドウ中に使用する必要があります。
侵害指標が特定された場合、F5はユーザーが文書化された内部インシデント対応手順に従うことを推奨します。F5は、BIG-IPシステムのセキュリティ侵害が疑われる場合の一般的な考慮事項とガイダンスをK11438344: BIG-IPシステムのセキュリティ侵害が疑われる場合の考慮事項とガイダンスで提供しています。さらに、ユーザーはカスタマーサポートポータルまたはその他の標準チャネルからF5に直接連絡して追加サポートを受けることができます。
CVE-2020-5902 IoC検出ツールはF5ユーザーの利便性のために提供され、Apache Licenseの条件に基づいて「現状のまま」提供されます。CVE-2020-5902 IoC検出ツールの使用は自己責任で行ってください。
Copyright © 2020 F5 Networks, Inc.
Apache License、バージョン2.0(「ライセンス」)に基づいてライセンスされています。ライセンスに準拠する場合を除き、CVE-2020-5902 IoC検出ツールを使用することはできません。ライセンスのコピーは以下から入手できます。
http://www.apache.org/licenses/LICENSE-2.0
適用法で要求される場合、または書面での同意がない限り、ライセンスに基づいて配布されるソフトウェアは、明示的または黙示的を問わず、いかなる種類の保証も条件もなく「現状のまま」配布されます。ライセンスの特定の言語による許可と制限については、ライセンスを参照してください。