网管小张审计日志时发现疑似黑客使用Bash漏洞对公司的路由器进行了攻击,小张通过技术手段获取到了路由器固件dump文件,但是小张不懂逆向分析,请帮助小张分析出后门程序所使用的远程服务器和端口.(flag文件在/home/ctf/flag.txt文件中,Flag形式为 md5(网址:端口)},注意网址不包含http比如:md5(www.baidu.com:80)=5411a465b86d593986b8b9f9b1c1788c)
给了一个bin文件,拖到了ida和dnspy都不行
查了一下,不是单纯逆向
1.先file 命令查看文件
2.直接分离
sudo binwalk --run-as=root -e fireware.bin
3.
squashfs
是以linux 内核源码补丁的形式发布,附带mksquashfs工具,用于创建squash文件系统。squashfs可以将整个文件系统或者某个单一的目录压缩在一起, 存放在某个设备, 某个分区或者普通的文件中. 如果你将其压缩到一个设备中, 那么你可以将其直接mount起来使用; 而如果它仅仅是个文件,你可以将其当为一个loopback 设备使用. squashfs文件系统的设计令人欣喜. For archiving purposes, 它可以让你更加灵活的使用, 而且它比.tar.gz文档有更快的响应速度。
以下是squash文件系统的特点:
-
数据(data),节点(inode)和目录(directories)都被压缩。
-
保存了全部的32位UID/GIDS和文件的创建时间. (注: cramfs是8位,没有创建时间)。
-
支持多达4G的文件系统. (cramfs是16M)。
-
节点和目录都是高度压缩, 而且都是存储在字节边界(packed on byte boundaries); 所有压缩的节点长度平均在8个字节左右.(具体的长度根据文件的类型是不同的. 比如, 普通文件,目录,符号链接,块设备和字符设备的节点的大小就不一样)。
-
squashfs
可以允许块大小(block size)达32Kb(1.x)和64kb(2.x), 这样可以达到比4K块大小更大的压缩率。 -
squashfs 2
引进了碎片块(fragment blocks)的概念: 一种将许多比块size 小的文件存储在一个块中, 以达到更大的压缩率。 -
重复的文件会被检测并删除掉。
-
同时支持big和little endian架构. SQ可以将文件系统MOUNT到不同的字节顺序(byte-order)的机器上面。
https://www.cnblogs.com/linhaostudy/p/6891041.html
需要firmware-mod-kit工具来进行解压
然后找到unsquashfs_all.sh
文件准备解压脚本:
find / -name unsquashfs_all.sh
/opt/firmware-mod-kit/trunk/unsquashfs_all.sh
找到文件并执行
/opt/firmware-mod-kit/trunk/unsquashfs_all.sh /root/Desktop/_fireware.bin.extracted/120200.squashfs
烦,工具一直报错,先不搞了。