物聯網安全硬體修改系列-硬改
來自專欄伏宸安全實驗室2 人贊了文章
文章目錄
- 前言
- 硬改路由器刷openwrt2.1. 修改方案2.2. 更換內存晶元2.3. 刷編程器固件2.4. 更換快閃記憶體晶元
2.5. 硬改完成
- 體外分離硬破攝像頭3.1. 修改方案3.2. 拆存儲晶元3.3. 飛線晶元燒錄座3.4. 燒錄固件3.5. 硬破成功
- 魔改小米5手機加6G內存4.1. 修改方案4.2. 拆機4.3. 拆內存晶元4.4. 植錫球
4.5. BAG焊接
4.6. 魔改完成 - 《物聯網安全百科》
前 言
硬體層面的修改在現實生活中是相當常見的事情,所謂的硬改、魔改、硬破等等說法,指的就是在硬體層面對設備進行diy功能改造。例如針對傳統路由器的硬體架構,替換大容量的內存和快閃記憶體晶元,使之能夠刷openwrt系統;對某些設備進行配置層的升級,如iPhone,小米等手機內存擴容,使之具有更大容量的存儲空間和運行內存; 以及對設備的破解,例如ps,xbox等遊戲主機系列的硬破、軟破,還有對各種加密錄音筆,攝像頭,加密U盤和硬碟的破解。
研究硬體修改對硬體diy改造,以及廠商在硬體層的安全防護具有非常重要意義。硬體層修改分為硬改和軟改兩個部分,硬改是對硬體中晶元和電路的改造、替換等,軟改是針對晶元固件的修改、重打包等。本節將用具體的幾個實例展示如何對設備進行硬改。
硬改路由器刷openwrt
修改方案
目前市面上主流的路由器,平時家用功能或許夠用,但如果需要一些高級功能,比如屏蔽廣告,掛vpn等等又難以實現,而採用openwrt系統可以充分滿足定製化和diy的需求,openwrt是一個高度模塊化、高度自動化的嵌入式Linux系統,擁有強大的網路組件和擴展性,但如果專門購買openwrt系統的路由器,價格卻又不是十分親民,如果能把傳統路由器通過硬體修改,刷入openwrt系統,就是個低成本的解決方案了,本次用來硬改的路由器具體參數如下:品牌:TP-Link, 型號:WR842N,版本:v4.3,採用高通QCA9533的主控,16M的快閃記憶體、2M的flash晶元,雖然是老機器,但除了不能外接usb,基本滿足需求,當然價格也便宜。
不得不說TP-Link最近出的機器,硬體縮水越來越嚴重,新的機器,快閃記憶體都集成到了CPU裡面,基本沒有硬改的空間了。
更換內存晶元
openwrt系統最低硬體配置需要32M內存+8M存儲晶元,因此需要更換機器上對應的兩塊晶元,下圖紅框部分。
首先更換內存晶元,換上64M內存晶元,新手的話,建議通過風槍來拆晶元,先用膠帶保護一下晶元周圍的元件,防止吹飛掉,加點助焊膏,溫度稍微高一點。
晶元拆下後,先清潔一下焊盤,用吸錫線去掉焊盤上殘餘的錫,使焊盤平整,便於對齊晶元引腳。
清潔完成後,換上64M晶元,注意晶元上的小圓點就是第一腳,需要跟焊盤上的右下角的小圓點對齊,方向不對,晶元就白焊了。
對齊晶元後,先上一點錫,把晶元固定住,然後塗上助焊劑,為了防止引腳錫粘連,建議助焊膏多放一點,然後採用堆錫法,烙鐵頭採用彎頭,便於拖動焊錫,溫度稍高一點,一般無鉛錫絲溫度在380左右,否則焊錫拖不動,注意錫要適量,否則處理起來比較麻煩,用烙鐵頭的彎曲處沿著引腳朝一個方向拖動,可能會有剩餘的錫處理不掉,可以用吸錫線處理。焊好一側後,繼續用同樣的方式焊另一側,全部焊接完成之後,讓晶元自然冷卻後,用洗板水或無水酒精清洗乾淨。
先通電測試下路由器工作是否正常,如果亮燈不正常,就需要補焊一次。
確認路由器工作正常,接下來拆下flash晶元,同樣用風槍,拆下後,處理一下焊盤。
刷編程器固件
在恩山上下載了LEDE17.1的編程器固件,支持WR842N型號路由器,明月固件也可以,然後把bin文件通過編程器刷進晶元中。
晶元放置在燒錄座中,用燒錄座連接編程器。
編程器刷入固件。
更換快閃記憶體晶元
把燒錄完成後的晶元取出,然後焊接上,同樣注意引腳的方向,晶元上的小圓點為第一腳,對準焊盤上的第一腳,加點助焊膏。存儲晶元引腳間距較大,用烙鐵頭粘上一點錫,採用點焊法即可焊上。
硬改完成
全部焊接完成,把板子清潔一下,重新通電測試,路由器正常,搜索到wifi信號後連接,後台地址:http://192.168.1.1/ 默認用戶名和密碼;root、root,登錄進去,一切正常,說明硬改成功。
openwrt刷好後,需要先修改密碼,然後開啟一下ssh,就可以用ssh登錄管理了,網上很多編譯好的安裝包,根據自己的需要安裝。
體外分離硬破攝像頭
修改方案
在對某品牌智能攝像頭進行串口調試時,發現廠商對串口進行了加密,需要輸入root密碼才能登陸系統。
嘗試讀取固件中的shadow文件,隨即拆掉晶元進行固件讀取,飛線讀寫的成功率不高。
成功提取固件,找到密碼,卻暴力破解不了,可行的方案是修 改密碼然後重新打包固件在刷進晶元中了,改完密碼後,重打包在刷進去。
然而事情並不簡單。
固件修改重刷之後,通電測試發現攝像頭並不能啟動,排查問題根源在於固件重打包過程出了問題,內部可能也有校驗,反覆多次試驗後,出現了意料之中的事情,因為攝像頭較為廉價,PCB做工用料並不是十分優秀,反覆拆焊導致焊盤損壞,晶元焊上去出現短路、斷路等等問題,絕緣層脫落,採用飛線也無法解決,機器徹底報廢,最終出現了如下屍橫遍野的結果。
拆存儲晶元
固件修改重刷是難以一次修改成功的,報廢過多,造成太多的浪費,最終想到採用全部焊點飛線到燒錄座上,在把晶元放在燒錄座上,只要保證焊接不出錯,飛線距離夠短,就能保證焊盤不受損壞,固件也可以反覆燒錄測試。
首先拆掉晶元,周圍同樣採用膠帶保護一下。
飛線晶元燒錄座
飛線採用很細的漆包銅線,線長控制在10厘米以內,颳去漆包線頭的絕緣層,然後依次飛線焊接,注意焊盤和燒錄座引腳的順序。
飛線完成後,用熱熔膠固定好焊盤和飛線,防止焊點脫落。
通電測試,發現機器一切正常,說明改造成功。
燒錄固件
繼續修改固件測試,修改的細節在之後固件修改章節會詳細說明,因為晶元放在燒錄座上,可以輕易的取下重刷,極大的提高了效率,最終成功修改好密碼,固件刷錄,機器開啟正常。
硬破成功
用修改之後的密碼成功登陸進行串口調試,繼續更深層次的安全檢測,此處調試介面RX、TX焊點已引出,方便接線。
魔改小米5手機加6G內存
修改方案
小米手機一向以性價比著稱,但其中的小米5作為2016年的旗艦機,卻受到頗多的詬病,核心在於採用的是高通驍龍820的CPU,高配版的內存RAM都只有3G,導致手機運行中不是很流暢,鑒於內存過低,因此準備魔改成6G內存,本次更換的晶元為三星K3RG6G60MM-MGCJ-LPDDR4-6G內存晶元。
拆機
說干就干,小米5的話,還是很好拆的一種機型,後蓋可以直接打開,然後把螺絲、排線、電池一一取下,主板拿出來即可,注意電池因為背面貼有雙面膠,一定不要用蠻力,否則可能損壞底部的排線和屏幕。
主板取下後,沒有被屏蔽罩保護的就是內存晶元,揭開散熱墊,小米5自帶的內存晶元型號為:海力士skhynix-H9HKNNNDGUMU-BRNMH-3Gbit-LPD4。
拆內存晶元
拆內存晶元要注意保護好周圍元器件,貼上高溫鋁箔紙,塗上焊膏,風槍先給板子預熱幾秒,然後在距離晶元1厘米左右位置,沿著晶元四周按照同一個方向轉動,使晶元均勻受熱,防止爆板和爆片。
取下晶元後,清潔焊盤。
植錫球
BGA焊接,植錫球是關鍵,植錫之前,必須把植錫網清潔乾淨,選用合適的錫球和BGA專用焊膏,先把晶元塗上一層焊膏,塗抹要均勻,注意不要過多,以植錫網覆蓋上去後,焊膏不能溢出植錫網孔為準,否則會粘連錫球,選用0.25的無鉛低溫錫球,把晶元在植錫台上放好,然後蓋上植錫網,要對準晶元的焊點,然後蓋上固定蓋。倒進錫球,稍微晃動一下,使錫球均勻的分布在網孔里,然後倒掉多餘錫球,取下植錫網,在用熱風槍加熱植好錫球的晶元,使錫球固定,注意要緩慢移動風槍,風嘴距離晶元要稍遠一點,防止錫球吹飛。
BGA焊接
先給焊盤均勻的上好一層焊膏,植好錫球的晶元,對準主焊盤,然後放置到BGA返修台上固定好,先100度預熱烘乾,在執行BGA焊接曲線。
焊接完成後,使板子自然冷卻,然後清洗乾淨。
魔改完成
裝機,然後開機測試,一切正常,說明魔改成功。
《物聯網安全百科》
伏宸安全實驗室發起的開源圖書《物聯網安全百科》已經初步上線了,書中記錄了實驗室最新的一些研究成果和方向,以及物聯網安全研究從基礎到進階的一些經驗和知識,希望對有志於物聯網安全研究者能起到一點的幫助,開源圖書項目也希望能夠得到大家的支持,一起參與去豐富內容,使之更加完善。
百科地址 https://iot-security.wiki
https://iot-security.wiki (二維碼自動識別)
物聯網安全基礎系列
1、
伏宸安全實驗室:物聯網硬體安全分析基礎-硬體分析初探2、
伏宸安全實驗室:物聯網硬體安全分析基礎-固件提取3、
伏宸安全實驗室:物聯網硬體安全分析基礎-串口調試伏宸安全實驗室-主頁
新浪微博:伏宸安全實驗室
微信公眾號: 伏宸安全實驗室 (微信搜索「伏宸安全實驗室」關注即可)
推薦閱讀:
※看我如何找到Deutche Telekom本地包含漏洞(LFI)
※某靜態頁面xss挖掘過程
※約會應用也不放過?利用參數污染漏洞繞過IDOR
※史上最嚴重的DDoS攻擊,GitHub已中招
※逝者黑客:那個讓ATM瘋狂吐錢的傑克