bin固件解包工具_固件练习

本文介绍了如何使用firmware-mod-kit和sasquatch工具对TEW-654TR固件进行解包,揭示了路由器在启动时的敏感信息泄露问题,包括自动运行的脚本、启动服务和可能的默认配置文件。通过分析这些内容,可以了解路由器的安全状况,并探讨了现代路由器对TFTP服务的默认禁用以增强安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

b3ea7ff7cf3d8e74d4a8aafebc268b8d.png

TEW-654TR敏感信息泄露

firmware-mod-kit

先安装firmware-mod-kit,尝试用这个更强大的工具来进行解包和各种操作

sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic

git clone https://github.com/mirror/firmware-mod-kit.git

安装好以后:

f966ba6c20d393b368d06d57978572ad.png

但是error了:

65d4a11bd65e5257939544e47f16dfab.png

弄了一会儿没搞好,先放一个可能的解决方法,暂且搁置:

https://aur.archlinux.org/packages/firmware-mod-kit/

把源码下下来自己make,build前加入这行命令:

grep -rPl '(major|minor|makedev)\(' | xargs grep -l 'sys/types.h' | xargs -i sed -i '/#include/ a #include' {}

———————————————————————————————————————

再使用binwalk试一下:

4d8d892f5100da780fb149067ddfd0bd.png

缺了些什么。

安装sasquatch:

https://github.com/devttys0/sasquatch

sudo apt-get install zlib1g-dev liblzma-dev liblzo2-dev

sudo git clone https://github.com/devttys0/sasquatch

cd sasquatch

sudo ./build.sh

然后binwalk解包就正常了:

df5f7f87ade1b03a5f52fc81659ed607.png

目录结构已经暴露出来了,很明显是linux:

0f36529ab90bc511e86456d366a31c9a.png

跟着教程走,学习一下分析思维,打开etc\rc.d文件目录,里面有一个脚本:

#!/bin/ash

# This script runs when init it run during the boot process.

# Mounts everything in the fstab

mount -a

mount -o remount +w /

# Mount the RAM filesystem to /tmp

mount -t tmpfs tmpfs /tmp

# copy all files in the mnt folder to the etc folder

cp -a /mnt/* /etc

mkdir -p /var/etc

mkdir -p /var/firm

mkdir -p /var/log

mkdir -p /var/misc

mkdir -p /var/run

mkdir -p /var/sbin

mkdir -p /var/tmp

mkdir -p /tmp/var

cp -f /etc/udhcpd.conf /var/etc/

cp -f /etc/udhcpd.leases /var/misc/

#Add link for resolv.conf

ln -sf /var/etc/resolv.conf /etc/resolv.conf

# Load configure file from Flash

/bin/echo "Init System..."

system_manager &

# Start web server lighttpd

/bin/echo "Start Lighttpd..."

mkdir -p /var/log/lighttpd

/usr/bin/lighttpd -f /etc/lighttpd/lighttpd.conf

# Start tftpd

/bin/echo "Start Tftpd..."

tftpd &

#insert cc_dev module for reset packet counter

insmod /lib/modules/cc_dev.ko

值得注意的是这个路由器一开机就启动了tftp服务。

d2b89a9976edbc166cf2263056ab7911.png

9ab79f1251cd8d2952fdab31ed2857c6.png

找到一个名字叫tftpd的文件。

0d61e8df9b04170b6b36ba907c2a2d3e.png

盲猜是一个tftp server。

教程中使用tftp连上路由器测试了,但是我并没有真机,所以先pass。

把目光转向开机启动的system_manager程序:

c228a35f8ad755514ee997e7725b02f3.png

查找一下字符串:

e0534773f515f8b0226417839d780620.png

这里有几个db文件很可疑,很可能是用来存放默认配置的,对应着路由器的几种工作模式:

e889187d461361b7b7fa8f35f3a44af8.png

但是etc下边并没有找到db文件:

af7fc50509177e817b7f1ff7880417a1.png

猜测这些文件都是动态生成的,真机上应该会有,教程是在里边找到了密码。

整个过程是利用了tftp服务开机启动的特点,直接从路由器里边把db文件给拉下来了,拿到密码基本就可以为所欲为,但是现在的路由器基本都默认禁用tftp了。

感谢本文的贡献者:黄越、陈佳豪、齐振庆

03c4c64abc7422183fe4b5d9761ebaad.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值