製作HackCube中的坎坎坷坷
- 2019 年 10 月 7 日
- 筆記
初試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/