😇
牛牛的安全 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. 物联网安全

智能设备常规测试思路总结

以下文章来源于天问实验室 ,作者天问实验室

PreviousIoT 技术和协议Next各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别

Last updated 3 years ago

攻击面分析

在做攻击面分析前我们首先要知道,对于一个常规的物联网设备而言,可以分为设备端、手机端和云端。而这三个不同的端都会存在自己一些特殊的攻击面。比如设备端我们往往会先想办法获取固件然后分析核心服务,而APP端则会有注入蓝牙等一系列操作。下面做一个简单的归纳可能并不全,欢迎大家补充。

硬件分析

针对硬件的分析主要停留在电路板上使用的芯片以及配套的解决方案,一般重点关注MCU型号以及外挂Flash闪存。其次便是寻找各类接口,如UART、ADB、JTAG等。

对于UART口一般可以直接找并排或相距不远的多个焊点和通孔,然后借助万用表来识别每个串口对应的功能。也可以直接使用JTAGulator来直接进行识别,当然他更强大的功能是识别JTAG接口。

信息收集

做完硬件层面的分析接下来就是要正式开始搞了,笔者一般会在未获取固件前就对端口开放信息进行扫描,了解其对外开放的一些服务并进行黑盒测试。

通过第一步说的接口进入shell后可以用ps查看设备开启了哪些服务,这些服务都是后期重点的挖掘方向。其次便是分析固件文件系统,查看固件使用了哪些中间件,如果有中间件,查看中间件的配置文件,获取中间件配置信息,当没思路的时候可以查看中间件是否有漏洞,中间件有漏洞就可以打开一扇窗口了。

设备固件中往往会包含大量敏感信息,如设备账号密码等信息。对于提取固件内配置文件中的敏感信息,我们可以通过Attify虚拟机内的firmwalker.sh自动化获取。

固件分析

固件的分析一般以运行的主程序和会对外监听端口的程序为主。以常见的httpd服务为例。常见的httpd文件名: boa、gohead、httpd(lighttpd、minihttpd)等。获取httpd版本信息、通过互联网可以发现是否存在历史漏洞

另外一些厂商为方便调试会特意在设备固件上留有后门,通过逆向等技术手段,找出不属于正常功能且可能存在安全问题的接口。利用后门漏洞可以直接控制硬件设备,进一步发起信息窃取、网络钓鱼、DNS劫持等攻击行为,直接威胁用户网上交易和数据存储的安全。

以项目中遇到的一个Telnet后门为例,通过IDA分析可以发现设备直接将一个特定密码写入passwd文件随后便启动了Telnet。

很多设备会对自己的配置信息和流量进行上传,查看加密解密等操作是否存在硬编码密钥或者调试该函数可拿到密钥。有些厂商会将密钥直接放在固件里,找到密钥可能会得到意外收获。

另外分析无需身份认证即可访问的函数也是一个不错的选择。以路由器为例,在开发httpd时厂商可能会设置无需认证的函数,找到这些函数查看是否存在漏洞,例如:goform

搜索危险函数: system,popen,strcpy,snprintf,printf等,查看危险函数变量是否可控,可控可能就有漏洞。通过IDA跟踪请求url处理函数,跟踪每个变量处理过程,查看是否对变量进行过滤处理,无长度限制可尝试栈溢出、堆溢出,对特殊符号进行尝试绕过等操作来寻找进一步的漏洞。

协议分析

现在的智能设备会使用各类协议进行通讯,如MQTT、ZigBee、UPnP等。以UPnP为例测试思路一遍有获取设备描述Lcation,请求Location查看服务描述,也可通过upnp配置路径获取服务描述xml文件,通过xml文件记录每个变量,用IDA对UPnP进行反编译,搜索变量跟踪路径查看函数处理过程是否存在漏洞

这里拿HG532系列路由器远程命令执行举例,该函数对变量没有过滤,直接使用system,导致出现远程命令注入漏洞。

当然除了传统的各类网络协议,物联网设备也会存在例如蓝牙、射频信号等攻击面,由于篇幅问题这些在后面的文章将会单独讲解。