欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

IOT渗透测试一

来源: 作者: 时间:2019-02-24 21:17 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

在本系列文章中,我们将会使用工具进行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
描述:在长度八字节后停止
例子:xxd -l 4 myfile.bin
如图:

使用binwalk获取文件的magic bytes
-w:对文件执行hexdump或对多个文件执行差分
-l :要扫描的字节数
示例:binwalk -W -l 100 myfile.bin
如图:

dump文件字符串
-n :定位并打印任何以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
如图:

 

在本系列文章中,我们将会使用工具进行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个字符长度的可打印字符序列,也可以使用参数来选择打印的字符长度,后面接着的是不可打印的字符。默认情况下,它只打印对象文件启动和加载部分的字符串。对于其他文件类型,它会打印整个文件的字符串。 copyright 无奈人生
详情请参考: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
描述:在长度八字节后停止
例子:xxd -l 4 myfile.bin
如图:

使用binwalk获取文件的magic bytes
-w:对文件执行hexdump或对多个文件执行差分
-l :要扫描的字节数
示例:binwalk -W -l 100 myfile.bin
如图:

dump文件字符串
-n :定位并打印任何以nul结尾的序列,至少n个字符(默认是4)
示例:strings -n 10 myfile.bin>strings.out

copyright 无奈人生


如图:

搜索非ASCII字符
参数:izz
描述:在整个二进制文件中搜索字符串
示例:r2 myfile.bin
如图:

以十六进制形式显示文件内容
-c:标准十六进制+ASCII码显示以十六进制显示输入偏移量,后面跟着十六进制格式的十六个字节,分成两列,空格隔开,后面是两个“|”,中间包起来的是%_p格式的相同的十六字节。
示例:hexdump -C myfile.bin>hex.out
如图:

分析固件架构及其文件系统
binwalk myfile.bin
如图:
www.wnhack.com

自动提取固件文件
-M:递归扫描提取的文件
-r:提取后删除剩余文件
-e:自动提取已知文件类型
示例:binwalk -Mre myfile.bin
或者是binwalk -Me myfile.bin
如图:


搜索提取的固件文件系统
示例:
./firmwalker.sh /path/to/extracted-firmware/root/fs
如图:

  无奈人生安全网

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。