实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上) | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)

申博_安全防护 申博 66次浏览 已收录 0个评论

以Ewon IoT 200 Flexy路由器为例

Ewon所临盆的装备已在全球范围内被普遍运用,以下是Ewon给出的统计数据:

eWON公司成立于2001年,在过去的十几年里,eWON已成为智能互联网长途接见产物市场的领导者。2016年年终eWON成为瑞典HMS产业收集公司旗下品牌,为自动化装备和体系衔接到产业收集供应相干产物。HMS eWON主要产物:产业VPN路由器、产业VPN LAN路由器、产业VPN ADSL路由器。

进入Web界面

直接接上电源,即可运用Ewon IoT 200 Flexy路由器。默许情况下,装备的IP地点被设置为10.0.0.53,默许帐户为:

用户名:adm;

暗码:adm;

WEB——基础身份考证

Ewon Web应用程序会对其用户举行基础身份考证:

考证是经由历程HTTP举行通讯的,而不是HTTPS。 不过我们在测试时,考证历程并不顺遂,装备返回了以下正告:

“基础认证不平安,请不要登录此装备”

WEB——XSS

以下就是认证历程发作的事变:

所以,我们盗用了一些身份认证信息,因为基础身份考证的base64 cookie太差了!

猎取主解密密钥(Master Decryption Key)

事实证明,不管是经由历程XSS举行收集垂纶,照样将其保存为默许值(adm:adm),一旦你胜利接见了该装备,就能够随心所欲了。不过,我们疏忽了一件事,就是管理员帐户和较低级别用户帐户之间的受权星散。

在检察Web应用程序或接见存储敏感数据的文件(如VPN私有证书和密钥以至用户暗码)时,它们好像是以我们之前从未见过的自定义体式格局加密的。这引起了我们的兴致,所以我们举行了细致的剖析。

下图是经由身份考证的用户在输入值后,并将其存储在设置中后看到的内容:

或许你能够只做一个简朴的post要求,并猎取加密的VPN私家证书(记着猎取的认证信息):

如今,就让我们最先破解这些存储的字符串。

我们将运用暗码字符串,因为它如今要小得多,但一样适用于更大的VPN证书和密钥。

这是输出的管理员用户(我们的用户)的用户名和存储的暗码:

[“ptp”,”#_1_EHyXHCXlKSnkcW2f7kthnIg=”]

如今,灵敏的人将马上看到一个有前缀和一个经由base64编码的值。

“#_1_” = Prefix
“EHyXHCXlKSnkcW2f7kthnIg=” Base64 Encoded data.

以下所示,解码后的数据没法运用:

实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)

假如这个题目不处理,我们就没法晓得现实的暗码。

因为我们已晓得XSS /不平安HTTP通讯中的暗码,然则假如能够解密数据,则是不是意味着我们也能够解密VPN私钥呢?

起首,我们将另一个用户增加到Ewon路由器,并将暗码设置为可接收的最小长度——“aaa”。

测试用户暗码被加密为“#_1_BXWfyGY =”,然后我们删除前缀“BXWfyGY =”并解码base64数据。它为我们供应了一些随机检察数据“.u.Èf”。

因为我们只输入3x“a”作为暗码,但在解码后的字符串的末端却增加了一些分外的字符,这是为何呢?

在没有完全明白加密要领的情况下,我们决定将暗码修正成“aba”,以检察它是怎样变动的?效果暗码被修正成“#_1_BXafyJY=”。

明显以下两个输出的暗码之间有一些相似之处:

“BXWfyGY =”= aaa
“BXafyJY =”= aba

因为前两个字符是雷同的,这是不是意味着它是按每一个字符加密的?

因而我们再次将输入的暗码改成“aab”,举行输出效果考证:

“BXWfyGY=”-> “.u.Èf” = “aaa”
“BXafyJY=” -> “.v.È.” = “aba”
“BXWciGc=” -> “.u..g” = “aab”

经由剖析,确切是对每一个字符举行了加密,然后在末了增加一些内容。我们猜想,多是运用了XOR要领。

如今,让我们启动CyberChef,CyberChef是英国情报机构政府通讯总部(GCHQ)宣布了一款新型的开源Web东西,为平安从业人员剖析和解密数据供应了轻易。

GitHub链接:https://github.com/gchq/CyberChef

因为我们晓得了暗码“3”的长度,也晓得它的明文变体是“aaa”,所以我们用CyberChef来举行进一步剖析,剖析效果以下。

以上的剖析效果部份考证了我们方才的猜想,之所以说是部份,是因为末了依然有两个末端的字符没法相符我们的猜想。如今让我们先疏忽这些题目,看看是不是能够猎取完全的22个长度的暗码。

俄罗斯区块链选举系统发现漏洞

法国安全研究人员Pierrick Gaudry在俄罗斯官方计划于下月举行的2019俄罗斯杜马选举中使用的基于区块链投票系统中发现严重安全漏洞。 Pierrick Gaudry是法国Lorraine大学和研究机构INRIA的研究人员,他根据投票系统的公钥计算出了系统的私钥。私钥和公钥一起在选举中被用来计算选票。 俄罗斯基于区块链的投票系统20分钟被攻破 Gaudry称该基于区块链的系统中存在漏洞是因为俄罗斯官方使用了 ElGamal加密方案的变种,由于使用的加密密钥太短导致不够安全。

虽然能够,这对CyberChef(盘算9.578097130411805e+52个值)来讲是异常辛苦的,所以我们编写了一个python脚原本让这个历程自动化,并让它继承运转:

那末这个密钥也适用于PTP用户的原始暗码吗?

经由测试,确切能够,它也会实行私有证书数据:

别的,我们还在浩瀚Ewon Flexy装备上尝试过这类要领,在所有装备上都能运转。

这就是说,我们能够经由历程XSS从有用用户盗取凭据,或许假如我们在统一个LAN上(不管出于何种缘由),也能够猎取加密的敏感数据并对其举行解密(其他用户的暗码,VPN密钥和设置)等,我们能够运用存储在设置中的私钥和暗码进入现有的VPN衔接。

现在,我们向Ewon披露了这个破绽。因为从理论上讲,必需经由历程身份考证才进入装备。另外,这些装备都不该衔接到互联网

WEB——默许认证

如今让我们说说默许的认证,这些机制在Ewon的产物中被普遍运用。关于初始设置,这是抱负的。然则,当你进入设置导游时,用户名和暗码都是默许填写的:“adm:adm”!

Ewon应当在这里设置一些搜检,来阻挠人们接收默许值,只要举行了修正才点击“下一步>”。

假如你看看第一幅图中,Ewon产物运用的普遍水平,以及之前的Shodan.io搜刮,你就能够晓得,有多少人因为没有转变默许值而遭殃了吧!

另外,默许的认证还会被用于在统一主机上运转的FTP效劳。

实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)

默许情况下,Web Portal和ftp离别设置在端口80和21上,并且在端口81上为Web流派设置了一个辅佐端口,稍后我们将对此举行细致引见。

路由硬件剖析

路由硬件剖析,因为Ewon装备是一个具有许多可用功用的物联网装备,所以进击面会许多。

把Ewon Flexy拆开后,就能够很清楚地看到个中的电路板。它看起来像是外围电路装备/子板的单个控制器以及后开槽的操作体系板:

实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)

共有四个插槽可供衔接电门路板,以及一个SD卡插槽和4个ETH端口:

实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)

反面有一个操作体系板插槽和一些可用的测试板:

我们感兴致的是操作体系板上的NAND闪存,操作体系板上的测试板(左上2行5列圆形测试板)和墨盒插槽旁边的主板上的3个测试板(接近TP12)。

JTAG接口剖析

当我们看到左上2行5列圆形测试板时,我们马上想到“JTAG”,但说实话,晓得这个是没有任何意义的。你能够在左上角看到有一个2-20个插槽衔接器,我们疑心它能够用来疾速衔接到JTAG编程器并闪存装备。

我们将电线焊接到测试焊盘上并启动一个JTAGulator(它是个自动化寻觅 JTAG 引脚的东西),测试图以下:

经由测试,这就是JTAGulator所说的引脚

猎取装备的ID获得以下输出:

JTAG > d
TDI not needed to retrieve Device ID.
Enter TDO pin [1]:
Enter TCK pin [4]:
Enter TMS pin [2]:
All other channels set to output HIGH.
Device ID #1: 0000 0001001010000001 00000100001 1 (0x01281043)
-> Manufacturer ID: 0x021
-> Part Number: 0x1281
-> Version: 0x0

经由一些搜刮,我们发明它像一个莱迪思半导体公司临盆的装备,而不是ATMEL公司临盆的装备。

我们不确定究竟发作了什么,但它确切住手了JTAG罗列和其余部份的衔接:

> halt
halt
Halt timed out, wake up GDB. timed out while waiting for target halted

串行接口剖析

接下来,让我们用另一组看起来很风趣的测试板来接着测试。对我们来讲,一排三个既能够示意串行接口,也能够示意串行调试(SWD)接口,所以起首要做的是将Saleae逻辑剖析仪衔接到三个引脚上,看看发作了什么。

这三个引脚可经由历程装备底部接入,以至在塑料外壳上有一个瘦语。

我们把一些电线焊接到板子上,并将它们衔接到Saleae,看看是不是能读到能够协助我们的东西:

实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)

为了清楚起见,来一个放大图:

能够看到,BOOTLOADER历程最先了!BOOTLOADER平常分为2部份,汇编部份和c言语部份,汇编部份实行简朴的硬件初始化,C部份担任复制数据,设置启动参数,串口通讯等功用。在嵌入式操作体系中,BootLoader是在操作体系内核运转之前运转。能够初始化硬件装备、竖立内存空间映照图,从而将体系的软硬件环境带到一个适宜状况,以便为终究挪用操作体系内核准备好准确的环境。

如今我们需要把注意力放在怎样让设置具有交互性。我们翻开USB >串口,把电线接上,用一个通用终端衔接到装备上:

能够看出,是Linux 3.2.11版本(2012年的版本,太老了)。不过,我们也能够住手启动历程,愿望是一个shell:

MMC: mci: 0
In: serial
Out: serial
Err: serial
Net: macb0
Hit any key to stop autoboot: 0
Net: enable eth switch
U-Boot> help
U-boot console is locked
U-Boot> ?
U-boot console is locked
U-Boot>

以上并非我们想要的,继承:

U-Boot> unlock pw
Var pw not def
U-boot console is locked

以上的内容才是我们想要的!

本文,我们讲了IoT路由的装备在理论上的平安性和能够的平安破绽。下篇,我们就来实测一下。

本文翻译自:https://www.pentestpartners.com/security-blog/ewon-flexy-iot-router-a-deep-dive/


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明实测一款IoT路由的安全性怎样?从web到硬件,我们进行了周全的破绽发掘和剖析(上)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址