-
-
[原创]路由器固件调试方案
-
发表于:
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编辑
,原因: 添加图片