DLink_RCE_CVE-2019-17621浅析

      最后更新:2022-04-23 23:15:56 手机定位技术交流文章

      文章目录

      • 1. 漏洞信息
      • 2. 固件分析
        • 固体是使用Cirpadyne开采的。
        • 信息收集
        • UPnP协议
      • 3. 漏洞分析
      • 4. 调试
      • 5. Exp
      • 6. 参考资料

      1. 漏洞信息

      CVE - CVE-2019-17621 (mitre.org)

      漏洞服务:UPnP

      相关 URL 是 / gena. Cgi 。

      为获得 root 特权 RCE,HTTP 附属机构向UPnP 服务发送结构化的请求。

      固件下载链接

      2. 固件分析

      固体是使用Cirpadyne开采的。

      到目前为止,我们已经可以进入路由器页面, 虚拟机器已经进入罐壳, 但它一直正常运行。device ioctl:: Operation not supported。。。

      使用qemu用户来帮助你。

      不复杂的文件系统分析 :

      浏览并集中关注服务器目录 htdocs 中的 cgibin 执行文件 :

      运行一下:

      发生错误是因为未指定 URL 参数 :

      qemu-0就足够:

      信息收集

      根据所提供的资料,我们将必须搜索49152。/etc/services/HTTP/httpsvcs.php本端口被认为与上端协议有关:

      与 qemu 检查下端的端口, 你会看到 httpd 在端口监听 :

      UPnP协议

      Universal Plug and Play

      此材料可见于此: UPNP 议定书使用量- 基本书籍( jianhu) 。 此项目是埃及2011年抗议活动特别报导的一部分。

      3. 漏洞分析

      问题在于 genacgi_main 函数, 当处理 http 订阅请求时, 使用以下逻辑 :

      看下/htdocs/upnp/run.NOTIFY.php逻辑:

      问题在于 GENA_ sublicord_ new 函数, 记录在文件 gena. php 中:

      cgibin 变量 shell_ 文件SHELL_FILE=%s/%s_%d.sh %(service, PID),在服务是 URL 中受控参数的 URL 中。在线条结束时, PHP 附加了一个rm 命令,以毁灭它本身。

      如果您使用带有 $shell_ file 的反向软件包作为系统命令(例如,在后台启动 IMLnetd), 然后在脚本中执行rm当订单因反向而失效时,则执行引号中的系统指令,而RCE可自由离开。

      4. 调试

      要进入错误函数, 根据主参数字符串比较, 必须设置各种环境变量( 不随机设置, 在 Springf 之前必须检查), 并访问 htdocs/gena. Cgi :

      Snprintf 目标断点, 成功断点 :

      请添加图片描述

      然而,由于非系统一级的模拟,它最终未能连接起来。

      5. Exp

      完成此任务后, 目标的 Telnet 将连接到由 wwrite 创建的文件 :

      6. 参考资料

      CVE-2019-17621: DLink RCE差距研究 -- -- FreeBuf在线安全行业门户

      RCE渗漏(CVE-2019-17621)

      D-Link DIR-859 RCE差距(CVE-2019-17621)_NoSEC2019 博客 - CSDN 博客_sprentf

      使用UPNP协议――简便书(jianhu),

      printf(3) - Linux manual page (man7.org)

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/22762.html

          热门文章

          文章分类