漏洞銀行公開課整理--家用路由器漏洞挖掘入門
前言
- 裝置、韌體容易獲得,可作為挖掘其他智慧硬體(智慧家居、智慧攝像頭)的基礎
- 大多是Web層面的漏洞,適合Web選手直接上手入門
預備知識
1、路由器的組成
- CPU
- RAM
- Flash ROM
- UART 串列埠\JTAG除錯口:最常見的為UART串列埠,可以通過UART串列埠來直接與機器互動,通過串列埠輸出、輸入資訊,做動態除錯。可以使用SecureCRT工具來分析串列埠資訊。用工具連線上串列埠,可以檢視路由器的啟動資訊、分割槽情況、初始化資訊等
- 在路由器的硬體層面中,主要關注Flash rom和UART、JTAG等除錯口
2、路由器元件的識別
- Flash rom:用來儲存檔案系統、核心、U-boot(bootloader),路由器配置資訊
-
Flash rom的識別和區分:1、晶片上有廠商的首字母縮寫。在程式設計器中找到廠商對應的型號即可。2、沒有晶片的標識資訊,只有一些絲印數字(不規則)。可以在網上或購物網站上嘗試尋找資訊
3、韌體的獲取:路由器韌體漏洞挖掘必備步驟
- 官網技術支援處下載韌體升級包
- 本地OTA升級抓包
- 從路由器Flash rom中獲取(程式設計器)
- 九種獲取韌體的方法:https://bbs.pediy.com/thread-230095.htm
- 工具:binwalk
4、BusyBox
- 在路由系統中,因為儲存空間受限制,所以使用的Shell通常是一個經過裁剪的名為BusyBox的程式
- BusyBox是一個整合了300多個最常用Linux命令和工具的軟體
- BusyBox包含了一些簡單的工具,例如ls、cat和echo等等,還包含了一些更大、更復雜的工具
- 常用在Linux核心的嵌入式裝置上,入路由器、攝像頭
5、MIPS指令集
- 分析工具:IDA無法直接反彙編mips程式碼,Ghidra可以幫助我們生成mips的偽C程式碼,但是,在使用Ghidra分析mips的時候,PLT和GOT經常會出現問題,如果需要定位GOT表,還是需要使用IDA查詢更為方便
- 暫存器數量多(31個)
- 流水線效應
- 彙編指令都是4位元組對齊
- 對棧的操作靠指標的增減來實現
6、路由器系統型別
- 嵌入式Linux系統
- VxWorks系統
7、檔案系統型別
- Squashfs(最常見)
- cpio
- jffs2
韌體分析、模擬模擬環境搭建準備
1、必備環境
- QEMU2.4.0編譯版本(版本過低或過高都會出問題)
- 靜態除錯:IDA+Ghidra
- 動態除錯:gdb、gdb-multiarch、gdbserver
- 自動化動態模擬韌體:Firmadyne
- binwalk
- 其他一些IDA指令碼:MipsAduit、Mipsrop
2、可選環境
- 交叉編譯環境:mips、arm
3、路由器漏洞挖掘的特點
- 測試點比較全面:Web、二進位制、協議層面(廠商自定義協議)、程式碼審計(php、asp、lua)
- 可能需要接觸到硬體:基本的拆焊能力、硬體元件的識別
路由器常見漏洞點舉例
1、Web層面
- XSS:CVE-2018-10107
- 越權(獲取配置檔案)
2、二進位制層面
- 命令執行漏洞
- 棧溢位
3、協議層面
- smb、upnp等通訊協議
- 路由器廠商私有協議
路由器漏洞挖掘思路
參考:
https://www.bilibili.com/video/BV16J411T7eG?from=search&seid=1189161941210173922
https://www.anquanke.com/post/id/180714
相關文章
- 自動化漏洞挖掘:靜態程式分析入門
- 漏洞挖掘的藝術-面向原始碼的靜態漏洞挖掘原始碼
- SRC漏洞挖掘之偏門資產收集篇
- D-Link 漏洞挖掘
- PHP漏洞挖掘思路+例項PHP
- web安全入門課程推薦--Web 安全恩仇錄:漏洞原理Web
- 開發者福音 | 維陣(AI圖神經網路漏洞挖掘)上線公測AI神經網路
- 如何利用 KLEE 符號執行引擎挖掘軟體漏洞符號
- 開課啦!硬體安全訓練營——智慧攝像頭漏洞挖掘實戰培訓
- 使用蜻蜓安全挖掘漏洞實踐(一)
- 漏洞挖掘基礎之格式化字串字串
- 聊聊web漏洞挖掘第一期Web
- IIS短檔名漏洞原理與挖掘思路
- 嚴重危害警告!Log4j 執行漏洞被公開!
- event-stream 包漏洞整理
- 在沒有回應後 安全研究人員公開普聯路由器 0day 漏洞路由器
- 如何對網站登入進行漏洞測試以及漏洞修復網站
- 每天數千個漏洞被公開 選什麼工具能讓漏洞追不上我?
- 【安卓漏洞挖掘】drozer--安卓四大元件的漏洞學習安卓元件
- 【漏洞預警】Cisco 最新公佈24個高危以上漏洞
- PHP漏洞挖掘思路+例項 第二章PHP
- win32k.sys漏洞挖掘思路解讀Win32
- 某知名系統漏洞挖掘與利用思路探索
- 二進位制漏洞挖掘之整數溢位
- 程式碼審計之邏輯上傳漏洞挖掘
- W13Scan 掃描器挖掘漏洞實踐
- 駭客玩具入門——4、漏洞掃描與Metasploit
- CERIO-DT系列路由器Save.cgi介面存在命令執行漏洞路由器
- 命令執行漏洞
- 漏洞聚焦:Moxa EDR-810 工業安全路由器存在多個嚴重漏洞路由器
- 專訪黑客wordexp:哪些0day漏洞沒公開?黑客
- Web安全系列(三):XSS 攻擊進階(挖掘漏洞)Web
- 記一次北京某大學邏輯漏洞挖掘
- 記錄一次cnvd事件型證書漏洞挖掘事件
- 網站程式碼漏洞審計挖掘與修復方法網站
- 一款基於語法的HTTP漏洞挖掘工具HTTP
- 【漏洞】OA辦公系統“烽火狼煙”,高危漏洞攻擊爆發
- PHP 反序列化漏洞入門學習筆記PHP筆記