CVE-2015-10145Gargoyle路由器管理工具1.5.x版本存在认证后OS命令执行漏洞。该漏洞位于/utility/run_commands.sh脚本中,应用程序未对通过'commands'参数输入的内容进行充分的限制或验证。攻击者在获取低权限认证后,可利用此漏洞在底层系统上执行任意shell命令。成功利用此漏洞可能导致设备完全沦陷,包括未授权访问系统文件、执行攻击者控制的命令等严重后果。由于该漏洞攻击复杂度低且无需用户交互,对暴露在网络中的Gargoyle路由器构成严重威胁。攻击者可通过构造恶意请求包,在已认证会话中注入系统命令,从而获取设备的最高控制权限。
漏洞根源在于run_commands.sh脚本对用户输入的'commands'参数缺乏有效的输入验证和过滤机制。攻击者可在认证后通过HTTP请求向该脚本传递精心构造的命令字符串,由于参数直接拼接到shell命令中执行,导致命令注入漏洞。攻击者可通过分号、管道符等shell元字符构造恶意载荷,例如在commands参数中注入';whoami'或'|cat /etc/passwd'等命令。漏洞的利用前提是攻击者需要具备有效的认证凭证,但认证要求较低(PR:L),获取认证的难度不大。成功利用后,攻击者可在路由器上建立持久化后门、窃取网络流量或进一步横向移动。由于Gargoyle基于OpenWrt构建,攻击者获取的shell权限等同于root权限,可完全控制整个路由器系统。