查看原文
其他

IoT设备渗透测试环境搭建及常用工具

云天实验室 哆啦安全 2022-05-24

为了渗透测试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/binwalkhttps://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

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


参考历史文章

二进制文件的反编译器

IDA动态调试逆向分析Android so

Radare2逆向分析dex/so/二进制等文件的使用方法


(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.binbinwalk -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%

微信扫一扫付费阅读本文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存