Fortra GoAnywhere MFT 7.4.1 认证绕过漏洞利用详解

本文详细分析了Fortra GoAnywhere MFT 7.4.1版本中的认证绕过漏洞CVE-2024-0204,该漏洞允许未经认证的攻击者通过路径遍历技术访问初始账户设置向导并创建管理员账户。文章包含完整的Python利用代码和技术实现细节。

Fortra GoAnywhere MFT 7.4.1 认证绕过漏洞

漏洞概述

Fortra GoAnywhere MFT 7.4.1版本之前存在一个严重的认证绕过漏洞(CVE-2024-0204),允许未经认证的攻击者通过路径遍历漏洞访问初始账户设置向导来创建管理员账户。

技术细节

漏洞利用路径

该漏洞利用脚本提供了两种不同的路径遍历技术:

  1. 主要利用路径/goanywhere/images/..;/wizard/InitialAccountSetup.xhtml
  2. 备用利用路径/goanywhere/..;/wizard/InitialAccountSetup.xhtml

利用代码特性

  • 多线程扫描:支持并发扫描多个目标,最大线程数可配置
  • 双重检测机制:首先尝试主要利用路径,失败后自动尝试备用路径
  • 表单自动提交:自动提取ViewState令牌并提交管理员账户创建表单
  • 详细结果报告:分类记录易受攻击目标、非易受攻击目标和错误目标

技术实现

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import argparse
import concurrent.futures
import requests
from bs4 import BeautifulSoup
from colorama import Fore, Style, init

# 常量定义
DEFAULT_TIMEOUT = 10
MAX_THREADS = 10
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
PRIMARY_EXPLOIT_PATH = "/goanywhere/images/..;/wizard/InitialAccountSetup.xhtml"
SECONDARY_EXPLOIT_PATH = "/goanywhere/..;/wizard/InitialAccountSetup.xhtml"

漏洞检测逻辑

  1. 向目标发送利用路径请求
  2. 分析HTTP响应状态码:
    • 401状态码:目标不易受攻击
    • 200状态码:目标可能易受攻击
  3. 提取ViewState令牌用于表单提交
  4. 构造管理员账户创建请求

账户创建流程

攻击脚本会向目标发送包含以下数据的POST请求:

  • 管理员用户名
  • 密码(经过编码处理)
  • 密码确认
  • ViewState令牌
  • 表单提交标识

支持的功能

  • 单目标检测
  • 批量目标扫描(从文件读取)
  • 可配置的连接超时时间
  • 彩色控制台输出
  • 详细的扫描结果汇总

受影响版本

Fortra GoAnywhere MFT 7.4.1之前的所有版本

参考链接

  • Rapid7安全公告
  • Tenable漏洞分析
  • NVD漏洞数据库记录

该漏洞利用工具为安全研究人员提供了检测和验证系统是否存在此关键认证绕过漏洞的能力。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计