Moxa NPort W2150A 是一款专为工业应用而设计的以太网转串行服务器。它充当以太网和串行通信之间的桥梁,允许传统串行设备连接到现代以太网。串口服务器的使用寿命长达 20 年,通常在过时的固件和软件上运行,使其容易受到网络安全漏洞的攻击。此外,不断变化的威胁形势加剧了风险,因为这些系统的设计没有像现代 IT 系统那样强大的网络安全性。
目标:利用操作系统命令注入漏洞在 Moxa NPort W2150A 通信服务器上建立后门拿到shell获取访问权限。
首先对设备网络进行侦察,以收集有关其上运行的设备和服务的信息。使用 Nmap 等工具,扫描开放端口并识别在 Moxa NPort W2150A 设备的活动端口。
识别在 Moxa NPort W2150A 设备的端口 80 上运行的活动 Web 服务器。利用浏览器访问Moxa NPort的web页面:
Web页面有2级账户,admin账户具备读写能力,user账户仅仅支持查看能力。尝试采用Moxa设备默认用户名和密码尝试登陆admin账户和user账户,发现都已经被用户修改无法登陆。
尝试拆开Moxa NPort设备利用CH341接入Moxa Nport的PCB板子的uart接口
当设备重新上电后,直接收到root shell权限,这里uart接口并没有设置用户访问权限。通过搜索文件系统,找到一个明文用户名和密码文件,例如用syslog来作为用户和密码。
现在可以登录 Web 界面,访问管理功能。利用未限制的输入字段,进入网络界面后,我们导航到系统管理下的维护部分。在这里,找到了 ping 测试功能。
尝试利用 ping 测试功能将恶意命令注入到输入字段中。通常,此输入字段旨在接受用于 ping 测试的 IP 地址。然而,由于输入验证不足,可以通过在命令后附加分号(;)来注入任意命令。
系统将输入解析为单个命令,在本例中期望它是 ping 命令。但是当系统遇到分号(;)时,它会将其解释为分隔命令的分隔符。系统执行分号之前的第一个命令,这可能是合法命令,例如“ping”。它执行与该命令相关的操作。这种情况下,如果没有解析到IP地址,则完全跳过这一步,执行后续命令。在此示例中,“whoami”是后续命令。
成功执行注入的命令后,我们使用“whoami”命令验证我们提升的权限。该命令表明我们已经获得了对底层操作系统的根级访问权限,从而使我们能够对设备进行不受限制的控制。
操纵防火墙规则并建立后门
通过 root 访问权限,我们可以使用“iptables”命令来操纵防火墙规则。通过发出命令删除所有现有规则(双破折号刷新),我们有效地禁用了任何现有的网络过滤机制,从而使系统受到进一步的利用。
为了保持对受感染设备的持久访问,我们使用 netcat (nc) 建立后门。我们使用“-e”选项在选定的端口(例如端口 4444)上启动绑定 shell,这允许我们通过 shell 执行命令。
后门建立后,直接在kaili使用 netcat 从单独的终端远程访问受感染设备的 shell。能够完全控制设备,能够执行命令、在网络中跳转,并可能危及其他系统。
缓解策略
固件升级:针对发现的漏洞,必须将设备的固件升级到最新版本。修补已知漏洞并实施安全增强功能可以降低恶意行为者利用的风险。
网络分段:实施网络分段可以通过将关键系统与潜在受感染的网段隔离来限制受感染设备的影响。通过限制网络内的横向移动,组织可以遏制并减轻违规的影响。
定期安全评估:定期进行安全审计和漏洞评估可以帮助识别和解决工业通信系统中的潜在弱点。渗透测试和代码审查等主动措施可以在漏洞被恶意行为者利用之前发现它们。