對於OsmocomBB也是被國內外大神玩得不亦樂乎。什么重定向攻擊,中間人攻擊。都是N年前的東西咯。當然鄙人不會這些。對於地下市場無非就是獲取對方短信小則“老。虎。機”,大則支付寶。某日翻了翻“咸”魚,居然還有存在。於是乎我決定討論下一個稍微算是有搞頭的玩法。本文涉及一些基礎編程和PCB設計以及SOLIDWORKS的3D建模。
其次下文只對軟硬件設計作為學習,各位大神就別噴我了。
有人說現在都4G,5G了,還用什么GSM網絡,這里就用到一個名為屏蔽器的東西了。仁者見仁,智者見智。
源代碼以及3D打印的文件見文末只用於學習研究。因為完整版我早已丟到天涯海角。
PCB設計:
整體思想及其簡單,用FE8.1芯片作為USB擴展分給4個CP2012供給C118使用,還有1個CP2012直接使用nanopi_duo的USB。CP2012在數據准備后會給DTR腳一個低電平,這里就是做到自動化的關鍵了,其次每個C118的電流單獨使用gpio控制。我用S9013三極管作為開關。這樣后面的程序就可以通過分析日志來控制C118了。nanopi_duo就不多說了,就是一電腦,通過WiFi連接到我手機上控制設備。
整一塊pcb設計有些坑需要注意的是USB分叉線,晶振,還有那個FE8.1的10uF電容的天坑!這粒小玩意必須離芯片足夠近,不然會導致芯片停止工作等等一些列問題。
還有就是FE8.1的地線通過磁珠過掉一部分干擾,這也是穩定運行的關鍵。
只要看到穩定的正玄波,那就可以了,為此打樣了N次,還用上高標准的沉金工藝~~!原理圖見文末。
程序編寫:
工欲善其事必先利其核心!
nanopi_duo的系統內核是不開啟對cp2012的支持的,這也就是為何接主板工作了系統卻不識別cp2012的主要問題。知道問題所在那好搞,我們下載linux的源碼。重新編譯個內核給它添加個CP2012的驅動不就行了。linux內核的具體編譯過程這里不討論..
USB Serial Converter support —>USB CP210x family of UART Bridge Controllers
make內核后把原有的給替換即可。
然后框架分為兩個主體,一是WEB用於用戶互交,二是C程序用戶啟動化以及抓包分析入庫…
主要講解下自動刷機檢測以及抓包分析的C程序片段,程序見文末。
函數FlashInitialization()為主要,檢測通過分析C118刷機日志是否字符串”starting up”,沒有那就gpio拉低重啟C118。直到刷機成功為止…
下面這個片段則是啟動5個ccch_scan來抓取GSM數據流,以及調用tshark對端口4729進行抓包切把內存保存下來用於等會的分析,
tshark會實時把抓到的數據過濾出gsm_sms包保存下來,程序只需要分析關鍵字抓取片段即可,比如關鍵字“SMS text”這就是短信內容的開頭。
以上就是兩個主體片段。
WEB設計我用了bootstrap,也是簡單易學,主要通過mysql記錄,庫里做標志位,這樣一樣即使關掉手機也不影響系統運行。
機器組裝:
像我這些偏執狂,對SOLIDWORKS的3D建模也是必須掌握的了,設計好后丟3D打印機了4小時出樣。同樣的設計文件見文末。
整機的主要涉及到一些射頻知識,就是對於把天線外置還沒什么,把天線內置則要重點考慮擺放位置了,多一個角度,少一個角度都影響信號的強弱。還有不能靠近高頻電路。
最底層放置鋰電池,以及電源管理,側面放置20mm散熱器以及i2c時間模塊,剩下就是nanopi_duo和五個C118了。過程一律帶過,看圖安裝。
視頻里屏蔽器的作用在於將3G4G網絡迫降到2G
源代碼:https://pan.baidu.com/s/1eTR1AZg
參考文獻: