FreeBuf:DLink RCE漏洞CVE-2019-17621分析


上一篇文章分了一下ARM系统的路由器漏洞 , 本次打算尝试一下MIPS系统 , 于是选了最近DLink路由器的漏洞CVE-2019-17621作为目标 。 同样一路走来各种踩坑不断 , “纸上得来终觉浅 , 绝知此事要躬行” , 对整个过程做一下梳理 。
1、环境搭建运行环境安装配置之前须了解你所使用的Linux系统的版本以及Qemu的版本 , 因为这直接影响着你后续选择安装各种依赖包、mips qemu镜像等的版本 , 各种版本都对应上 , 最终系统才能正确运行 。 本次漏洞分析的基础环境为前期的Ubuntu18.04虚拟机和基于qemu-4.0.0源码编译安装的Qemu运行环境:
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
从站点https://people.debian.org/~aurel32/qemu/mips/下载debianmips qemu镜像 , 由于虚拟机是Ubuntu linux , 下载debian_squeeze_mips_standard.qcow2和vmlinux-2.6.32-5-4kc-malta即可:
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
MIPS系统网络配置使用QEMU 模拟运行MIPS系统 , 需要将ubuntu虚拟机设置成桥接 , 这样以来ubuntu系统就可以和QEMU虚拟机进行通信和数据传输(此操作类似配置VMware Workstation的桥接用以与物理机的通信) 。
获取安装依赖 , 执行以下命令:
sudo apt-get install bridge-utils uml-utilities修改ubuntu主机网络配置 , 将ubuntu的网络接口配置文件 /etc/network/interfaces 修改为如下内容并保存、关闭:
sudo gedit /etc/network/interfaces
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
修改QEMU的网络接口启动脚本 , 重启网络使配置生效 , 执行以下命令:
sudo gedit /etc/qemu-ifup在脚本文件/etc/qemu-ifup结尾增加如下内容:
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
保存文件/etc/qemu-ifup 以后 , 赋予可执行权限 , 然后重启网络使所有的配置生效:
sudo chmod a+x /etc/qemu-ifup
sudo /etc/init.d/networking restart
QEMU启动配置Qemu运行之前先启动桥接网络 , 在本地ubuntu命令行终端执行以下命令(注意:ens33为ubuntu默认网卡):
sudo ifdown ens33
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
sudo ifup br0
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
QEMU MIPS虚拟机启动进入前面下载的mips镜像目录 , 执行以下命令:
sudoqemu-system-mips -M malta -kernelvmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append"root=/dev/sda1 console=tty0"-net nic,macaddr=00:16:3e:00:00:01-nettap
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
输入root/root便可登入qemu mips虚拟机 , 为了更便操作mips虚拟机 , 可在unbuntu中新开启一个终端 , ssh连接到qemu mips:
FreeBuf:DLink RCE漏洞CVE-2019-17621分析
本文插图
固件模拟运行从DLink官网下载包含漏洞版本的路由器固件:ftp://ftp2.dlink.com/PRODUCTS/DIR-859/DIR-859_REVA_FIRMWARE_v1.05B03.zip , 使用binwalk-Me直接解压固件可得到文件系统文件:
FreeBuf:DLink RCE漏洞CVE-2019-17621分析


推荐阅读