官网热线:400-100-0298
【IOT安全研究】D-Link RCE漏洞分析-为国家安全锻矛铸盾

首页

产品体系

解决方案

案例精选

新闻动态

关于我们

联系我们

安全服务

资源中心

返回上一层

网络靶场

工控盾

创新产品

上海臻相

返回上一层

特种

能源

政府及事业单位

教育

智能制造

其他

安全服务

新闻动态

新闻动态

所有内容 公司新闻 行业动态 招标模板 战略动态

【IOT安全研究】D-Link RCE漏洞分析

时间:2022-01-14   访问量:7618
上一篇文章(https://www.freebuf.com/articles/ics-articles/221625.html)分析了一下ARM系统的路由器漏洞,本次打算尝试一下MIPS系统,于是选了最近DLink路由器的漏洞CVE-2019-17621作为目标。同样一路走来各种踩坑不断,“纸上得来终觉浅,绝知此事要躬行”,对整个过程做一下梳理。

1、环境搭建

运行环境安装配置之前须了解你所使用的Linux系统的版本以及Qemu的版本,因为这直接影响着你后续选择安装各种依赖包、mips qemu镜像等的版本,各种版本都对应上,最终系统才能正确运行。本次漏洞分析的基础环境为前期的Ubuntu18.04虚拟机和基于qemu-4.0.0源码编译安装的Qemu运行环境:

从站点https://people.debian.org/~aurel32/qemu/mips/下载debianmips qemu镜像,由于虚拟机是Ubuntu linux,下载debian_squeeze_mips_standard.qcow2和vmlinux-2.6.32-5-4kc-malta即可:

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

修改QEMU的网络接口启动脚本,重启网络使配置生效,执行以下命令:

sudo gedit /etc/qemu-ifup

在脚本文件/etc/qemu-ifup结尾增加如下内容:

保存文件/etc/qemu-ifup 以后,赋予可执行权限,然后重启网络使所有的配置生效:

sudo chmod a+x /etc/qemu-ifup

sudo /etc/init.d/networking restart

QEMU启动配置

Qemu运行之前先启动桥接网络,在本地ubuntu命令行终端执行以下命令(注意:ens33为ubuntu默认网卡):

sudo ifdown ens33

sudo ifup br0

QEMU MIPS虚拟机启动

进入前面下载的mips镜像目录,执行以下命令:

sudo qemu-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



输入root/root便可登入qemu mips虚拟机,为了更便操作mips虚拟机,可在unbuntu中新开启一个终端,ssh连接到qemu mips:


固件模拟运行

从DLink官网下载包含漏洞版本的路由器固件:ftp://ftp2.dlink.com/PRODUCTS/DIR-859/DIR-859_REVA_FIRMWARE_v1.05B03.zip,使用binwalk -Me直接解压固件可得到文件系统文件:

固件模拟运行由两种方式可以考虑:① 将文件系统上传到qemu mips虚拟机中运行;② 借助firmadyne工具运行固件(当然也可以尝试使用AttifyOS VM):

① 使用scp命令将squashfs-root目录上传到qemu mips虚拟机:

chroot /root/squashfs-root sh

② 借助firmadyne工具运行固件

Firmadyne是一款自动化和可裁剪的嵌入式Linux系统固件分析框架,它支持系统固件逆向QEMU嵌入式系统模拟执行,使用其可模拟路由器固件、执行路由器。安装和使用方法详见https://github.com/firmadyne/firmadyne。注意:Firmadyne安装之前,先安装firmware-analysis-toolkit,安装方法详见https://github.com/attify/firmware-analysis-toolkit,安装完成之后在firmware-analysis-toolkit目录中创建firmadyne目录并下载安装Firmadyne。各自全部安装完成后如下所示(注意两个工具须完全按照步骤安装完成,否则后续固件运行会出错):

首先将firmware-analysis-toolkit目录下的fat.py和reset.py文件移动到firmadyne目录;接着进入firmadyne修改firmadyne.config设置路径如下:

将固件bin文件拷贝至firmadyne目录,继续执行以下命令:

rm -rf images*

python3 reset.py

sudo -u postgres createdb -O firmadyne firmware

sudo -u postgres psql -d firmware < ./database/schema

./sources/extractor/extractor.py -b Dlink -sql 127.0.0.1 -np-nk "DIR859Ax_FW105b03.bin" images

./scripts/getArch.sh ./images/1.tar.gz

./scripts/makeImage.sh 1

./scripts/inferNetwork.sh 1

备案号码:苏ICP备12069441号
网络靶场

博智安全教学实训靶场

博智安全比武竞赛靶场

博智安全红蓝对抗靶场

博智安全试验鉴定靶场

博智安全应急处置靶场

博智安全威胁诱捕系统

博智安全自动化渗透攻击系统

工控盾

博智工控防火墙

博智工控主机卫士

博智工控安全审计系统

博智工业网络蜜罐系统

博智工控安全隔离网闸

博智工控入侵检测系统

博智工控漏洞扫描系统

博智工控漏洞挖掘平台

博智工业资产测绘与脆弱性评估系统

博智安全配置核查系统

博智工控信息安全风险评估系统

博智工业安全管理平台

博智工控安全等级保护检查工具箱

博智工业互联网安全应急处置工具箱

博智安全态势感知平台

创新产品

博智微信保密检查系统

博智主机监控与审计系统

博智计算机终端保密检查系统

博智身份鉴别系统

博智恶意代码辅助检测系统

博智专用运维管理系统

博智存储介质信息消除系统

博智舆情阵地管控系统

博智开源情报分析系统

博智作战仿真综合演练系统

博智宽带频谱侦察监视系统

上海臻相

臻相电子数据分析研判平台

臻相电勘宝电子数据智能勘查系统

臻相电子证据固定工具

臻相多通道硬盘复制系统

电子数据取证工作站

臻相电子书一体化取证桌

臻相临机密码破解系统

网络靶场
工业互联网安全
售后咨询

联系我们

公众号
TOP