NETGEAR美國網件(NASDAQ: NTGR),致力於為全球商用企業使用者和家庭個人使用者提供創新的產品、卓越的智慧家庭無線解決方案
關於路由器漏洞挖掘歷來都是是圍繞著兩個攻擊面開展 指令碼語言(htm/js/php/lua/sh/asp)編譯語言(elf/mips/armv7/arm/)
本文介紹一個最簡單也最容易發現的一種漏洞,暫歸類為資訊洩露吧,造成的危害則是許可權繞過但不侷限於只拿到使用者登入憑證
所有的美國網件系列路由器都有這樣一個頁面‘currentsetting.htm’ 可以檢視型號和韌體版本的特權頁面 即不需登陸便可訪問該頁面
下載V1.0.0.28_1.0.28 RegionTag版本的韌體binwalk解包分析
http://www.downloads.netgear.com/files/GDC/DGND3700/DGND3700v1-V1.0.0.28_1.0.28.zip
本文的例子則是通過訪問個別頁面拿到路由器的登入憑證,既然是訪問一個頁面就能獲得密碼,先看一下www下目錄的這個頁面 檔案搜尋password
ppoe介面中的密碼,還有修改密碼介面,字串的略過,主要是htm含有password和變數同時存在 這樣在某些特殊時候訪問這個介面他會載入某些檔案將配置資訊或者其他本地資訊通過html變數元素顯示出來,比如
對於這種資訊洩露的挖掘方法,在沒有實物的前提下可以去解韌體,不影響裝置正常執行的情況下,可以去訪問公網存在的裝置,主要區分就是需要登陸訪問的頁面和不需要登陸就能訪問的頁面,挖掘肯定是先去研究不需要登陸的就能訪問的頁面
可以寫個指令碼這樣方便我們去進一步研究,接下來從韌體層面去看一下,既然是http請求所以分析的程式則是usr/sbin/httpd
根據文末我參考之前的類似的漏洞,所以也試著查詢未授權訪問的頁面處理邏輯 搜尋字串BSW
其中下面這部分是處理不需登陸可訪問頁面的函式
像不需要登陸就可以訪問的頁面 如果可以修改密碼,當然也屬於越權操作了
像這種不需要登陸就可以訪問並還可使用者輸入的頁面,可以著重分析韌體中資料的處理流程,通常關於服務(ntp/tftp/soap/ppoe等)或者涉及到系統配置,更改後重啟的功能,是命令注入比較容易出現的地方。
通過下面兩個請求的uri可以洩露賬號和密碼,美國網件系列預設使用者名稱 admin
第一處密碼洩露在blkCgi_wsw_summary這個函式中,功能猜測應該是第一次配置完有線路由器連線後所的操作,根據頁面提示你下一步你配置無線絡,acosNvramConfig_set正是設定路由的一些基本配置包括廣域網網路狀態,也包含路由器的登陸密碼,BSW_cxttongr.htm去讀取Nvram配置資訊中就含有密碼, 關於什麼是Nvram
第二處洩露在blkCgi_wsw_passwd_edit這個函式中,猜測是修改密碼後成功後返回的頁面,然而這個頁面在不修改賬號密碼時也可以訪問,賬號密碼是在response的註釋中,顯然這是開發的失誤。
公網抽取100個DGN2200型號裝置 受影響45個 版本號如下
['V1.0.0.36_7.0.36\r\n']
['V1.0.0.55_7.0.55\r\n']
['V1.0.0.20_4.0.20\r\n']
['V1.0.0.50_7.0.50NA\r\n']
['V1.0.0.36_7.0.36\r\n']
['V1.0.0.50_7.0.50\r\n']
['V1.0.0.46_7.0.44\r\n']
['V1.0.0.20_5.0.34\r\n']
公網抽取100個DGND3700型號裝置 受影響29個 版本號如下
['V1.0.0.12_1.0.12\r\n']
['V1.0.0.28_1.0.28\r\n']
['V1.0.0.17_1.0.17\r\n']
思路可參考:
https://www.compass-security.com/fileadmin/Datein/Research/Advisories/CSNC-2015-007_Netgear_WNR1000v4_AuthBypass.txt
https://shadow-file.blogspot.ro/2013/10/complete-persistent-compromise-of.html
關於參考例子的漏洞復現