【技术原创】F5 BIG-IP漏洞调试环境搭建

来源:岁月联盟 编辑:猪蛋儿 时间:2022-07-05

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

如下图

0e25481e601806d5a6a351e6e9de61b.png

定位进程pid 6324,jar包路径/usr/share/java/rest

查看pid 6324的进程信息:

image.png

如下图

522c09c544118cd8c3a780d50d2bbd2.png

定位文件/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

如下图

85dc2a39450cb5d3b70c0f97d911528.png

3.开启防火墙

在Web管理面板,依次选择System -> Platform -> Security

添加规则,如下图

3e86a25cf33071fd5c00afa2cea75ea.png

远程调试成功,如下图

a7cca7943be08e383a782521f06a5c0.png

使用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'

结果如下图

63e0d996830ebe51a932a38deb288c0.png

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漏洞调试环境后,接下来就可以着手对漏洞进行学习。

如若转载,请注明原文地址