網絡故障(network failure)是指由于硬件的問題、軟件的漏洞、病毒的侵入等引起網絡無法提供正常服務或降低服務質量的狀態。 我今天從客戶那里收到一個Tenda路由器,發現使用它時流量異常,并懷疑它已植入第三方程序中。讓我們協助分析。讓我們一起開始分析之旅。 一、固件提取 此Tenda路由器是n301版本(2013年發布的產品)。要分析路由器,首先要做的是提取固件。 拆卸機器,發現路由器的閃存芯片為25Q16,容量為2m。直接使用芯片的引腳夾會導致各種不規則現象,這可能是由于接觸不良或將Flash芯片的IO電壓拉低和拉高而導致的,并且尚未讀取芯片數據。 最后,我們使用熱風吹干閃存芯片,然后使用芯片座進行讀取。此方法是最有效的方法,但必須具有良好的焊接技術,否則無法將芯片焊接回去,從而使設備變成磚頭。幸運的是,該技術已通過。提取固件后,將芯片焊接回去,路由器即可正常工作。 二、系統提取 獲取固件后,使用Binwalk分析建議的固件。固件包含CFE和ECOS系統的兩個部分; CFE:A7A4,基于MIPS芯片的Broadcom引導加載程序 ECOS:2001C,ecos操作系統模塊,路由器核心代碼也在其中 使用binwalk對2001C進行進一步分析,我們可以找到更多信息。固件采用MIPS的小端格式。 使用IDA分析系統,選擇MIPS Little Endian方法,然后打開固件2001C。 IDA加載固件后,發現無法正確識別該功能。經過分析,這是因為未設置ROM的起始地址。通常,當路由器啟動時,啟動固件程序會打印出這些有用的信息,并且要查看此信息,您需要找到UART以通過TTL連接到計算機。 三、 UART識別 在此路由器的主板上看不到標記的UART接口。在這種情況下,您可以搜索主芯片的DataSheet以找到相應的UART引腳,或測量端口電壓方法(詳細描述了“秘密家用路由器0day漏洞挖掘技術”),然后觀察電路圖,并然后焊接飛線接口。該評估板中使用的芯片為BCM5357,搜索后未找到公共DataSheet。據推測,主板上標記的幾個TPN接口可能是其調試接口。 UART只需要三個接口,而GND,TXD,RXD只需要找到正確的GND和TXD,就會有輸出顯示。 第一步是找到GND。這是最簡單的一種。使用萬用表進行測試。連接到天線的點是GND,或者您可以直接從天線懸空一根導線。 第二步是找到TXD。您可以使用萬用表電壓測量方法輕松找到TXD。下面介紹如何猜測是否沒有普遍使用。啟動路由器后,將打印出信息(如果完成輸出屏蔽,則可能沒有任何信息)。觀察路由器主板,并在TPN上標記最可疑的點。取出TTL并開始測試。使用Dupont公頭和母頭電纜,插頭連接到TTL的RXD,主板的GND連接到TTL的GND。將杜邦線的公連接器接觸到其中一點,然后打開路由器的電源。打開時,串行端口的數據輸出為TXD。此處發現TP2為TXD,輸出亂碼,波特率調整為115200,輸出正確。 第三步是找到RXD。該方法基本上與TXD相同。區別在于RXD是輸入端口。測試期間回顯的輸入為RXD。測試發現RXD是TP1。 找到接口。剩下的就是焊接飛線進行連接。 啟動路由器,檢查打印的啟動信息,并發現固件開始執行的地址為0×80001000。 四、 IDA功能識別修復 IDA打開固件并將ROM的起始地址設置為0×80001000。 打開IDA 7. 0后,無法識別該功能。在開始位置按P即可成功解析該函數??,但此函數尚未完成。您仍然需要手動解析無法識別的位置。后來的測試發現IDA 6. 8可用于正確打開它。您可以使用6. 8打開它并保存一個IDB文件,然后使用IDA 7. 0打開它。 其余的工作是分析代碼,因此在此不再介紹。 五、后記 經過分析,此路由尚未植入第三方程序。異常流量可能是由其他原因引起的,例如更高級別的流量劫持。
當今,越來越多的業務應用運行于網絡架構之上,保障網絡的持續、高效、安全的運行,成為網絡管理者面臨的巨大挑戰。 |
溫馨提示:喜歡本站的話,請收藏一下本站!