D-Link路由器漏洞研究分享

0x0 前言
D-Link DIR-816 A2是中国台湾友讯(D-Link)公司的一款无线路由器。攻击者可借助‘datetime’参数中的shell元字符利用该漏洞在系统上执行任意命令。

0x1 准备
固件版本 1.10B05:http://support.dlink.com.cn:9000/ProductInfo.aspx?m=DIR-816

漏洞存在的程序:goahead

0x2 工具
静态分析工具:IDA

系统文件获取:binwalk

动态调试工具:qemu、IDA

0x3 测试环境
本人使用Ubuntu 16.04虚拟机测试环境,qemu模拟器模拟D-Link DIR-816 A2固件运行真实情景。

0x4 goahead程序调试
使用binwalk进行固件解包(binwalk -Me DIR-816A2_v1.10CNB03_D77137.img)

通过binwalk可以解包出如下图的文件,squashfs-root就是我们需要的文件系统。

一般可以通过find -name "index" 可以搜索出web的根目录在哪个具体目录下。

通过file ../../bin/goahead 命令(由于本人已经进入到根目录下面,所以是../../bin/goahead),可以看出该系统是MIPS架构,则qemu模拟器需要使用MIPS方式的模拟器。

sudo qemu-mipsel -L ../../ -g 1234 ../../bin/goahead

-g 使用qemu并将程序挂载在1234端口,等待调试。

-L 是根目录的所在的位置。

可以使用IDA远程调试连接1234端口,进行调试,获取使用gdb也可以调试。

如下图操作,IDA即可开启远程调试。

经过测试,我们需要在0x45C728处下一个断点,因为此处的 bnez 会使程序退出,所以需要将V0寄存器的值修改为1。

同理需要在0x45cdbc地址下断点,并将V0寄存器修改为0。

两处地址都通过后,在网址中输入http://192.168.184.133/dir_login.asp,即可访问到登录页面。

想进入路由器web操作页面,就必须先登录,在web服务器程序中用户名为空,而web页面有JS校验,必须需要输入用户名才能进行登录校验,那么可以修改登录校验的寄存器,让其成功运行登录。

在0x4570fc地址处下断点,修改V0寄存器的值为0。因为此处的V0是用户名的值,在登录页面中,我们是随意输入,所以肯定是不会正确的,那么就只有修改为0后才能跳转到正确的登录流程。

登录成功后,会出现页面错误。

再在网址中输入http://192.168.184.133/d_wizard_step1_start.asp,即可进入到登录成功后的页面。看到如下图,即可证明已经登录成功。

登录认证后,点击维护,再点击时间与日期,最后点击应用,此处便是漏洞触发点。

最终可以通过构造datetime的值,执行任意命令。

0x5 总结
这个固件可以锻炼qemu模拟器的使用以及IDA简单调试能力,在没有真实路由器的情况下qemu是非常好用的一款模拟工具,模拟很多款路由器。该程序还存在多个命令执行漏洞,非常适合练手。命令执行漏洞相对来说比较简单,但是杀伤力巨大,很适合新手入门。


本文来源于: https://xz.aliyun.com/t/9394

相关推荐

四大主流WebShell管理工具分析 | 防守方攻略

前言 在网络安全实战攻防演练中,只有了解攻击方的攻击思路和运用武器,防守方才能有效应对。以WebShell 为例,由于企业对外提供服务的应用通常以Web形式呈现,因此Web站点经常成为攻击者的攻击目标。攻击者找到Web站点可利用的漏洞后,通

最简单的加载器免杀思路

最简单的加载器免杀思路 将加载器的变量每次生成都要随机也就是变量混淆, 同时在每行之间插入无效指令:比如随机打印,循环打印,随机数计算加减乘除 这个思路的主要作用是加载器伪装。不管shellcode如果变化加密解密,最后都要回到这个模板里面

2021腾讯游戏安全技术初赛PC客户端解题报告

PC客户端初赛赛题解题报告 概述 本题是一个windows 32位opengl游戏程序,打开发现是一个3d游戏,视角移动受限,未提供坐标移动功能,无法看到屏幕中央箭头指向的区域。 使用ida搜索字符串可以发现使用的glfw版本为3.3,并且

记一次靠猜的.net代码审计拿下目标

0x00写在前面 在一次授权的实战测试中,需要拿到某OA的权限,经过top500的姓名+top100的密码,爆破出来几个账户,有了账户,进入oa内部,通过上传很轻松的就拿到了shell,但是客户不满足于此,要求找到未授权的RCE.有了she

网络空间搜索引擎的区别

网络空间搜索引擎的区别 ### fofa fofa是白帽汇推出的网络空间测绘引擎。白帽汇是一家专注于网络空间测绘与前沿技术研究的互联网安全公司,主要从事网络安全产品开发与服务支撑等相关工作,为国家监管部门及政企用户提供综合性整体解决方案,有

主流WebShell工具流量层分析

很多人都说冰蝎好用,流量加密的,可是流量加密在哪里,很多人可能还是懵懵懂懂的,于是就分析记录了一下,大佬勿喷。 AntSword流量分析 蚁剑有一个非常好用的扩展功能为编码器和解码器,利用此功能可以自定义加密,这里分析的是默认的加密方式,在

CVE-2019-12422 Apache Shiro RememberMe Padding Oracle

前置知识 CBC模式 首先我们可以看一下CBC模式的流程图 初始化向量IV和第一组明文XOR后得到的结果作为新的IV和下一组明文XOR,按这样循环下去就得到结果。解密是加密的逆过程,也就是密文被Key解密为中间值,然后中间值与IV进行XOR

Nginx_lua 100参数绕过原理详解

一、环境搭建 Nginx_lua 安装 https://github.com/openresty/lua-nginx-module#installation wget 'https://openresty.org/download/ngin

CC链 1-7 分析

一、简介 Apache Commons 是对 JDK 的拓展,包含了很多开源的工具,用于解决平时编程经常会遇到的问题。Apache Commons 当中有一个组件叫做 Apache Commons Collections,封装了 Java

记一次 getshell 过程

前言 兜兜转转最终拿到了 shell ,但是发现大佬已经在前一个小时 getshell 了,记录一下我是怎么发现的过程。 未授权测试是违法的,仅供学习交流。 过程 打开网站查看源代码,发现成功登录后会跳转到 f0.html 文件 没登录直接

GitHub SSTI靶场 wp

本人小白,师傅们勿喷 payload主要有两种形式: 一种是获取os来执行命令 {{''.__class__.__mro__[-1].__subclasses__()[117].__init__.__globals__['popen']('