F5 BIG-IP漏洞调试环境搭建
0x00 前言
本文记录从零开始搭建F5 BIG-IP漏洞调试环境的细节。
0x01 简介
本文将要介绍以下内容:
- F5 BIG-IP安装
- F5 BIG-IP漏洞调试环境配置
- 常用知识
0x02 F5 BIG-IP安装
1.下载OVA文件
下载页面:https://downloads.f5.com/esd/productlines.jsp
下载前需要先注册用户并申请激活码,申请地址:http://www.f5.com/trial
2.安装
(1)在VMware Workstation中导入OVA文件
(2)设置用户名口令
导入虚拟机后,需要输入默认用户名(root)和默认口令(deault),接着需要重设root用户和admin用户的口令
(3)配置
输入ifconfig
获得IP,访问https://<ip>
,使用admin用户的凭据进行登录
在配置页面填入激活码
在配置页面可以配置开启ssh允许通过ssh登录
0x03 F5 BIG-IP漏洞调试环境配置
配置文件的定位参考《CVE-2022-1388 F5 BIG-IP iControl REST 处理进程分析与认证绕过漏洞复现》
1.定位java进程
查看进程:
ps aux |grep java
如下图
定位进程pid 6324
,jar包路径/usr/share/java/rest
查看pid 6324的进程信息:
cd /proc/6324/cwd
ll
如下图
定位文件/etc/bigstart/scripts/restjavad
修改JVM_OPTIONS
,添加调试参数-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
2.定位服务
查看所有服务的状态:
systemctl status
找到pid 6324
对应的服务名称runit.service
添加调试参数后需要重启服务:
service runit.service restart
查看参数是否修改:
ps aux |grep 8000
如下图
3.开启防火墙
在Web管理面板,依次选择System
-> Platform
-> Security
添加规则,如下图
远程调试成功,如下图
使用tmsh查看防火墙规则,参考 https://clouddocs.f5.com/cli/tmsh-reference/v15/modules/security/security_firewall_management-ip-rules.html
命令如下:
tmsh -c 'list /security firewall management-ip-rules'
结果如下图
4.常用jar包位置
- /usr/local/www/tmui/WEB-INF/lib/
- /usr/share/java/rest
0x04 常用知识
1.tmsh用法
参考资料:
https://clouddocs.f5.com/api/tmsh/
https://clouddocs.f5.com/cli/tmsh-reference/latest/
(1)查看版本
tmsh show /sys version
(2)查看所有配置
分步操作:
tmsh
list all-properties
y
一键操作:
echo y | tmsh -c 'list all-properties'
(3)查看用户信息
分步操作:
tmsh
list auth
一键操作:
tmsh -c 'list auth'
(4)创建管理员用户(web和ssh登录)
参考:https://clouddocs.f5.com/cli/tmsh-reference/v15/modules/auth/auth_user.html
分步操作:
tmsh
create auth user user123 password aaaaaaa1234 description "Admin User" shell bash partition-access add { all-partitions { role admin } }
需要注意口令不能存在特殊字符
一键操作:
tmsh -c 'create auth user user123 password aaaaaaa1234 description "Admin User" shell bash partition-access add { all-partitions { role admin } }'
(5)删除用户
分步操作:
tmsh
delete auth user test1
一键操作:
tmsh -c 'delete auth user test1'
2.使用REST API执行命令
需要管理员用户名口令
访问https://<url>/mgmt/tm/util/bash
能够执行bash命令,获得返回结果
代码已上传至github,地址如下:
https://github.com/3gstudent/Homework-of-Python/blob/master/BIG-IP_RunBash.py
3.日志相关
(1)搜索带有指定关键词的日志
grep -iR aaaaaaaa /var/log/
(2)web管理后台同日志文件的对应关系
审计日志,位置System
->Logs
-> audit
,对应文件/var/log/audit
用户登录历史记录,位置Logins
-> History
,对应文件/var/log/secure
(3)其他日志位置
- /var/log/restjavad-audit.0.log
- /var/log/auditd/audit.log
- /var/log/btmp
- /var/log/wtmp
- /var/log/lastlog
(4)查看web访问日志
journalctl /usr/bin/logger
清除所有:
rm -rf /var/log/journal/*
systemctl restart systemd-journald
0x05 小结
在我们搭建好F5 BIG-IP漏洞调试环境后,接下来就可以着手对漏洞进行学习。