内容简介:在本系列文章中,我们将会使用工具进行IOT安全评估的基本步骤。本文是第一篇,你需要一个设备固件的二进制文件才能继续。这款工具能够检测文件类型。file通过检查属性和(对于普通文件)读取文件初始部分来来猜测每个文件参数的类型。file通过命令行将每个文件与系统维护的magic文件进行对比来确定文件类型。
在本系列文章中,我们将会使用 工具 进行IOT安全评估的基本步骤。本文是第一篇,你需要一个设备固件的二进制文件才能继续。
工具
file
这款工具能够检测文件类型。file通过检查属性和(对于普通文件)读取文件初始部分来来猜测每个文件参数的类型。file通过命令行将每个文件与系统维护的magic文件进行对比来确定文件类型。
详情请参考: https://linux.die.net/man/1/file
xdd
xdd可以执行hexdump或者逆向。xdd会生成给定文件或者标准输入的十六进制格式,也可以将十六进制格式转换回原始的二进制格式。
详情请参考: https://linux.die.net/man/1/xxd
binwalk
这是一个固件分析工具。binwalk是一个简单的 Linux 工具,用来分析二进制代码中嵌入的文件和可执行代码。主要用于固件镜像内容的提取。
详情请参考: https://github.com/ReFirmLabs/binwalk
strings
这个工具会打印出文件中可打印的字符串。对于给定文件,strings至少打印4个字符长度的可打印字符序列,也可以使用参数来选择打印的字符长度,后面接着的是不可打印的字符。默认情况下,它只打印对象文件启动和加载部分的字符串。对于其他文件类型,它会打印整个文件的字符串。
详情请参考: https://linux.die.net/man/1/strings
Radare2
这是一个逆向工程和二进制分析的完整框架。该框架包含了很多小工具,可以与命令行一起使用,也可以单独使用。基于能够从机器可执行的代码生成汇编语言源代码的计算机软件的反汇编器构建,支持不同处理器和操作系统的各种可执行格式。
详情请参考: https://rada.re/r/
hexdump
该工具可以以十六进制,十进制,八进制或者ASCII码形式来显示文件内容。hexdump小工具可以以用户指定的格式来显示指定的文件内容,如果没有指定文件,就会显示标准输入。
hexdump详情参考: http://man7.org/linux/man-pages/man1/hexdump.1.html
firmwalker
这是一个简单的bash脚本,可以在安装的固件文件系统中搜索敏感的文件,比如etc/shadow,etc/password还有etc/ssl目录,与SSL相关的文件,比如.pem和.crt文件,配置文件,脚本文件,其他二进制文件,还有admin,password和remote等关键字,物联网设备常用的web服务,常用的二进制,比如ssh,tftp,dropbear等,还能搜索url,邮箱地址和IP地址等。
详情请参考: https://github.com/craigz28/firmwalker
静态分析
检测文件类型,命令如下:
file myfile.bin
如图:
使用xxd工具获取文件的magic bytes
参数:-l <length>
描述:在长度八字节后停止
例子:xxd -l 4 myfile.bin
如图:
使用binwalk获取文件的magic bytes
-w:对文件执行hexdump或对多个文件执行差分
-l <length>:要扫描的字节数
示例:binwalk -W -l 100 myfile.bin
如图:
dump文件字符串
-n <number>:定位并打印任何以nul结尾的序列,至少n个字符(默认是4)
示例:strings -n 10 myfile.bin>strings.out
如图:
搜索非ASCII字符
参数:izz
描述:在整个二进制文件中搜索字符串
示例:r2 myfile.bin
如图:
以十六进制形式显示文件内容
-c:标准十六进制+ASCII码显示以十六进制显示输入偏移量,后面跟着十六进制格式的十六个字节,分成两列,空格隔开,后面是两个“|”,中间包起来的是%_p格式的相同的十六字节。
示例:hexdump -C myfile.bin>hex.out
如图:
分析固件架构及其文件系统
binwalk myfile.bin
如图:
自动提取固件文件
-M:递归扫描提取的文件
-r:提取后删除剩余文件
-e:自动提取已知文件类型
示例:binwalk -Mre myfile.bin
或者是binwalk -Me myfile.bin
如图:
搜索提取的固件文件系统
示例:
./firmwalker.sh /path/to/extracted-firmware/root/fs
如图:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。