IOT渗透测试一

栏目: 编程工具 · 发布时间: 5年前

内容简介:在本系列文章中,我们将会使用工具进行IOT安全评估的基本步骤。本文是第一篇,你需要一个设备固件的二进制文件才能继续。这款工具能够检测文件类型。file通过检查属性和(对于普通文件)读取文件初始部分来来猜测每个文件参数的类型。file通过命令行将每个文件与系统维护的magic文件进行对比来确定文件类型。

IOT渗透测试一

在本系列文章中,我们将会使用 工具 进行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

如图:

IOT渗透测试一

使用xxd工具获取文件的magic bytes

参数:-l <length>

描述:在长度八字节后停止

例子:xxd -l 4 myfile.bin

如图:

IOT渗透测试一

使用binwalk获取文件的magic bytes

-w:对文件执行hexdump或对多个文件执行差分

-l <length>:要扫描的字节数

示例:binwalk -W -l 100 myfile.bin

如图:

IOT渗透测试一

dump文件字符串

-n <number>:定位并打印任何以nul结尾的序列,至少n个字符(默认是4)

示例:strings -n 10 myfile.bin>strings.out

如图:

IOT渗透测试一

搜索非ASCII字符

参数:izz

描述:在整个二进制文件中搜索字符串

示例:r2 myfile.bin

如图:

IOT渗透测试一

以十六进制形式显示文件内容

-c:标准十六进制+ASCII码显示以十六进制显示输入偏移量,后面跟着十六进制格式的十六个字节,分成两列,空格隔开,后面是两个“|”,中间包起来的是%_p格式的相同的十六字节。

示例:hexdump -C myfile.bin>hex.out

如图:

IOT渗透测试一

分析固件架构及其文件系统

binwalk myfile.bin

如图:

IOT渗透测试一

自动提取固件文件

-M:递归扫描提取的文件

-r:提取后删除剩余文件

-e:自动提取已知文件类型

示例:binwalk -Mre myfile.bin

或者是binwalk -Me myfile.bin

如图:

IOT渗透测试一

IOT渗透测试一

搜索提取的固件文件系统

示例:

./firmwalker.sh /path/to/extracted-firmware/root/fs

如图:

IOT渗透测试一


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Essential C++中文版

Essential C++中文版

[美] Stanley B. Lippman / 侯捷 / 华中科技大学出版社 / 2001-8 / 39.80元

书中以4个面向来表现C++的本质:procedural(程序性的)、generic(泛型的)、object-based(个别对象的)、object-oriented(面向对象的),全书围绕着一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性。循此方式,读者不只学到C++的函数和结构,也会学习到它们的设计目的和基本原理。一起来看看 《Essential C++中文版》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具