这是学习 http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor 动手实践时做的一些记录。
下载 ftp://ftp.dlink.eu/Products/dir/dir-100/driver_software/DIR-100_fw_reva_113_ALL_en_20110915.zip
1 | % binwalk -e DIR100_v5.0.0EUb3_patch02.bix |
得到squashfs
文件系统9DB90.squashfs
。留着这个文件不动,还要准备另一个工具。
git clone https://code.google.com/p/firmware-mod-kit/
后修改下面这个文件:
1 | diff --git i/src/lzma/C/7zip/Compress/LZMA_Lib/ZLib.cpp w/src/lzma/C/7zip/Compress/LZMA_Lib/ZLib.cpp |
编译squashfs-2.1-r2
:
1 | make -C src/squashfs-2.1-r2 |
可以使用firmware-mod-kit
里的unsquashfs_all.sh
脚本解压缩得到rootfs:
1 | % unsquashfs_all.sh _DIR100_v5.0.0EUb3_patch02.bix.extracted/9DB90.squashfs rootfs |
可以执行strings rootfs/bin/webs
看到作为后门的User-Agent。