758個NETGEAR路由器固件有漏洞、半年沒修好:受影響型號和黑客代碼分析

本文發佈於  Jun 22, 2020

最近NETGEAR被爆出竟然有多達758個NETGEAR固件有漏洞,影響達79款、早至2007年至今的路由器型號存在致命的“零日漏洞(Zero-Day)”,可以讓黑客攻擊網頁登入界面從而取得Router的完全控制權。更不可思議的是,本漏洞在本年初(2020年1月)由“良心黑客”們發現並且上報給NETGEAR,但讓黑客們坐不住的是:竟然半年過去了,NETGEAR還沒有修復好?!本次發現漏洞的路由器數目之多,如果你是NETGEAR用家,必須密切留意本事件和對應的解決方法

影響型號:早至從2007年起的型號

本次NETGEAR漏洞涉及多達79款型號,其中28款是已經被“實測攻破”。受漏洞影響的包括最熱門的NETGEAR路由器例如R6300、R7000、R7000P、R8000等等,如果你是NETGEAR路由器用家,請馬上確認一下是否“中招”。:

雖然網上流傳的是以上79款型號,但可能會有更多沒有列出。因為這個列表是黑客分析並找到了758個NETGEAR有漏洞的固件而反推出來的。下面解釋黑客是怎麼找出這758個有重大漏洞的固件。

 

故事起源:漏洞被兩組黑客發現

在大力宣傳家居安保系統(NETGEAR Arlo)的路由器廠商,竟然如此的不重視網路設備的安全?更讓人不解的是,本次漏洞已經在本年初,被兩組黑客/安保公司分別發現,並且都匯報了給NETGEAR但是都沒有得到重視,時隔半年了漏洞依舊。發現本次漏洞的群體是:

  • 來自越南”Vietnam Posts and Telecommunications Group”的研究員“d4rkn3ss”,漏洞發現發佈在One on the Zero Day Initiative (ZDI)
  • 來自網路安全公司GRIMM的”Adam Nichols“,漏洞發現發佈在他的BLOG、漏洞測試(利用)工具發佈在GitHub

看到NETGEAR的無動於衷,兩位黑客坐不住了,終於把漏洞詳情公開,由媒體大量曝光

結果證明,媒體和輿論的壓力是有效的。ZDNET在本月18號(2020年6月)首次揭發NETGEAR漏洞事件後,19號就回應了R6400V2和R6700V3修復了漏洞。哇,媒體曝光你就一天修復完畢,不曝光你就半年都搞不掂?呵呵

 

漏洞解釋:通過登錄網頁黑入

本次黑進路由器是發現了Router的httpd server的漏洞,也就是路由器產生登錄頁面的迷你網頁伺服器存在不嚴謹的安全設計。ZDNET的事件報道稱黑客公佈的漏洞細節中解釋到:

… the server doesn’t properly validate user input, doesn’t use “stack cookies” (aka canaries) to protect its memory, and the server’s binary is not compiled as a Position-independent Executable (PIE), meaning ASLR (address space layout randomization) is never applied. This lack of proper security protections opens the door for an attacker to craft malicious HTTP requests that can be used to take over the router.

這是什麼意思呢?喜歡黑客的讀者如果有興趣,請移步黑客公佈細節的原文。小U的三腳貓功夫嘗試梳理(如有黑客高手可以幫忙翻譯無任歡迎):

第一節:發現Stack Cookies的漏洞

黑客首先是發現了NETGEAR R7000路由器中,用於生成登錄管理界面的httpd插件存在漏洞。首先他們分析管理界面裡面一個叫 abCheckBoardID 的功能,這個功能是大家更新路由器固件時候,固件會先檢查路由器的主板型號,判斷是否相容的固件,從而決定是否允許刷入。然而黑客們發現裡面的user input地方可以做文章。因為src2是由用戶提交,而這數值會再被轉化到size_byte和套用進memcpy,所以就能以此作為入侵起點:

黑客笑稱缺乏Stack Cookies保護的漏洞是1996年的“陳年漏洞”,竟然在現在多款NETGEAR路由器上見到不可思議,更不可思議的是NETGEAR曾經在某些固件更新中修復了這個漏洞,但是在最新版本中又出現了:

在大多數現代軟件中,此漏洞(沒有Stack Cookie保護)無法利用。現代軟件通常包含會阻止被利用的Stack Cookie。但是,R7000卻存在Stack Cookie漏洞。實際上,在所有共享通用代碼庫的Netgear產品中,只有D8500固件版本1.0.3.29和R6300v2固件版本1.0.4.12-1.0.4.20使用Stack Cookie。但是,D8500和R6300v2的更高版本卻又停止使用Stack Cookie,從而使此漏洞再次被利用。Adam@GRIMM 小U翻譯

 

第二節:嘗試入侵

黑客用Python編制了入侵程序,成功的用TELNET無需密碼就登入就和路由器連接成功,並且享有最高級的ROOT權限。更糟糕的是,黑客嘗試在網頁加插含有入侵程序的HTML,發現也能入侵成功。但是前提是要知道路由器是什麼型號才能通過遠程HTML入侵。

 

第三節:批量自動化入侵

最後黑客編寫了一個“自動化入侵”程式,其實是分析有多少個固件存在同樣的漏洞。不看不知道,一看嚇一跳,竟然發現NETGEAR的758個固件存在這個漏洞。現在流傳的79款NETGEAR有漏洞路由器就是這樣反推出來。也就是可能還有更多是黑客沒有進行入侵分析、但同樣存在漏洞的型號可能。

 

NETGEAR用家如何自保

NETGEAR反應之慢實在令人不解,作為NETGEAR Router用家的你,可以如何自保:

  • 第一、密切關心NETGEAR官網、固件有沒有更新。如果沒有,請繼續
  • 第二、確保“遠程管理Router功能”是關閉的
  • 第三、在手機、電腦使用加密VPN連線

相關文章:平價VPN值得買嗎?如何選擇”慳錢與安全”兼得的VPN

好了本文就寫到這裡,事實上小U更聯想到,NETGEAR力推的家居監視系統Arlo是否也存在相似的問題,如果是監控頭保安有問題,那就等於每天24小時變“直播LIVE”,諗起都驚。有Reverse Engineering的高手可以分析一下Arlo的安全性嗎?歡迎你留言交流你的想法或疑問哦~

 

Upsangel.com網路安全專區

小U今年開立了網路安全專區,專門分享Internet Security 的相關資訊(因為華語地區好像很少),如果你也想密切關注你的網路安全、不想容易被人魚肉,請關注小U的Facebook,或者用Email訂閱(下面的登記按鈕),就能準時收到Upsangel.com網路安全專區的最新資訊。如果你有興趣一起分享這方面的內容,Upsangel.com無任歡迎各位參與投稿、討論、建議TOPIC、提供內幕等等等等。


4 Comments
  1. 喺你度買R6250個list度冇,再睇firmware係1.0.4.12,咁唔update住喇😂

  2. 如果刷左merlin係咪又唔受應響呢?

你可以一針見血

by Upsangel
Logo