如何进行GoAead RCE预警分析
如何进行GoAead RCE预警分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
0x00 背景介绍
12月12日,MITRE披露一枚GoAhead的漏洞,编号为CVE-2017-17562,受影响的GoAhead,如果启用CGI动态链接,会有远程代码执行的危险。GoAhead广泛应用于嵌入式设备中。360CERT经过评估,确认该漏洞属于高危,建议用户尽快进行修复。
0x01 技术细节
定位到漏洞位置:cgi.c:cgiHandler(),其中envp分配一个数组,并由HTTP请求参数中的键值对进行填充,这个过程中只是对REMOTE_HOST和HTTP_AUTHORIZATION进行过滤,导致攻击者可以利用其他cgi进程的任意环境变量。
envp填充完成后,会通过launchCgi进行调用,进行启动cgi进程。
0x02 漏洞验证
上面也提到了,因为过滤不完善,恶意的envp被传入launchCgi进行执行,这时我们需要知道cgiPath(我们的payload路径)。这个问题不大,Linux procfs文件系统,可以使用LD_PRELOAD=/proc/self/fd/0进行引用stdin,他将指向我们写入的临时文件。在HTTP请求时加入?LD_PRELOAD=/proc/self/fd/0便可。
0x03 影响范围
根据360CERT的QUAKE全网资产检索系统评估,全网有数百万设备运行着GoAhead服务,考虑到嵌入式设备更新的滞后性,受该漏洞影响的设备较广。
0x04 修补建议
360CERT建议使用GoAhead产品的用户,检查当前应用版本,如果是易受攻击版本,请尽快更新相关补丁。
看完上述内容,你们掌握如何进行GoAead RCE预警分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!