论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
安全
›
网络安全
›
物联网黑客手册3分析硬件
物联网黑客手册3分析硬件
东湖之滨
金牌会员
|
2023-11-11 14:44:12
|
显示全部楼层
|
阅读模式
楼主
主题
940
|
帖子
940
|
积分
2824
3 分析硬件
在本章中,我们将探讨如何从安全角度了解物联网设备的硬件,以便进行内部和外部分析。
进行硬件分析可以帮助您完成以下任务:
从真实物联网设备中提取固件。
获取设备的root shell以获得不受限制的访问权限。
执行实时调试,绕过安全保护和限制。
为设备编写新固件。
扩展设备功能。
在某些情况下,打开设备可能会导致设备无法正常工作(由于物理防篡改)或无法重新安装。这就是为什么在执行物联网设备渗透测试时,您总是应该要求客户提供两套(或更多)设备,以便对其中一套设备执行物理安全评估,对另一套设备执行其余的漏洞测试。
3.1 外部检查
设备物理分析的第一步是进行外部检查。这包括通过观察设备的各个方面对设备进行基本的全面检查,其中包括以下内容:
有哪些按钮,有多少按钮。
外部接口选项: 以太网端口、SD 卡插槽等。
设备的显示屏类型。
设备的电源和电压要求。
设备是否有任何认证及其含义。
背面是否有 FCC ID 标签。
设备使用何种螺丝。
该设备是否与您在市场上看到的具有类似功能的其他设备相似(也许它只是一个重新命名的型号)。
等等。
通过初步分析,您可以更好地了解整个设备及其功能,同时还能帮助您了解设备的一些内部细节。
在打开设备之前,您可以通过初步分析做几件事。初步分析通常包括对设备进行目视检查,并查看有关设备的其他信息来源。这一步还包括使用设备并确定其正常功能。一旦确定了设备的正常功能,就可以提出颠覆设备功能的目标方法。
3.1.1 使用真实设备
让我们使用一个示例设备,按照刚才的描述开始研究它。在本例中,设备是导航系统,型号是 Navman N40i。
只需在谷歌上快速搜索一下,就能了解到该设备的各种规格,例如以下这些:
运行 Windows CE 5.0。
230 万像素摄像头。
五小时续航。
400MHz Samsung 2400。
64MB SDRAM。
256 MB ROM。
SiRF STAR II GPS 芯片。
如果我们以后决定查找 Navman 系统中的漏洞,这些有用的信息将很有帮助。这个快速示例说明了拿到设备后应如何操作,以及应执行的初步分析。
3.1.2 查找输入和输出端口
下一步是了解设备的输入和输出(I/O)是如何工作的,以及 I/O 端口和其他连接的数量。下图我们可以看到Navman系统包括一个3.5英寸的屏幕,正面有五个按钮,左侧有一个LED指示灯。
下图中我们可以看到电源按钮和几个点击按钮。
音量控制按钮和耳机插孔。
两个螺丝和一个基座连接器。
SD 卡插槽、GPS 天线端口和 USB 端口。
要进行良好的检查,您需要分析外部和内部组件,同时创建攻击面地图。
3.1.3 内部检查
要打开设备,我们需要拧开螺丝。物联网设备可能有不同类型的螺丝,一般的螺丝刀往往无法拧开设备中一些不太常见的螺丝。在对设备进行物联网开发时,请确保随身携带一把好的螺丝刀。此外,在打开设备时要特别小心,以免损坏设备及其内部电路。我见过的最常见的错误之一就是试图强行打开设备,这往往会导致设备物理损坏,在某些情况下会使其无法使用。
如果你是第一次看到设备的内部结构,你可能会被眼前的景象所吸引。设备内部通常涉及许多组件,包括印刷电路板 (PCB printed circuit board)、连接器、天线、外设等。试着小心打开目标设备,并逐一取出所有连接的电缆、色带或其他外设。
顶部有摄像头模块、电池、耳机、GPS 连接器和 GPS 天线,LCD 通过带状电缆连接。电路板背面如下:
现在我们来看看不同的组件并分析其功能,首先是处理器。下图显示了导航系统中使用的处理器。
处理器是任何物联网设备的重要组件之一。本例中使用的处理器是三星ARM处理器S3C2440AL。如果我们上网查找S3C2440AL,就能找到该处理器的数据表,从而获得更多相关信息。该处理器的数据表可在
http://www.keil.com/dd/docs/datashts/samsung/s3c2440_um.pdf
上找到。它包含 I/O 端口、中断、实时时钟 (RTC)、串行外设接口 (SPI Serial Peripheral Interface) 等信息。
接下来,我们可以查看器件中的其他组件,如SDRAM和ROM:
所用元件的编号为K4M561633G,通过上网查询,我们可以看到这是富昌电子公司生产的4M × 16Bit × 4 Banks移动SDRAM,我们还可以在其中看到512 MB ROM。
接下来,我们可以继续查找不同的组件,确定它们的零件编号,然后上网查询,了解更多相关信息。识别元器件的另一种方法是查看其标识和在线参考目录,如
https://www.westfloridacomponents.com/manufacturer-logos.html
。
要查找数据表,可以直接在网上搜索元件编号,也可以访问数据表目录网站,如
http://www.alldatasheet.com/
或
http://www.datasheets360.com/。
还有最后一点我们还没有讨论,这可能是最重要的方面,即调试端口和接口。通常,设备会暴露出通信接口,可利用这些接口进一步访问设备,执行读取调试日志等操作,甚至在目标设备上获取未经验证的 root shell。在我们的设备中,设备暴露了一些接口,我们可以利用这些接口通过UART和JTAG与设备通信。
只要查看PCB并识别 UART 的 Tx 和 Rx 以及 JTAG 的 TRST、TMS、TDO、TDI 和 TCK,就可以找到这些接口。如果你不熟悉这些术语,也不用担心,因为在本书的其他章节中,我们将把大部分硬件黑客时间花在这里。
参考资料
软件测试精品书籍文档下载持续更新
https://github.com/china-testing/python-testing-examples
请点赞,谢谢!
本文涉及的python测试开发库
谢谢点赞!
https://github.com/china-testing/python_cn_resouce
python精品书籍下载
https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
Linux精品书籍下载
https://www.cnblogs.com/testing-/p/17438558.html
3.1.4 分析数据表
设备的官方网站上可能没有很多技术信息。这时FCC ID数据库就能帮上忙了。
美国联邦通信委员会(FCC Communication Commission)是监管各种发射无线电通信的设备(也就是大多数物联网设备)的总机构。之所以要监管,是因为无线电频谱有限,而且有不同频率的设备在运行。
在没有监管机构的情况下,任何人都可以决定制造和选择自己的设备,使用可能已被其他设备使用的频率,从而导致干扰其他设备的通信。
因此,任何使用无线电通信的设备都必须经过一系列审批程序,其中包括多项测试,然后由FCC对设备进行审批。对于特定制造商的特定型号,设备的FCC ID将是相同的。不过,需要注意的是,FCC ID并不是传输许可,而只是美国政府监管机构的批准。
您可以通过印在设备上的FCC ID或在网上查找不同来源的信息。另外,不要被那些仅仅符合FCC法规的设备所迷惑,因为这些设备可能不需要FCC ID,因为它们并不进行无线通信,只是无意中产生少量无线电噪音。
测试过程的信息可在FCC网站上查阅,除非制造商特别要求对文件保密。您可以提供设备的FCC ID,在FCC官方网站
https://apps.fcc.gov/oetcf/eas/reports/GenericSearch.cfm
或通过第三方非官方网站(如 fccid.io 或 fcc.io)搜索设备信息。
我们将使用 dimax 3116W 备,这是一款可通过手机和网络应用程序控制的IP摄像机。
在https://fccid.io网站上查询该设备的 FCC ID(NDD9530401309)
在网站上,我们可以看到有关该设备的各种信息,如频率范围、进入实验室设置、内部图片、外部图片、用户手册、授权书(PoA)等。
在分析FCC ID信息时,最值得关注的是设备的内部图片。您可以在https://fccid.io/document.php?id=2129020上找到这些图片。
值得注意的一个有趣事实是,在这种情况下,图片还显示该IP摄像机具有 UART 接口,如图片中显示的四个焊盘所示。在接下来的章节中,我们将利用这一点在设备上获取root shell。
另一个值得了解的有趣事实是,有时制造商会不要求对设备的敏感信息(如设备原理图)进行保密。获取设备的原理图非常有用,因为它可以告诉我们用于制造设备的不同电子元件是什么,帮助我们更深入地了解设备。
3.1.5 元件封装
在嵌入式设备的制造和开发过程中,有多种封装方式可供选择。根据组件使用的封装类型,我们需要相应的硬件适配器和其他组件与之进行交互分析。这里列出了最常用的封装类型,如图 3-15 所示。
DIL
单列直插式封装
双列直插式封装
TO-220
SMD
CERPACK
BGA
SOT-23
QFP
SOIC
SOP
3.2 无线电芯组
您可以在设备中寻找的其他重要信息之一是各种无线电芯片组。这些芯片组可以让你了解特定设备使用的通信方法,即使没有在任何地方记录或提及。
下图是Wink Hub的内部图片,除了JTAG等硬件通信接口外,它还使用了Wi-Fi、ZigBee和ZWave等多种通信协议。
3.3 小结
随着本书的深入,我们将详细探讨其他硬件组件。不过,如果想深入了解各种硬件组件,我强烈建议您阅读 Nicholas Collins 所著的《Hardware Hacking》(硬件黑客)一书,该书可在http://www.nicolascollins.com/texts/originalhackingmanual.pdf网站上查阅。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
东湖之滨
金牌会员
这个人很懒什么都没写!
楼主热帖
《HarmonyOS开发 - 小凌派-RK2206开发 ...
VMware虚拟机安装黑群晖7.1
从0到1实现一套CICD流程之CD
大二C#实现酒店管理系统(C端展示、前 ...
当我们在聊「开源大数据调度系统Taier ...
ABP Framework 7.0 RC 新增功能简介 ...
MySQL视图
dotnet 6 为什么网络请求不跟随系统网 ...
MySQL8.0 优化器介绍(二)
[ARM 汇编]高级部分—ARM汇编编程实战 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表