Ghidra分析路由器固件入门:从bin提取到伪代码阅读
家里淘汰的旧路由器闲着,拿来练手固件分析。过程比想象中顺畅,记录一下关键步骤,给想入门的朋友省点时间。第一步是拿固件,直接去官网下载升级包,binwalk -Me解开,squashfs文件系统里能翻到/etc/shadow,密码哈希对应的还是默认的admin组合,这路由器当年卖得不少,想想有点后怕。第二步是找主程序,/bin下那个几MB的httpd就是核心,file确认是MIPS 32位大端。
Ghidra导入的时候选MIPS:BE:32:default,等自动分析跑完,先从字符串窗口找web登录相关的引用,顺着就能摸到认证函数。伪代码读起来别扭的是MIPS的gp寄存器寻址,配合交叉引用慢慢啃。一晚上找到了两个没鉴权的接口,虽然是停产型号,还是提醒一句,家里有同款的老设备赶紧换掉。
https://www.metk.cn/img/posts/ghidra_firmware_01.jpg
页:
[1]