上周,我收到了一位同事发来的图片。
我让他拔掉电源插头,把它储存在一个安全的地方,拍下所有部件的照片,然后用SD卡制作镜像(因为我大部分时间都在远程工作)。我做过很多树莓派的项目,我相信我能找到它的作用。
3个部分
1.Raspberry Pi b第一代
2.一个神秘的USB加密狗
3.一张16GB的SD卡(速度很快)
要做的第一件事:询问每个可以访问此网络的人,因为能够进入的人数非常有限。只有4个人:
1.管理者
2.地勤人员
3.我的同事
我他们都不知道这一点,所以我问我的IT同事,他们和我一样困惑。我听说人们得到报酬,把这样的东西放在他们不应该的地方,因此我很想知道它实际上做了什么。
USB加密狗是什么?
为了帮助我解决这个问题,我问了reddit,当然他们确定加密狗是一个微处理器,几乎和Rasberry Pi本身一样强大:nRF52832-MDK。一个非常强大的wifi,蓝牙和RFID阅读器。
毫无疑问,这是为了给老树莓派提供wifi和蓝牙连接。太好了,现在这个东西也有wifi了。
SD卡镜像
SD卡有几个分区。大多数ext4(linux)和一个fat16(boot)
我的debian盒子告诉了我第一个重要的线索:这是一个resin装置:
WTF is Resin?
Resin(现在更名为Balena)是一个付费的IOT Web服务,您可以在其中为IOT设备生成镜像,部署这些设备并从resin中获取更新和数据。Resin还在设备上安装VPN,以便安全地传输收集的数据。很明显,这款设备注定会被再次使用,因为它会留下痕迹,因为它的服务是付费的。
分区有猫腻
第一个分区叫做“resin-boot”:
看到吸引你眼球的东西?我们发现有一个config.json
。
我们可以从这个文件中提取什么:
部署到该resin设备的应用程序称为“logger”。不是一个好兆头;
我们有一个username。这似乎是与此设备关联的resin帐户的用户名;
确认设备通过端口443 使用VPN;
注册日期。它是在2018年5月13日注册(或首次部署或设置?)。
关于该用户名
当我用googled搜索在config.json文件中找到的那个用户名,我在同一个城镇找到了一个找到此Pi的人。然后该公司检查了他们的记录,但没有找到任何结果。奇怪的是,我在2001年找到了一个网站,其中“有天赋的孩子”的父母写了关于他们的文章,并且出于某种原因用他们的家庭住址和电话号码签署这些文章。所以我有一个名字和整个家庭的地址。
这可能是一个错误的引导,因为用户名往往被多人使用,但让我们记住这个名字。
resin-data
数据目录没有存储任何数据(如:收集的数据),但是有一个nodejs应用程序被严重混淆,直到今天我还无法确切知道它在做什么。它似乎通过串口连接到加密狗,但我无法提取实际收集的数据。我只能假设它收集了该区域(经理办公室周围)的蓝牙和wifi设备的移动配置文件,并且可能是原始的无线数据包。但我发现了一些更有趣的东西:一个LICENSE.md
文件:
奇怪,为什么这个nodejs应用会包含一个机密软件?我从版权页上谷歌了一下,你猜怎么着?除了我之外,为什么公司的联合创始人会在城镇周围分发这些设备呢?
获取攻击者的家庭住址
我发现的另一个非常有趣的事情是resin-state
路径中第三个分区上的文件/root-overlay/etc/NetworkManager/system-connections/
。该文件名为resin-wifi-01。
它包含wifi的wifi凭证,用于设置设备(或测试它)。绝对不是公司的无线网络。当我们想要找到与wifi名称相关的位置时,我们该怎么办?我们去wigle.net,输入SSID(= wifi名称),它会告诉我们在世界的哪个地方可以找到它。
你猜怎么着?我们找到那个天才父母的地址了吗?根据Wigle.net,Pi就是在这里建立的。
后果
我查看了DNS日志,找到了Pi首次在网络中看到的确切日期和时间。我检查了RADIUS日志以查看当时哪个员工在该处所,并且我看到多个错误消息,已停用的帐户尝试连接到wifi。这个已停用的帐户属于前雇员(由于某种原因)与管理层达成协议,他可能仍然拥有一个密钥几个月,直到他将所有东西搬出大楼。
现在怎么办
法律已经接管,我尽了自己的责任,其余的都超过了我的工资等级。对我而言,这是一个非常有趣的挑战,我要感谢reddit上的每个人,他帮助我完成了一个难题。
*参考来源:haschek,由周大涛编译,转载请注明来自FreeBuf.COM