這是學習 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。