首页
社区
课程
招聘
[原创]路由器固件调试方案
发表于: 2020-3-17 10:35 12630

[原创]路由器固件调试方案

2020-3-17 10:35
12630

本文主要介绍在研究路由器固件安全时常用的两种调试方法,分别是IDA远程调试和gdb远程调试。这里需要注意,由于路由器基本都是mips架构,所以下文是以mips为例展开的,不过如果碰到了arm的,也是同理的。


使用qemu-system模式运行的脚本如下:



这里涉及的两个文件分别是内核文件和磁盘镜像文件


这里注意,我们这里涉及到的固件是大端格式的,如下所示:



所以是用*mips,而不是*mipsel


为了后面的调试,我们还需要准备好gdbserver,可以自己编译,不过我建议使用网上已经静态编译好的gdbserver。这里给出rapid7放出来的:

https://github.com/rapid7/embedded-tools



这次用到的是大端的,所以使用gdbserver.mipe即可


在运行该脚本之前,除了准备好这两个文件之外,还要执行下图的命令



将其复制到当前目录下


此时路径下的文件包括:



这样就可以启动了



启动成功后如图所示


输入root/root即可


查看ip



将之前提取出的文件系统通过scp上传到机器上



再将gdbserver上传



回到debian看到上传成功



然后将gdbserver复制到squashfs-root目录下



接下来挂载根文件系统



这样,文件系统在mips系统中就成功挂载并运行了


接下来通过gdbserver进行远程调试:



命令中的ip就是debian的ip,端口号自行设置,后面跟着的是要调试的程序


然后在win中打开ida,载入本地的cgibin,在main下断点




接着debugger->select a debugger


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-4-14 18:32 被Editor编辑 ,原因: 添加图片
上传的附件:
收藏
免费 2
支持
分享
最新回复 (7)
雪    币: 16468
活跃值: (2493)
能力值: ( LV9,RANK:147 )
在线值:
发帖
回帖
粉丝
2
图炸了
2020-3-17 11:10
2
雪    币: 268
活跃值: (3233)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
图不见
2020-3-17 11:30
1
雪    币: 5325
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
无图   无图。。。。。。。。。。。
2020-3-18 21:24
1
雪    币: 2292
活跃值: (1735)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
没有图!
2020-3-21 12:19
0
雪    币: 47147
活跃值: (20445)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
看了一下,图片的URL是:<img src="file:////Users/yale/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image002.png" width="415" height="40"></p>

建议楼主重新帖一下图。
2020-3-22 09:53
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
图没了
2020-4-12 11:14
0
雪    币: 2280
活跃值: (3823)
能力值: ( LV6,RANK:81 )
在线值:
发帖
回帖
粉丝
8
附件应有尽有
2020-4-13 23:56
0
游客
登录 | 注册 方可回帖
返回
//