IoT设备渗透测试环境搭建及常用工具
为了渗透测试IoT设备与手机端的通信安全,需要将IoT设备和手机端连入同一可监控的局域网,方便分析其所有的通信流量,普通AP热点是无法实现这个功能。
1.IoT渗透测试工具
(1).file这款工具能够检测文件类型。file通过检查属性和(对于普通文件)读取文件初始部分来来猜测每个文件参数的类型。file通过命令行将每个文件与系统维护的magic文件进行对比来确定文件类型。
https://linux.die.net/man/1/file
检测文件类型
file myfile.bin
(2).xdd可以执行hexdump或者逆向。xdd会生成给定文件或者标准输入的十六进制格式,也可以将十六进制格式转换回原始的二进制格式。
https://linux.die.net/man/1/xxd
使用xxd工具获取文件的magic bytes
xxd -l 4 myfile.bin
(3).binwalk是一个固件分析工具。binwalk是一个简单的Linux工具,用来分析二进制代码中嵌入的文件和可执行代码。主要用于固件镜像内容的提取。
https://github.com/ReFirmLabs/binwalk
https://github.com/ReFirmLabs/binwalk/releases
使用binwalk获取文件的magic bytes
binwalk -W -l 100 myfile.bin
-w:对文件执行hexdump或对多个文件执行差分
-l <length>:要扫描的字节数
(4).strings工具会打印出文件中可打印的字符串。对于给定文件,strings至少打印4个字符长度的可打印字符序列,也可以使用参数来选择打印的字符长度,后面接着的是不可打印的字符。默认情况下,它只打印对象文件启动和加载部分的字符串。对于其他文件类型,它会打印整个文件的字符串。
https://linux.die.net/man/1/strings
dump文件字符串
strings -n 10 myfile.bin>strings.out
-n <number>:定位并打印任何以nul结尾的序列,至少n个字符(默认是4)
(5).Radare2是一个逆向工程和二进制分析的完整框架。该框架包含了很多小工具,可以与命令行一起使用,也可以单独使用。基于能够从机器可执行的代码生成汇编语言源代码的计算机软件的反汇编器构建,支持不同处理器和操作系统的各种可执行格式。
https://rada.re/r/
搜索非ASCII字符
r2 myfile.bin
在整个二进制文件中搜索字符串
参考历史文章
(6).hexdump工具可以以十六进制,十进制,八进制或者ASCII码形式来显示文件内容。hexdump小工具可以以用户指定的格式来显示指定的文件内容,如果没有指定文件,就会显示标准输入。
https://man7.org/linux/man-pages/man1/hexdump.1.html
以十六进制形式显示文件内容
hexdump -C myfile.bin>hex.out
-c:标准十六进制+ASCII码显示以十六进制显示输入偏移量,后面跟着十六进制格式的十六个字节,分成两列,空格隔开,后面是两个“|”,中间包起来的是%_p格式的相同的十六字节。
(7).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
分析固件架构及其文件系统
binwalk myfile.bin
自动提取固件文件
binwalk -Mre myfile.bin
或
binwalk -Me myfile.bin
-M:递归扫描提取的文件
-r:提取后删除剩余文件
-e:自动提取已知文件类型
搜索提取的固件文件系统
./firmwalker.sh /path/to/extracted-firmware/root/fs
(8).固件分析工具
可以使用下面列出的固件工具来分析固件镜像、提取镜像以及在运行时附加到固件进程中以方便调试
Binwalk
Firmadyne
Firmwalker
Angr
firmware-mod-toolkit
Firmware Analysis Toolkit
GDB
Radare2
Binary Analysis Tool(BAT)
Qemu
IDA Pro
(9).硬件工具
用于硬件拆解的IFixit classic pro tech toolkit工具套装
Bus Pirate
USB转串口转接器
Shikra、FTDI FT232、CP2102、PL2303、Adafruit FTDI Friend
JTAG接口转接器
Shikra、JTAGulator、Arduino with JTAGenum、JLINK、Bus Blaster
逻辑分析仪(可选)
Saleae Logic等
(10).硬件分析工具
OpenOCD
Spiflash
Minicom
Baudrate
2.环境准备
(1).外置无线网卡
(2).Ubuntu18.04.4虚拟机
(3).手机
(4).IoT设备
(5).Wireshark
3.热点建立
将外置无线网卡连入Ubuntu,使用lsusb查看,确认接入
可试读44%