Sekoia威胁检测与响应(TDR)团队发布了对PolarEdge后门的深度技术分析。该隐蔽植入程序通过利用思科路由器的远程代码执行漏洞(CVE-2023-20118)进行部署。此次发现延续了该机构早前对PolarEdge僵尸网络的披露——该僵尸网络最初于2025年1月被发现,现已从思科设备扩散至华硕、威联通(QNAP)和群晖(Synology)设备。
2025年2月10日,Sekoia的蜜罐系统检测到第二轮攻击浪潮,攻击者使用模仿macOS版Google Chrome的特殊User-Agent字符串发起同步攻击。攻击者执行名为"q"的shell脚本,进而下载并启动PolarEdge后门。
经分析确认:"q脚本会在受感染系统上下载并启动PolarEdge后门"。研究人员分析的样本是针对威联通NAS设备的ELF 64位可执行文件,体积达1.6MB,采用静态链接并剥离调试符号,显示出明显的反分析意图。
该后门作为定制TLS服务器运行,基于mbedTLS v2.8.0实现,可直接在受感染主机接收并执行命令。Sekoia指出:"后门主要功能是向C2服务器发送主机指纹信息,然后通过内置的mbedTLS TLS服务器监听指令"。
无参数执行时,后门默认启动服务器模式:"启动TLS服务器监听传入命令,并创建专用线程每日向C2发送主机指纹"。值得注意的是,恶意软件启动时还会进行文件系统操作:"后门会移动和删除设备上的特定文件...我们认为这是为了防止其他威胁行为者利用相同漏洞访问系统"。这些操作针对/usr/bin/wget和/sbin/curl等实用程序,通过重命名或删除来阻止其他恶意软件感染同一设备。
PolarEdge后门将配置数据存储在二进制文件末尾的512字节中,采用单字节XOR(0x11)混淆。配置包含三个关键部分——"过滤文件"、TLS参数和C2服务器列表。
Sekoia详细说明:"配置分为三部分,每部分由标记标识并以8个空字节分隔。内容通过单字节密钥0x11的简单XOR解密"。内嵌的TLS证书包含自签名的PolarSSL测试证书链,提供RSA和ECDSA两种加密选项。主证书主题和颁发者字段显示攻击者的自签名基础设施:"Subject: C=NL, O=PolarSSL, CN=localhost; Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA"。
与传统使用HTTP或MQTT的IoT恶意软件不同,该后门通过TLS上的定制二进制协议通信,通过一系列"魔术令牌"验证。Sekoia描述:"解析传入请求需要验证固定魔术令牌,并检查是否与后门配置中的存储值匹配。响应仅包含执行命令的原始输出,没有额外帧结构或认证"。这种认证缺失意味着"任何能读取已安装二进制文件的人都可以提取这些魔术值并发送任意命令"。
后门每24小时启动指纹收集例程,采集系统元数据发送至C2服务器。收集范围包括:"本地IP地址、MAC地址、当前进程ID、设备品牌(qnap)、模块版本(QNAP_2)以及过滤文件路径"。恶意软件构建包含这些标识符的HTTP GET查询:"ip=%s&version=%s&module=%s&cmd=putdata&data=BRAND=qnap,FILTER_FILE=%s,PID=%d,MODULE=%s,MAC=%s"。
若C2服务器返回有效载荷,则保存至/tmp/.qnax.sh并执行,使攻击者获得远程命令执行和持久化能力。
PolarEdge后门采用从简单XOR混淆到PRESENT分组密码的多层加密,用于运行时解密内部代码段。某些字符串采用仿射密码与Base64编码叠加,ELF节名则使用基于轮转的密码混淆。
为规避检测,恶意软件使用进程名随机化技术,伪装为igmpproxy、dhcpd或upnpd等系统守护进程。Sekoia指出:"它还试图通过挂载自身的/proc/目录来隐藏内部结构,将/proc/11或/proc/1绑定到其上"。
虽然后门在重启后不保持持久性,但会生成子监控进程:"每30秒检查/proc/<父进程pid>是否存在。若目录消失,子进程将执行shell命令重新启动后门"。
除默认服务器模式外,恶意软件支持回连和调试模式,为攻击者提供灵活的C2操作选择。回连模式下:"后门作为TLS客户端从远程服务器下载文件...构建并通过TLS发出HTTP GET请求,将响应体写入指定本地文件"。
调试模式下,操作员可通过Base64编码参数动态更新C2服务器:"使用选项-m d -d <加密的base64值>执行时,后门进入特殊模式仅更新其C2地址"。
参考来源:
Sekoia Exposes PolarEdge Backdoor: Custom mbedTLS C2 Compromising Cisco, QNAP, and Synology Devices