制作HackCube中的坎坎坷坷 – 作者:LEdge1

初试HackCube

由于自己对于无线电方面的信息安全的热爱。在中秋放假之前自己按照360无线电无线电研究院的帖子DIY了一个hack cube。这个hack cube我只使用了其中的一部分,很多部分我都没有DIY。主要还是不是很感兴趣。包括里面的NFC,2.Gh我都没有,我只为了研究1Ghz以下的频段。

在接下来的文章中,我将会从开始电路焊的连接,程序烧写,测试运行。

首先说一下电路的连接的问题:

虽然在原帖上已经有了电路的连接方式,但是在这里我还是将连接方式图全部贴了出来,这方便大家查看。

由于我在这里之使用了CC1101的设备,其他的我都没有DIY,我在这里也就不多做叙述。

这里我先附上我自己做的小设备吧,虽然很丑,但是在后面的测试中一点问题也没有。我准备把我制作的设备放到一个的蓝牙耳机充电盒子里面。这个盒子有两个漏在外面的usb_A,mircousb的接口。这也方便使用HID攻击,同时也很小巧。

电路连接

在电路连接的时候我发现了两个问题,第一就是供电问题,其次就是我买的CC1101的芯片不是帖子里面的同一款,所以在连接的时候,接线错误,导致了我报废了一块CC1101的芯片。

首先说一下电源问题吧,在起初的调试过程中我每个模块都是独立供电的。arduino我使用数据线接在我的笔记本上,esp8266我链接上了另外一台电脑,而CC1101模块,我使用我的一根串口线进行供电。不要问我为什么使用串口线进行供电,你去查看一下CC1101的数据手册就知道了。这里给出的是CC1100的,但是他和CC1101的工作条件是一样的。

算了还是贴上来吧,不能超过3.6V。起初我为了方便我直接上了5V电压,结构最后完工的时候一直不能出现正确的结果,我就一步步的排查,最后发现CC1101竟然没有工作,而且发热。我一拍脑门才想起来。希望大家在自己制作的过程中不要出现我一样的错误。我在这里已经给大家上了一课了。当然了如果按照我那样的连接方式会使得电源供电很复杂,所以我使用ESP8266作为电源适配器,有些人会问为什么不使用arduino呢。那样的话HID功能就受限制了啊。ESP8266模块上面搭载了一块AMS1117 3.3的稳压设备,这恰好给CC1101供电。直接使用数据线给ESP8266供电,之后上面的稳压管提供3.3V给CC1101,同时还可以给ARDUINO供电。这样ARDUINO的USB口就空了出来,方便使用HID攻击。

程序烧写

这里就是对arduino和esp8266进行烧写了,按照帖子上面的方法,esp8266也是使用arduino的IDE进行烧写。由于有专门的ESP8266的烧写工具,我就没有使用arduino的IDE进行烧写了。

在这里我会解决几个我在烧写过程中遇到的问题。

第一个无法在Arduino下安装esp8266的板子。

按照网上的要求,只要在开发板管理器里面添加上esp8266的网址就可以了,可是我在电脑上死活搜不到那个板子,最后只好放弃,找到了esp8266的烧写工具NODEMCU

这个工具还是很方便的,不需要做过多的选择,起初我并没有想起来使用这款工具,我想到的是使用串口线直接写固件,发现要RST重置,我试了好几次才成功,回来想到使用专用的烧写工具,没一会就烧录好了固件,完成只好我使用手机连接上了HACK CUBE*****的WiFi热点,登陆192.168.5.1进入后台,正常之后我才给arduino烧录程序。再给arduino烧录程序的时候还是很方便的。

直接选择就好了。然后打开从GitHub上down下来的源码,编译上传。可能大家自己在编译的过程中会遇到一些头文件包含问题,大家只要安装相应的库文件就好了,由于平时喜欢捣鼓各种小东西,所以该有的都有,所以在这一步没有遇到什么问题。

在上传的时候大家一定要选择对应的端口啊,由于我电脑上插了两根串口线,加上自己没有注意,导致了我烧录了很久也没有成功。最后才发现自己ESP8266的串口线还插在电脑上,索性给拔了。这才把arduino程序成功烧录进去。

如果大家经常烧录程序的话,烧录程序应该不会难道你。

测试运行

由于我只安装了CC1101,所以我的目标也只是我的遥控器。玩一玩重放攻击什么的。HackCube的效果大家应该都知道,我的也没什么问题,就是有时候拦截不到,最后发现问题就是频率必须精确一点,比如我有个遥控器是430.794mhz,我填写了430死活没反应,最后把频率填写精确之后才能有效果。

试了一下暴力破解效果也不错

玩了一晚上之后发现了个问题就是CC1101发射出来的频率和我填写的频率不一致。我在对我的SDR校准之后重新进行了实验还是不对,我就产生了兴趣,开始研究了一下。比如说我干扰900mhz但是sdr上面显示CC1101发射出来的频率是899.919mhz。如果这要是在实战过程中是会出问题的,为了具体的找出频率之间的关系我测试了很多组,最后发现实际频率也就是SDR测试出来的频率和我想发射出来的频率之间关系,使用了高中学习的最小二乘法找到了其之间的关系。

随着测试频率增高,误差也越来越大。为了解决这个问题我索性写了一个C语言的小程序。

这里只能人工修正,最近正在研究hackcube里面的代码,尤其在CC1101那块真的复杂。对寄存器的配置还是有点问题。希望能通过修改hack cube里面的代码最后可以之间发射出我们想要的频率。这样在实战的时候就不要人工修正了。

最后我收集了一些CC1101的资料,里面有arduino,51,stm32 的测试代码,还有一些中文资料,如果大家需要的话,大家在下面留言评论,我会发出来的。

由于我拍摄的照片尺寸太大了,所以我一张也没有上传上来,加上最近学业紧张。没有过多的时间花费在其他上面,我还得继续为我的六级英语做准备。最近买了一本《无线电安全攻防大揭秘》准备闲暇时光来翻翻,结果一直放在书架上还没动过。

如果大家还有上面问题的话,也可以在下面留言评论。我也是个小白,但是我很希望能一起研究问题,最好能解决问题。

结束语

最后贴上网址,里面有很多优质的帖子,大家可以到论坛里面多交流。

https://unicorn.360.com/hackcube/

*本文原创作者:LEdge1,本文属于FreeBuf原创奖励计划,未经许可禁止转载

来源:freebuf.com 2019-09-23 12:40:44 by: LEdge1

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论