快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

神器分享:物联网安全测试工具包

今天,我将在BSides San Francisco做一个题为“物联网安全测试工具包”的演讲。我会预备一个幻灯片并且发布一篇博客去参加这个演讲,要是有我演讲的视频链接,我也将会把这个视频链接放到这个博客里。

Hacking-Tools-800x450.jpg

先容

来自于我演讲的摘要

物联网以及嵌入式设备为希翼了解以及评估这些设备的安全工程师带来了新的挑战。从新的界面到不常见的操作体系以及软件,在常规安全评估之外我们还需要一些技能以及工具。我将先容硬件以及软件工具,包括它们相同之处和每一个工具独特的功能。我还将会谈论怎么样构建技能树和怎么样使用嵌入式安全评估工具来进行实际操作。

虽然有些物联网设备可以从纯软件的角度进行评估(逆向挪移应用程序的工程师足以餍足我们的需求),但通过与所有可用接口(通常包括不用于走访的接口,如调试以及内部接口)交互可以了解该设备的更多信息。

违景

我始终对黑客以及电子产品感兴致。我在11岁成为无线电兴趣者,在大学里,由于我的黉舍没有计算机安全研究领域的课程,我选择了嵌入式体系研究领域的课程。作为一名黑客,我已经看到了越来越多人对物联网设备着迷。这些设备为黑客带来了种种新挑战,其中也包括负责评估这些设备安全漏洞的工程师:

不熟识的架构(主若是ARM以及MIPS)

不常见的接口(802.15.4,Bluetooth LE等)

迷你的软件(剥离了C程序是常见的)

当然,这些挑战也为熟识这些体系的黑客(白帽以及黑帽)提供了机会。虽然在企业Web应用程序中发现内存破损漏洞几乎闻所未闻,但在IoT设备上,Web要求使用基本C解析以及服务并不少见,并且存在所有的内存治理问题。在2016年,WEB黑客,我发现了流行的IP电话中的内存破损漏洞

考虑功能,而不是玩具

包括我本人在内的很多黑客都是“小男人” (或者 “小女孩”)。经常把每一种可能用到的工具看作是新的工具增添到工具箱中,然则在一天结束时,必须考虑该工具怎么样增添新功能。实在它不需要具备完全自力的功能,也许仅仅增添了速率或稳定性。

当然,这是一个“照我说的做,而不是照我做的做”地区。实际上,我有很多具有重叠功能的设备。我很喜悦愿意比较这些设备只是为了让那些参加我的演讲或涉猎这篇文章的人受益,但老实说,我喜好我的手艺玩具。

软件

大部分软件与应用程序安全性或渗透排泄测试没有区分。例如,Wireshark通经常使用于收集阐发(IP以及蓝牙),和用于HTTP/HTTPS的Burp Suite

fccid.io网站在侦查设备时无比有效,提供关于所使用频率以及调制的信息,和设备的内部图片,这些图片还可以显示诸如芯片组,总体架构等信息,所有这些都不需要用螺丝刀。

逆向工程

固件镜像一般为多个文件串联起来,或包含专有的元数据头。Binwalk进入镜像,查找已知的文件署名,并提取组件。通常这将包括全部Linux文件体系,内核镜像等。

一旦您提取了这个体系,您可能有兴致阐发内里的二进制文件或其他软件。通常反汇编是有效的。我目前最喜好的反汇编程序是Binary Ninja,但有很多选择:

Binary Ninja

IDA

Radare2

Hopper

基本工具

我认为有几种工具对于任何类型的硬件攻击都是尽对必要的。这些工具对于了解设备并走访设备上的多种类型的接口是相等重要的。

螺丝刀组

一个螺丝刀组多是一个显然的器械,然则你需要一个具有很多钻头的螺丝刀组,可以进入狭窄的空间,且尺寸与您设备上的螺丝吻合。许多设备也使用“安全螺丝钉”,这似乎是一个术语,适用于任何不属于标准家用工具套件的螺丝钉.(我已经看到了Torx,三角形钻头,方形钻头,带有中心销的Torx等等)。

我有一个很棒的iFixit螺丝刀套件,它可以关上任何器械。扩大的螺丝刀有助于进入更小的空间,而64合1套件笼盖了所有内容。我小我私人喜好支持iFixit,因为它具有很好的组装以及拆解功能,但也有山寨版的iFixit

神器分享:物联网安全测试工具包

开瓶器

许多设备都用塑料卡扣或压配在一块儿的部件密封。对于这些,你需要某种开瓶器(无意称为撬棒 )来撬开它们。我发现种种有效的外形。您可以将它作为iFixitiFixit克隆开瓶器自身组合工具套件的一部分。我发现iFixit型号的质量略高,但我也随身携带了一款适合偶尔旅利用用的廉价克隆版.

无比薄的带塑料手柄的金属手柄多是我最喜好的开瓶器 – 它适合最薄的启齿,但因此它也无比容易弯曲。我在使用过程中遇到过它由于弯曲导致的破损。要小心使用这些工具,并确保您的手遥离它,要是被划到,虽然他们不是锋利的刀刃,但他们会划伤您的手。神器分享:物联网安全测试工具包

万用表

我明白了,您正在寻觅破解设备,而不是重新布线您的汽车。这就是说,对于许多义务来说,在我们一定需要以及节约时间成本上,一个中等大小的万用表是有必要的。万用表一些义务包括:

识别未知的引脚

找到UART的接地引脚

检查哪些组件已连接

弄清楚您需要什么样的电源

检查接口上的电压以确保不会造成变乱

我有几个万用表(对于电子工作来说有多个是很重要的),然则您为了研究物联网黑客攻击有一个就充足了。从性价比来看 UNI-T UT-61E是不错的,然则它的安全性评价不是很好。EEVBlog BM235是我最喜好的,但价格比较高。要是您为了工作而购买,Fluke 87V是您最好的选择。

要是您购买便宜的万用表,它可能适用于物联网项目,但有很多万用表存在安全隐患。请勿在“总输电线”电源,高压电源,任何从墙上出来的电源上使用这些便宜的万用表。我们不能为了节省40美元而威胁到我们的人身安全。

烙铁

在生产物联网设备上您会发现很多未加添的头(只是电路板上的孔)。种种调试接口头被省略,或者作为成本节省,或者出于空间缘故起因,或者两者兼而有之。在开发过程中使用了这些头,但建造商经常想要留下这些连接,以免重新印刷电路板(PCB)布局,或者能够现场调试故障。

为了连接到这些未加添的头,您会想要在他们的地位焊接您本人的头。要做到这一点,您需要一个烙铁。为了绝可能降低在此过程中破损电路板的危害,请使用可变温度以及小尖端的烙铁。Hakko FX-888D是无比流行以及无比不错的选择,但您仍旧可以做很好的选择,像使用this Aoyue或其他的烙铁。然则不要使用专为水管工或类似用途设计的烙铁,它会烧掉电路板。

一样,最先在您目标板上工作之前,您需要演习焊接技能。譬如:找到一些小型焊接项目或者废弃电子设备进行演习。

收集接口

显著,这些设备具有收集接口。毕竟,他们被称作“Internet of Things”,所以收集连接是一个必要前提。几乎普遍存在802.11连接(无意仅在基站上),而以太网(10/100或1000)接口也无比普遍。

有线收集嗅探

要想嗅出有线收集,最简单的要领就是在你的电脑上使用第二接口。我是这款USB 3.0双千兆适配器的巨大粉丝,它甚至为那些使用新款笔记本电脑或仅支持USB-C的Macbook的用户提供USB-C版本。 任何一个选项都可觉得您提供两个收集端口,即使在没有内置有线接口的笔记本电脑上也是云云。 除此之外,您需要软件来进行嗅探。Wireshark是原始数据包拿获工具,但您通常也会希翼HTTP/HTTPS嗅探,因此Burp Suite是究竟上的标准,然则mitmproxy是一个具有许多不错功能的新兴竞争者。

神器分享:物联网安全测试工具包

无线收集嗅探

至多见的笔记本电脑上的无线收集接口可以执行监视模式,但也许您想使用它来连接互联网,我们也能够在另一个接口上嗅探。像AWUSO36NH以及AWUSO36ACH如许的Alfa无线网卡 已经很流行了一段时间,但我小我私人喜好使用基于RT5370的微型适配器进行评估,因为其体积小,便于携带,所以不需要长距离的测试。

有线(调试/内部)接口

物联网设备上有许多细微的接口,它被用于调试或与种种组件之间的通讯。例如:

用于闪存的SPI/I2C芯片

用于wifi的SPI/SD 芯片

用于串行控制台的UART

用于蓝牙/ wifi控制器的UART

用于调试处理器的JTAG/SWD

用于在线编程的ICSP

UART

虽然有许多通用设备可以做其他事情,但我经常碰着UART,因此我喜好为此配置自力适配器。此外,拥有一个自力的适配器允许我在使用JTAG/SWD或其他接口的同时保持UART连接。

您可以获得价值10美元的自力电缆,可用于大多数UART接口。(在我见过的大多数设备上,UART接口为3.3v,这些电缆可以很好地工作。) 这些电缆中的大多数具有下列引脚调配,但请确保检查本人的:

红色:+ 5V(不要在大多数主板上连接)黑色:GND绿色:来自计算机的发送,来自设备的接收白色:来自计算机的接收,来自设备的发送

对于UART到USB 的FT232RLCp40芯片还有一些电缆外接头。这些提供了一系列头来连接目标设备以及适配器之间的跳线。我更喜好电缆的简单性(在我的测试过程中跳线端数量会缩小),但这进一步证实了有很多选项可以提供相同的功能。

神器分享:物联网安全测试工具包

通用接口(JTAG / SWD / I2C / SPI)

有许多接口被称为“通用接口”,它能够与种种协定对接。这些首要分为两类:

Bit-banging微控制器

硬件接口(以FTDI的FT * 232系列为主)

有许多选项可以完成用于说明这些协定的bit-banging解决方案,从软件项目到运行在Arduino上,和诸如使用PIC微控制器的总线海盗(Bus Pirate)等项目。这些通常向主机以及应用程序提供串行接口(UART),并使用带内旗子灯号进行设置以及配置。某些器件可能存在一些时序问题,因为微控制器通常没法在同一时钟周期更新多个输出引脚。

硬件接口使专用USB端点与设备对话,绝管可以设置它,但它通过USB端点以及寄存器实现。协定在半专用硬件中完成。根据我的经验,这些器件比bit-banging微控制器更快,更可靠,然则你仅限于特定器件支持的任何协定,或者软件驱动它们的能力。(例如,FT * 232H系列可以通过bit-banging来执行大多数协定,但它一次更新全部寄存器,并且具有充足高的速率来运行多种协定的时钟速度。)

FT2232H以及FT232H(不要与仅限于UART的FT232RL相混淆)已被纳入许多不同的分线板,这些分线板是优秀的通用接口:

Adafruit FT232 breakout (我小我私人最喜好的)(亚马逊

TUMPA以及TUMPA Lite亚马逊

FTDI C232HM Cable (我的第二个最爱,最简单易用的)(亚马逊

神器分享:物联网安全测试工具包

逻辑阐发仪

当你有一个未知的协定,未知的引脚,或未知的协定配置(波特率,极性,奇偶校验等)时,逻辑阐发仪可以帮助你直接查看芯片或接口之间传递的旗子灯号。

我有一个Saleae Logic 8,它是一个很棒的逻辑阐发仪。它体积小,软件无比出色,易于使用。我用它来发现许多未贴标签的端口的引脚,发现UART的配置,并且窥探板上两个芯片之间的流量。

绝管在eBay或AliExpress上有廉价的山寨品,但我已经尝试过它们,质量很差,不幸的是,开源的sigrok软件并不太相符Saleae软件的质量。此外,他们基本没有输入维护,来防止您本人炸毁设备。神器分享:物联网安全测试工具包

无线

显著,物联网拥有至关多的无线设备。其中一些设备使用WiFI(上面讨论过),但许多设备使用其他无线协定。蓝牙(特别是蓝牙LE)无比普遍,但在其他领域,例如家庭自动化,其他协定比较流行。其中极可能是基于802.15.4(Zigbee,Z-Wave)或433 MHz,915 MHz或2.4 GHz ISM频段的专有协定。

蓝牙

蓝牙设备无比普遍,低功耗蓝牙(从蓝牙4.0最先)在IoT设备中无比流行。大多数不会流式传输音频,提供IP连接或者其他高带宽需求的设备似乎正在转向低能耗蓝牙,多是由于几个缘故起因:

更低的功耗(对电池比较友爱)

更便宜的芯片组

实施简单

我推荐一个工具来评估蓝牙,那就是Ubertooth One亚马逊)。这可以跟踪以及拿获蓝牙通讯,以pcap或pcap-ng格式输出,允许您将通讯导入Wireshark以供之后阐发。(您也能够使用其他基于pcap的工具(scapy)来阐发pcaps。)Ubertooth工具可以作为软件包在Debian,Ubuntu或Kali中使用,然则您可以从 其Github获得更新版本的软件存储库。

Adafruit还提供BLE嗅探器 ,该嗅探器仅用于低功耗蓝牙,并行使北欧半导体BLE芯片以及特殊固件进行嗅探。这类软件在Windows上运行优越,但在Linux上不太好,因为它是一种比Ubertooth工具更难以使用的python脚本。

神器分享:物联网安全测试工具包

软件定义无线电

对于自定义协定或启用低级评估或基于无线电体系的攻击,软件定义无线电为与物联网设备的射频端直接交互提供了极好的机会。这可以从仅接收(出于理解以及逆向工程设备的目的)到能够同时接收以及发送(全双工),这取决于您的评估需求。

对于简单接收,有一些简单的DVB-T软件狗已被重新设计为通用SDR,通常称为“RTL SDR”,该名称是基于设备中存在的Realtek RTL2832U芯片。可以使用这些芯片,因为该芯片能够将原始样本提供给主机操作体系,并且由于其低成本,已经出现了一个大型的开源社区。像NooElec如许的公司现在甚至为SDR社区提供基于这些芯片的定制内置硬件。还有一个扩大了RTL-SDR dongles接收范围的套件

为了传输,硬件要复杂得多,这个空间中的大部分选项都是由FPGA或其他强盛的处理器驱动的。即使在几年前,这些功能在USRP等工具中也无比昂贵。然而,HackRF由大斯科特小工具以及BladeRF通过Nuand已经价格比较便宜,大部分黑客可以接受。已经提供能力的大批黑客友爱的价格。

我有一个BladeRF,但我真的希翼我买了一个HackRF。HackRF具有更宽的可用频率范围(尤为是低频),而BladeRF则需要相对于昂贵的上变频器来笼盖这些频段。HackRF似乎还有一个愈加活跃的社区,并在开源软件的某些领域提供更好的支持。

神器分享:物联网安全测试工具包

其他有效的工具

使用示波器查看射频旗子灯号或旗子灯号完备性无意候会有效,但我在工作中基本没有使用过。专程的JTAG程序员用特定的硬件设备工作的效劳比较高,但成原形对于较高,这些设备专程针对这些特定的项目。

对于读取Flash芯片,Xeltec程序员被认为是“最重要的”,并且做了一个使人难以置信的工作,但它的价格使得只有定期做这件事的实验室才会以为这是值得的。

PDF:物联网黑客工具包

原文链接

*

您可能还会对下面的文章感兴趣: