😇
牛牛的安全 Odin
  • 个人介绍
  • 数据安全
  • 工控安全
    • 工控概念
  • 车联网安全合规
    • R155
    • CSMS\VTA
    • GDPR认证
  • 车联网安全
    • 漏洞订阅
    • 汽车攻击时间轴
    • 汽车信息安全研究
      • 车厂安全需求 Custom Requirement
      • 安全威胁
      • 参考文章
      • Who’s Behind the Wheel?
      • 安全研究基础
      • 智能网联汽车安全渗透指标
      • 智能网联汽车软件安全测试关键技术研究
      • 基于硬件在环的整车控制器功能安全测试技术研究
      • 智能网联汽车信息安全解决方案
      • 自动驾驶汽车的安全性-识别挑战
    • ECU逆向案例
      • 特斯拉攻击链
      • 汽车动力系统ECU固件逆向工程初探
  • 物联网安全
    • IoT 技术和协议
    • 智能设备常规测试思路总结
    • 各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
    • QEMU 系统仿真
      • 如何“用 QEMU 模拟它”
      • 处理加密的路由器固件
    • 自动分析Automated Approach
    • IOT渗透测试(一)
    • 物联网安全目录
  • 固件分析案例
    • 智能门锁、手环
      • MCU固件反汇编
      • 云丁鹿客门锁中bootloader和FreeRTOS的分析
      • 云丁鹿客门锁BLE通信的分析(下)
      • 云丁鹿客门锁BLE通信的分析(中)
      • 云丁鹿客门锁BLE通信的分析(上)
      • 华为智联旗下小豚AI摄像头的完整分析(下)
      • 华为智联旗下小豚AI摄像头的完整分析(上)
      • 海康萤石智能门锁的网关分析(4)
      • 海康萤石智能门锁的网关分析(3)
      • 海康萤石智能门锁的网关分析(2)
      • 海康萤石智能门锁的网关分析(1)
      • idapython编写和调试
      • 果加智能门锁的全面分析(下)
      • 果加智能门锁的全面分析(中)
      • 果加智能门锁的全面分析(上)
      • BLE智能手环
      • 耶鲁智能门锁的简单测试(下)
      • 耶鲁智能门锁的简单测试(上)
      • 耶鲁门锁漏洞
      • 对一款BLE灯泡的分析
      • BLE协议栈与Android BLE接口简介
    • 在IoT设备中查找端口对应进程的四种方法
    • 路由器命令执行
    • 对基于Philips TriMedia CPU的网络摄像机进行逆向工程
    • 从Microsoft Band以及 Hello Sense 设备中提取自己的历史数据
    • CVE-2021-22909- 深入研究 UBIQUITI 固件更新错误
    • 复现|摄像头固件重打包
    • Dlink_DWR-932B路由器固件分析
    • 针对小米九号平衡车的无接触式攻击
    • 记一次智能印章设备的漏洞挖掘
  • APP 逆向
    • Go二进制文件逆向分析从基础到进阶——综述
    • Switch APP逆向分析
  • 传统静态代码分析
    • 静态分析案例
      • ELF恶意软件的静态分析原理和方法(上)
      • ELF恶意软件的静态分析原理和方法(下)
    • 静态代码分析工具清单
    • 企业级静态代码分析工具清单
  • 应用安全测试
    • DAST、SAST、IAST
    • IAST 工具初探
  • 芯片架构
    • ARM指令集概念
    • ARM指令集
    • 冯·诺伊曼结构
    • 指令集
    • 处理器架构、指令集和汇编语言,三者有何关系?
  • 病毒分析
    • 熊猫烧香
  • 编程知识
    • REST API 教程
  • 流量分析工具
    • 卡巴斯基开源的智能手机流量劫持工具
    • 利用 Burp Suite 劫持 Android App 的流量(二)
    • 利用 Burp Suite 劫持 Android App 的流量(一)
  • 区块链安全
    • 安全多方计算
    • Chainalysis 团队从区块链的角度分析发现 2020 年最大的 4 起勒索软件攻击实现存在关联
  • 攻击案例
    • 特斯拉Powerwall网关可能受到黑客攻击
  • 移动应用
    • Mac上使用Charles抓包
    • 手机抓包工具汇总
    • APP渗透测试流程和技巧大全
    • 加壳和脱壳
    • 浅谈 Android Dex 文件
    • 移动应用漏洞分析样例分享
    • 移动应用常见漏洞分析
    • 移动应用漏洞分析工具介绍
    • 渗透测试流程详解 及 移动APP安全测试要点
    • Frida Android hook
  • 安全设计
    • 【软件安全设计】安全开发生命周期(SDL)
Powered by GitBook
On this page
  1. 物联网安全

IOT渗透测试(一)

Previous自动分析Automated ApproachNext物联网安全目录

Last updated 3 years ago

在本系列文章中,我们将会使用工具进行IOT安全评估的基本步骤。

本文是第一篇,你需要一个设备固件的二进制文件才能继续。

工具

file

这款工具能够检测文件类型。file通过检查属性和(对于普通文件)读取文件初始部分来来猜测每个文件参数的类型。file通过命令行将每个文件与系统维护的magic文件进行对比来确定文件类型。

详情请参考:

xdd

xdd可以执行hexdump或者逆向。xdd会生成给定文件或者标准输入的十六进制格式,也可以将十六进制格式转换回原始的二进制格式。

详情请参考:

binwalk

这是一个固件分析工具。binwalk是一个简单的Linux工具,用来分析二进制代码中嵌入的文件和可执行代码。主要用于固件镜像内容的提取。

详情请参考:

strings

这个工具会打印出文件中可打印的字符串。对于给定文件,strings至少打印4个字符长度的可打印字符序列,也可以使用参数来选择打印的字符长度,后面接着的是不可打印的字符。默认情况下,它只打印对象文件启动和加载部分的字符串。对于其他文件类型,它会打印整个文件的字符串。

详情请参考:

Radare2

这是一个逆向工程和二进制分析的完整框架。该框架包含了很多小工具,可以与命令行一起使用,也可以单独使用。基于能够从机器可执行的代码生成汇编语言源代码的计算机软件的反汇编器构建,支持不同处理器和操作系统的各种可执行格式。

hexdump

该工具可以以十六进制,十进制,八进制或者ASCII码形式来显示文件内容。hexdump小工具可以以用户指定的格式来显示指定的文件内容,如果没有指定文件,就会显示标准输入。

firmwalker

这是一个简单的bash脚本,可以在安装的固件文件系统中搜索敏感的文件,比如etc/shadow,etc/password还有etc/ssl目录,与SSL相关的文件,比如.pem和.crt文件,配置文件,脚本文件,其他二进制文件,还有admin,password和remote等关键字,物联网设备常用的web服务,常用的二进制,比如ssh,tftp,dropbear等,还能搜索url,邮箱地址和IP地址等。

静态分析

检测文件类型,命令如下:

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

如图:

详情请参考:

hexdump详情参考:

详情请参考:

https://linux.die.net/man/1/file
https://linux.die.net/man/1/xxd
https://github.com/ReFirmLabs/binwalk
https://linux.die.net/man/1/strings
https://rada.re/r/
http://man7.org/linux/man-pages/man1/hexdump.1.html
https://github.com/craigz28/firmwalker