首页 » 通讯 » 海外 | 若何控制你的家用TP-LINK交换机?_密钥_装备

海外 | 若何控制你的家用TP-LINK交换机?_密钥_装备

南宫静远 2025-01-17 09:30:49 0

扫一扫用手机浏览

文章目录 [+]

不久前我买了一个小型的TP-LINK TL-SG105E (版本 1) 交流机用于测试。
这台交流机具有的端口镜像功能,可以将所有数据从一个端口发送到另一个端口,从而让我便捷、高效地嗅探到端口上通过的数据。

这并不是一篇关于端口镜像的文章,而是关于交流机管理界面以及如何解码管理设备的通信流量并从中获取信息的文章,例如下文将提到设备的登录凭据等内容。

海外 | 若何控制你的家用TP-LINK交换机?_密钥_装备 通讯

你可以看到,这款交流机是作为基本家用设备来设计的,没有什么花哨的web界面,利用程序也是大略智能配置的实用程序,方便用户通过定制协议来配置交流机。

通信流量

我在利用交流机的时候通过Wireshark打开了网络嗅探器,下面是一张被嗅探到的会话截图:

要弄清楚截图中的内容,重点看截图最下方的两个会话,它涵盖了条记本电脑(192.168.0.2)与交流机(192.168.0.1) 之间通过29808/udp端口进行的通信。

最先跳出来的信息都被发送到了255.255.255.255的广播地址,截图如下:

这就意味着该子网络内的所有设备(即连接到交流机上的任何设备)都会收到此数据!

这是我没想到的。
换个思路,我们也容许以盗取交流机凭据,再来看一下数据流:

情形不妙,这些数据流被编码了。
我们可以看到数据重复了,如果利用数据包的十六进制视图,结果就一览无余了:

把稳以5d 74开头的每一行(即每个数据包),意味着存在一个大略的恒定加密模式,要么是大略地利用XOR重组或更换,要么便是静态密钥加密。

接下来,要解码这段数据,须要检讨运用程序是如何加密数据的。

解码运用程序

在对安装的运用程序进行快速检测之后创造,该程序是用java编写的,并且被编译成了一个可移植、可实行的PE文件。
该文件可以在7-zip中打开,提取出编译好的Java classes:

一旦被打开,class文件就可以被提取到一个临时目录中,然后用 jd gui 工具来打开。
这是一个图像化的前端jd Java编译器。
搜索反编译后的class文件,你会创造,搜索指向了com.tplink.smb.easySmartUtility.RC4 class,你可以在里面找到其加密的算法,以及用于加密的密钥:

现在我知道了加密数据的算法——它利用的是一个静态密钥,并且我也知道了密钥。
以是下一步便是:

解密文本

由于我

5d746a047dbeb0b2971adf7535477e53422ba2f5d78baeed508f463dc202909aa4ec81c65d75ae6a62b7dd37971adf7535477e5c422ba2f5d787aeed508f463dc202909a521281c6d8d52b365d77ae6a62b7dd37971adf7535477e5f422ba2f5d797aeed508f74b0c202909a591381c0464e465f27d942b5a44608403418222a80b19b775d75ae6a62b7dd37971adf7535477e5e422ba2f5d787aeed508f74b0c202909a5b1981c6d8d52b365d75ae6a62b7dd37971adf7535477e59422ba2f5d787aeed508f74b0c202909a5b1181c6d8d52b365d75ae6a62b7dd37971adf7535477e58422ba2f5d787aeed508f74b0c202909a5b1a81c6d8d52b365d75ae6a62b7dd37971adf7535477e5b422ba2f5d787aeed508f74b0c202909a521281c6d8d52b365d77ae6a62b7dd37971adf7535477e5a422ba2f5d793aeed508f4e5cc202909a591381c0464e465f27d942b5a44608403418222a7c4e9b77c7eb76085d75ae6a62b7dd37971adf7535477e45422ba2f5d787aeed508f4e5cc202909a491381c6d8d52b365d75ae6a62b7dd37971adf7535477e44422ba2f5d787aeed508f4e5cc202909a6b1381c6d8d52b365d75ae6a62b7dd37971adf7535477e47422ba2f5d787aeed508f4e5cc202909a6b1281c6d8d52b365d75ae6a62b7dd37971adf7535477e46422ba2f5d787aeed508f4e5cc202909a7b1381c6d8d52b365d75ae6a62b7dd37971adf7535477e41422ba2f5d787aeed508f4e5cc202909a1b1381c6d8d52b36

每一个换行符终止线都代表一个数据包。
由于每一行的开始都是相同的十六进制值(用于加密每个数据包),以是我们可以用一个循环逐句破解。

我在github上发布过一个用python编写的通用的RC4函数,详细文章如下:https://github.com/pentestpartners/snippets/blob/master/decode-sg-105e.py。
为防止脚本“小子”轻易地滥用它,我已经删除了密钥。

下面是利用python解密数据流的过程:

红框突出显示的内容是管理员凭据(admin:admin)。
从这里入手,我就可以轻松掌握交流机了。

安全防护

这是个安全问题吗?如果你利用这一款交流机,或是它的加强版本(the SG-108e),这可能是个问题,你须要知道它的数据流并不屈安。

从理论上来说,你可以在上面配置一个 VLAN ,然后只利用一个接口作为管理接口,这样就可以办理安全问题。

我与TP-Link的支持者进行过谈论,为了担保我没有误解他们,我会直接引用如下:

1.在设备和交流机之间广播发送通信

在工业中实用设备间最常见的通信办法便是广播,其它产品,例如Netgear,利用的也是这一办法。

众所周知,广播存在一些缺陷,但是这些缺陷的条件都是由于局域网不足安全。

在大多数情形下,局域网都是个相对安全的环境,我们将在局域网前端设置NAT路由器和防火墙,这样可以阻挡大多数攻击。
防火墙和安全软件可以保护我们局域网的安全,但是当局域网不再安全时,纵然我们不该用广播,其他办法(比如ARP欺骗)同样也可以获取设备与交流机之间的通信流量。

2.逆向解码及静态加密

我们的智能交流机是家庭和小型办公用品,以是配置的芯片并没有很高的安全性。

正如你所知道的,实用程序是用java编写的,这意味着反编译是无法避免的,只要知道若何操作,任何人都可以做到。
这是java普遍性带来的一定结果,我们不可能改变这一点。
以是我们的研发职员须要考虑在代码中添加更多的防护,来确保交流机更加安全。

从设备特定用场的角度来说,TP-Link支持者的态度是可以理解的。
虽然我希望管理通信利用的是单点通信,而不是广播,但是这并不会影响我购买和利用这款交流机。
——————————————————————————————————————

本文由e安在线独家翻译,本文章及图片出于通报更多信息之目的,属于非营利性的翻译转载。
如无意中陵犯了某个媒体或个人的知识产权,请联系我们,我们将立即删除。
其他媒体、网络或个人从本网下载利用须自大版权等法律任务。

原文链接:https://www.pentestpartners.com/blog/how-i-can-gain-control-of-your-tp-link-home-switch?sukey=3997c0719f151520f73f91b1ce54de0baa3783fdf686e66eb19e15b8fe701b709920fdd29245d3103e3baa1561c1d74d

标签:

相关文章

树莓派格斗芯片2.0版介绍_接口_摇杆

再先容一下这些接口,这边便是插灯光的,这个是插屏幕的,这两个是插usb的接口,一个4P的,一个5P的。5P的多了一个屏蔽层,4P没...

通讯 2025-01-19 阅读0 评论0