無線協議漏洞
早些年對路由器的攻擊方式大多基于無線協議中的漏洞。早些年無線路由使用的是WEP加密系統,也就是“有線等效加密”,但是與很多存在問題的加密算法一樣,WEP加密也是用了RC4的加密方式。
2001年8月,Fluhrer等人發表了針對WEP的密碼分析,利用RC4加解密和IV的使用方式的特性,結果在網絡上偷聽幾個小時之后,就可以把RC4的鑰匙破解出來。這個攻擊方式很快就實作出來了,而自動化的工具也釋出了,只要用個人電腦、現成的硬件和免費可得的軟件就能進行這種攻擊。因此WEP在2003年被實現大部分IEEE 802.11i標準的WPA(Wi-Fi Protected Access)淘汰。
WPA相比WEP提升了部分安全性,WPA 的設計中要用到一個 802.1X 認證服務器來散布不同的鑰匙給各個用戶;不過它也可以用在較不保險的 “pre-shared key” (PSK) 模式。Wi-Fi 聯盟把這個使用 pre-shared key 的版本叫做 WPA 個人版或 WPA2 個人版,用 802.1X 認證的版本叫做 WPA 企業版或 WPA2 企業版。
WPA 的數據會以一個 128 位元的鑰匙和一個 48 位元的初向量 (IV) 的 RC4 stream cipher 來加密。WPA 超越 WEP 的主要改進就是在使用中可以動態改變鑰匙的“臨時鑰匙完整性協定”(Temporal Key Integrity Protocol,TKIP),加上更長的初向量,這可以擊敗知名的針對 WEP 的金鑰擷取攻擊。
除了認證和加密外,WPA 對于數據的完整性也提供了巨大的改進。WEP 所使用的 CRC(循環冗余校驗)先天就不安全,在不知道 WEP 鑰匙的情況下,要篡改所載資料和對應的 CRC 是可能的,而 WPA 使用了稱為 “Michael” 的更安全的訊息認證碼(在 WPA 中叫做訊息完整性查核,MIC)。
2004年,WPA由實現完整IEEE 802.11i標準的WPA2所取代。WPA2相比WPA比較重要的安全改進是使用了AES而非原來的RC4加密方式。
事實上,無論是WPA還是WPA2都有相應的破解方法,具體就是使用DEAUTH攻擊使已經連接的客戶端斷開并重新連接,以產生握手包,之后再用字典進行破解,但是既然使用到了字典,成功率就相當不確定了。
2011年12月28日,安全專家Stefan Viehbock曝出WPS(Wi-Fi保護設置)功能的一個重大安全漏洞,此漏洞允許遠程攻擊者使用暴力攻擊在幾小時內就能獲取WPS的PIN碼和WPA/WPA2的PSK碼。pin碼是一個8位的整數,破解過程時間比較短。WPS PIN碼的第8位數是一個校驗和,因此黑客只需計算前7位數。另外前7位中的前四位和后三位分開認證。所以破解pin碼最多只需要1.1萬次嘗試,順利的情況下在3小時左右。WPS認證流程如下圖:
然而,現實情況是很多路由器會對窮舉PIN進行限制,每次猜解的間隔時間會越來越長,因此小編之前做過多次嘗試從未成功。
由于攻擊方式的局限性,以上所述的漏洞大都已經成為歷史,現如今對路由器的攻擊大多轉為針對特定路由器漏洞的攻擊,并且從對無線協議弱點的攻擊轉向對路由器固件、Web界面的攻擊。
針對路由器固件的攻擊
近年來有不少針對路由器的攻擊,很多知名廠商紛紛中招,并且往往連累的是一個系列的產品,這些路由器爆出的漏洞中很多是廠商因維護需要而開設的后門,有一些則是驗證機制存在問題,被輕易繞過。
2016年10月,華碩路由器被P2P僵尸網絡程序TheMoon感染。華碩旗下RT-AC66U、RT-N66U等多款路由器中使用的ASUS WRT的infosvr中的common.c文件中存在安全漏洞,該漏洞源于程序沒有正確檢查請求的MAC地址。遠程攻擊者可通過向UDP 9999端口發送NET_CMD_ID_MANU_CMD數據包利用該漏洞繞過身份驗證,執行任意命令。
同月,D-Link DWR-932B LTE路由器中發現多個后門。研究人員發現了D-Link無線路由器會默認使用兩個硬編碼的秘密賬戶(admin:admin and root:1234)運行Telnet和SSH服務。攻擊者可以輕松地用shell命令行接入這些脆弱的路由器,然后就可以進行中間人攻擊,監控網絡流量,運行惡意腳本更改路由器設置。而如果將字符串”HELODBG”作為硬編碼命令發送到UDP端口39889就可以利用這個后門,就可以在不經過任何驗證的情況下在路由器上啟動一個root權限的Telnet。
2016年12月,Netgear多個型號路由器曝遠程任意命令注入漏洞,攻擊者只需要構造網站,在網址結尾加上命令,在未授權得情況下就能以Root權限執行任意命令。
2017年2月,大量Netgear路由器被曝存在密碼繞過漏洞。用戶試圖訪問路由器的web控制界面時,需要進行身份驗證;如果身份驗證被取消,同時密碼恢復功能被禁用了,用戶就會被重定向到一個頁面,而這個頁面會暴露密碼恢復的token。用戶提供了這個token就能獲取到路由器管理員密碼。
2017年4月,數十款Linksys路由器曝高危漏洞,可致遠程命令執行及敏感信息泄露。攻擊者就可以在路由器操作系統上以root權限注入執行命令。黑客可能會創建后門賬號以長期控制路由器。后門賬號不會在web管理界面顯示,并且不能被管理員賬號刪除。
TheMoon僵尸程序的攻擊流量
盡管以上提到的案例不多,但這些廠商在路由器市場占到了半壁江山,尤其是Netgear與Linksys,根據NPD Monthly的數據顯示,NETGEAR與LINKSYS這兩家美國老牌路由器廠商成為了該市場的第一與第二名,并且市場份額超過了60%。而來自亞太地區的D-LINK等廠商則分別領導美國市場的40%份額。
入侵路由器后,黑客便控制了受害者的上網入口,之后能夠進行的攻擊超乎想象。有些黑客會修改DNS,將它改為惡意DNS,從而可以監控流量,植入廣告,或者進行惡意重定向,誘導用戶下載惡意軟件;而有一些黑客則會利用路由器進行更大規模的DDoS攻擊,比如TheMoon僵尸程序、針對IoT設備的僵尸網絡Mirai。但實際上,黑客能做的遠不止這些,如果要進行針對性的攻擊,黑客在內網中進一步進行滲透。
Mirai僵尸網絡影響了全球范圍內的大量主機
而直到現在,仍然有大量的路由器尚未修復漏洞,小編簡單用shodan的搜索結果進行測試,在20個搜索結果中就找到了一臺存在漏洞的Netgear R7000路由器,要注意這是前兩頁的搜索結果,可想而知肯定有大量黑客都已經進行過對這些結果的檢查。
之所以網絡中仍然存在大量漏洞的路由原因就是廠商無法進行及時的推送,路由器雖然是網絡的入口,卻沒有一種完善的固件更新機制能讓用戶一直使用到最新的固件,這可能是廠商亟需解決的問題。