誰蹭了我的WiFi?淺談家用無線路由器攻防
家用無線路由器作為家庭里不可或缺的網絡設備,在給普通人帶來極大便利的同時,也給處于互聯網時代的我們帶來了很多安全隱患,本文將針對普通家用無線路由器的常見攻擊過程進行拆解并提出相應的防御建議,希望對大家有所幫助。
一、盜取無線密碼
針對無線路由器最常見的攻擊方式就是盜取無線密碼,常見無線路由器的無線加密方式為WEP和WPA/WP2,通過無線路由配置的加密方式采取不同的攻擊手法,再運用一些特殊的技巧,就可以輕易得到無線路由器的無線密碼。
下圖為常見的無線路由加密方式:
1.1 WEP破解
如果你的家用路由器的無線加密方式被配置為WEP加密,那么你就得馬上進行修改了,因為由于WEP加密體制缺陷,蹭網者能夠通過收集足夠的握手包(即計算機與無線路由器連接認證過程中的數據包),使用分析密算法還原出密碼。此類加密方式的攻擊成功率基本接近100%。比較常見的攻擊手法是使用MIDIWEP對周圍的無線信號進行嗅探,當抓取到足夠多的IVS時就可以自動解出無線密碼,如下圖所示:
1.2 WPA/WPA2爆破
無線路由器的另一種加密方式為WPA/WPA2加密,相比較于WEP加密,暫時未能從一些公開的方法中找到直接破解WPA/WPA2密碼的方法,只能先抓獲握手包,然后對握手包進行暴力破解,但是結合著一些技巧以及普通用戶密碼策略比較薄弱,成功的機率也比較高。
首先,使用feedingbottle(奶瓶)等工具對周圍無線網絡進行嗅探抓包,抓取到完整的握手包之后,可將保存的握手包在windows下使用工具EWSA進行暴力破解,根據之前測試的數據,使用550Ti的顯卡破解速率約為13000/秒,所以使用純數字的無線密碼最為薄弱,單臺PC破解一個九位純數字的時間根據計算約為:999999999/10000/60/60=27.8小時
萬能的某寶更是提供了在線跑握手包的服務,利用集群服務器跑握手包,可大大縮短破解的時間。
1.3 WPS破解
其實很少人有人注意到家用無線路由器是上面有一個WPS(QSS或AOSS)功能,而且默認都是開啟的,下圖是一些常見家用路由器的WPS(QSS或AOSS)功能界面。
WPS是由Wi-Fi聯盟組織實施的認證項目,主要致力于簡化無線局域網的安裝及安全性能配置工作。在支持WPSWPS(QSS或AOSS)的無線路由器上,用戶不需要輸入無線密碼,只需輸入PIN碼或按下按鈕(PBC),就能安全地連入WLAN。但是使用PIN碼連接無線路由器的這個過程是可以暴力破解的,首先我們先講一下PIN碼的組成,WPS的PIN碼是一個8位的純數字,第8位數是一個校驗和(checksum),根據前7位數算出,而在PIN驗證時,PIN碼的前4位和PIN碼的接下來3位是分開驗證的,因此,暴力破解PIN碼的過程中,只需要嘗試11000(10^4+10^3)就可以解出PIN碼,然后通過PIN連接路由器抓取到無線密碼。
暴力破解PIN碼時使用的工具為reaver或inflator(圖形化reaver),工具可以對周圍的無線網絡進行掃描,并將開啟WPS功能的無線信號標記出來,在選擇好暴力破解的的目標后,調用reaver命令行進行破解,如果路由器性能不錯且信號比較好,破解速率為2 seconds/pin~~4 seconds/pin,所以可算出來破解出無線密碼的最高時間成本為9.17hour(3*11000/60/60),弱一點的路由器在破解過程中會出現死機,這時就要等一段時間,待路由器性能穩(wěn)定后再進行破解,下圖為破解成功時的情況:
很多路由器廠商也逐漸意識到PIN碼破解的問題,部分無線路由器廠商會增加一些PIN暴力破解防護,在破解這些無線路由器的時候會出現這樣的提示:
warning:detected ap rate limiting,xxxxx
但是經過實踐發(fā)現,絕大部分路由器會在約60秒后解除限制,這時只需要在reaver 命令里面添加 –l 3 參數,-l 參數是指reaver間隔多久對已經限制了嘗試PIN的路由器進行再次嘗試破解,命令默認為300,通過設置為3后,大概探測20次約一分后就會開始新的破解,嘗試10次PIN碼后再次等待約一分鐘,如此往復。所以在此類有一些PIN防護的路由器上,破解PIN碼速率大約為11 ([60+5*10]/10)seconds/pin,根據之前的公式計算,破解出PIN的最大時間成本為33.6 hour(11*11000/60/60),下圖為嘗試破解一些有PIN防護時的路由器成功時的情況:
1.4 TELNET后門
某漏洞平臺上曾經爆出過很多路由器的公網地址允許telnet遠程登錄,因為telnet密碼和WEB管理密碼相同,所以很容易通過(admin:admin)telnet路由器公網地址成功進入到無線路由器,再通過執(zhí)行wlctlshow命令,可以得到無線路由器的無線密碼,常見品牌的家用無線路由器都有部分批次存在這個問題。
部分集成busybox的路由器也存在公網地址默認開啟telnet的情況,登錄后不僅能看到無線密碼,PPPOE的密碼也能輕易得到:
作者曾編寫過一個專門的腳本只用admin:admin的用戶名密碼組合去嘗試登錄公網地址的telnet服務,登錄成功后只執(zhí)行一條wlctl show 命令,并將回顯信息進行提取,通過掃描一些公網地址網段發(fā)現公網上存在著大量公網地址開啟telnet且默認密碼為admin:admin的家用路由器。下圖為工具批量掃描時提取出的部分無線密碼:
1.5 APP共享泄露密碼
類似一些WIFI輔助類的手機APP也是泄露無線密碼的一個途徑。比如某些APP的默認配置是分享手機中的無線密碼,因此手機上連過的所有無線的密碼默認是會被分享出去的,包括家用的無線路由器或者朋友的無線路由器,因此如果你或者連接你WIFI的朋友手機裝了此類APP,很有可能造成家庭無線密碼的泄露,作者安裝此類APP后經常嘗試搜索周圍無線信號的密碼,往往都會有收獲。
默認情況下,APP是不會告訴你這些連接成功的密碼的,但是由于系統(tǒng)會自動保存成功連接過的WIFI密碼,因此root后的安卓手機就可以通過瀏覽配置文件的方式讀取WIFI密碼了,方法如下:http://jingyan.baidu.com/article/91f5db1bea61d51c7e05e36e.html
二、盜取后的危害
2.1 中間人攻擊
當獲取到無線密碼后,黑客便拿到了進入無線局域網的權限,接下來比較常用的攻擊手法就是進行中間人嗅探,通過ARP毒化并結合CAIN、wireshark、sslstrip、dsploit等工具,完成對局域網主機的敏感信息嗅探。
CAIN:結合wireshark使用,不僅可以嗅探到無線密碼,而且可以抓取局域網中用戶的其它流量信息,比如上網記錄等明文協(xié)議傳輸的信息。
SSLSTRIP:黑帽大會上Moxie Marlinspike發(fā)布的一款工具,可以突破經過ssl加密的協(xié)議(如https),配合ARP毒化進行中間人攻擊,可以實現HTTPS等協(xié)議的中間人嗅探。
下圖為SSLSTRIP嗅探網銀的原理:
Dsploit:是一個Android下的網絡分析和滲透套件,中間人攻擊的相關工具有多種協(xié)議密碼嗅探、HTTP/HTTPS 會話劫持、替換圖片等,該工具短小精悍,一個手機就能對局域網造成巨大威脅。
2.2 盜取PPPOE密碼
通過以上步驟拿到無線密碼通過嗅探或弱口令猜解的方式,就可以很容易地登錄到家用路由器做一些配置更改及查看,比如下載路由器配置文件并使用一款routerpassview的軟件查看PPPOE密碼,也可以直接更改DNS配置,進行DNS層面的釣魚和中間人攻擊。
三、幾點安全建議
熟悉了以上針對家用無線路由器的攻擊手法,我們下面來講一講防御:
1、家用無線路由器加密方式應選擇WPA/WPA2,無線密碼建議使用位數大于8位,大小寫字母、特殊符號、數字混合的復雜密碼;
2、修改家用無線路由器的默認管理密碼;
3、關閉家用無線路由的WPS(QSS或AOSS)功能;
4、添加額外的路由器安全策略,比如僅限特定的MAC地址訪問,朋友拜訪時再臨時手動添加MAC地址;
5、使用一些無線類APP時關掉自動分享熱點功能,防止自己家庭無線密碼泄露;
6、經常登錄路由器檢查無線連接狀態(tài)和DHCP客戶端列表