流量劫持,這種古老的攻擊沉寂了一段時間后,最近又開始鬧的沸沸揚揚。眾多知名品牌的路由器相繼爆出存在安全漏洞,引來國內(nèi)媒體紛紛報道。只要用戶沒改默認密碼,打開一個網(wǎng)頁甚至帖子,路由器配置就會被暗中修改。互聯(lián)網(wǎng)一夜間變得岌岌可危。
攻擊還是那幾種攻擊,報道仍是那千篇一律的磚家提醒,以至于大家都麻木了。早已見慣運營商的各種劫持,頻繁的廣告彈窗,大家也無可奈何。這么多年也沒出現(xiàn)過什么損失,也就睜只眼閉只眼。
事實上,僅僅被運營商劫持算是比較幸運了。相比隱匿在暗中的神秘黑客,運營商作為公眾企業(yè)還是得守法的,廣告劫持雖無節(jié)操但還是有底線的。這不,能讓你看見廣告了,也算是在提醒你,當前網(wǎng)絡(luò)存在被劫持的風險,得留點神;相反,一切看似風平浪靜毫無異常,或許已有一個天大的間諜潛伏在網(wǎng)絡(luò)里,隨時等你上鉤 —— 這可不是彈廣告那樣簡單,而是要謀財盜號了!
我會被劫持嗎?
不少人存在這樣的觀點:只有那些安全意識薄弱的才會被入侵。只要裝了各種專業(yè)的防火墻,系統(tǒng)補丁及時更新,所有的密碼都很復雜,劫持肯定是輪不到我了。
的確,安全意識強的自然不容易被入侵,但那只對傳統(tǒng)的病毒木馬而已。而在流量劫持面前,幾乎是人人平等的。網(wǎng)絡(luò)安全與傳統(tǒng)的系統(tǒng)安全不同,網(wǎng)絡(luò)是各種硬件設(shè)備組合的整體,木桶效應尤為明顯。即使有神一樣的系統(tǒng),但遇到豬一樣的設(shè)備,你的安全等級瞬間就被拉低了?,F(xiàn)在越來越流行便宜的小路由,它們可是承載著各種網(wǎng)上交易的流量,你能放心使用嗎?
即使你相信系統(tǒng)和設(shè)備都絕對可靠,就能高枕無憂了嗎?事實上有問題的設(shè)備并不多,但出問題的事卻不少,難道其中還存在什么缺陷?沒錯,還遺漏了最重要的一點:網(wǎng)絡(luò)環(huán)境。
如果網(wǎng)絡(luò)環(huán)境里有黑客潛伏著,即使有足夠?qū)I(yè)的技術(shù),是在所難逃了,敵暗我明,稍不留神就會落入圈套。
當然,蒼蠅不叮無縫的蛋。有哪些隱患導致你的網(wǎng)絡(luò)環(huán)境出現(xiàn)了裂縫?太多了,從古到今流行過的攻擊方式數(shù)不勝數(shù)。甚至可以根據(jù)實際環(huán)境,自己創(chuàng)造一種。
現(xiàn)在回憶下嘗試過的劫持案例。
上古時代:
- Hub 嗅探
- MAC 欺騙
- MAC 沖刷
- ARP 攻擊
- DHCP 釣魚
- DNS 劫持
- CDN 入侵
中世紀:
- 路由器弱口令
- 路由器 CSRF
- PPPoE 釣魚
- 蜜罐代理
工業(yè)時代:
- WiFi 弱口令
- WiFi 偽熱點
- WiFi 強制斷線
- WLAN 基站釣魚
Hub 嗅探
集線器(Hub)這種設(shè)備如今早已銷聲匿跡了,即使在十年前也少有人用。作為早期的網(wǎng)絡(luò)設(shè)備,它唯一的功能就是廣播數(shù)據(jù)包:把一個接口的收到的數(shù)據(jù)包群發(fā)到所有接口上。且不吐槽那小得驚人的帶寬,光是這轉(zhuǎn)發(fā)規(guī)則就是多么的不合理。任何人能收到整個網(wǎng)絡(luò)環(huán)境的數(shù)據(jù),隱私安全可想而知。
嗅探器成了那個時代的頂尖利器。只要配置好過濾器,不多久就能捕捉到各種明文數(shù)據(jù),用戶卻沒有任何防御對策。
防范措施:還在用的趕緊扔了吧。
這種設(shè)備目前唯一可用之處就是旁路嗅探。利用廣播的特性,可以非常方便分析其他設(shè)備的通信,例如抓取機頂盒的數(shù)據(jù)包而不影響正常通信。
MAC 欺騙
交換機的出現(xiàn)逐漸淘汰了集線器。交換機會綁定 MAC 地址和接口,數(shù)據(jù)包最終只發(fā)往一個終端。因此只要事先配置好 MAC 對應的接口,理論上非常安全了。
不過,很少有人會那么做,大多為了偷懶,直接使用了設(shè)備默認的模式 —— 自動學習。設(shè)備根據(jù)某個接口發(fā)出的包,自動關(guān)聯(lián)該包的源地址到此接口。
然而這種學習并不智能,甚至太過死板,任何一個道聽途說都會當作真理。用戶發(fā)送一個自定義源 MAC 地址的包是非常容易的,因此交換機成了非常容易被忽悠的對象。只要偽造一個源地址,就能將這個地址關(guān)聯(lián)到自己的接口上,以此獲得受害者的流量。
不過,受害者接著再發(fā)出一個包,綁定關(guān)系又恢復原先正常的。因此只要比誰發(fā)的頻繁,誰就能競爭到這個 MAC 地址的接收權(quán)。如果偽造的是網(wǎng)關(guān)地址,交換機就誤以為網(wǎng)關(guān)電纜插到你接口上,網(wǎng)絡(luò)環(huán)境里的出站流量瞬間都到了你這里。
當然,除非你有其他出站渠道,可以將竊取的數(shù)據(jù)代理出去;否則就別想再轉(zhuǎn)發(fā)給被你打垮的真網(wǎng)關(guān)了,被劫持的用戶也就沒法上外網(wǎng)。所以這招危害性不是很大,但破壞性很強,可以瞬間集體斷網(wǎng)。
防范措施:機器固定的網(wǎng)絡(luò)盡量綁定 MAC 和接口吧。貌似大多數(shù)網(wǎng)吧都綁定了 MAC 和接口,極大增強了鏈路層的安全性。同時,獨立的子網(wǎng)段盡可能劃分 VLAN,避免過大的廣播環(huán)境。
大學里見過千人以上還不劃分 VLAN 的,用一根短路網(wǎng)線就可以毀掉整個網(wǎng)絡(luò)。
MAC 沖刷
之前說了集線器和交換機的轉(zhuǎn)發(fā)區(qū)別。如果交換機發(fā)現(xiàn)一個暫時還未學習到的 MAC 地址,將會把數(shù)據(jù)包送往何處呢?為了不丟包,只能是廣播到所有接口。
如果能讓交換機的學習功能失效,那就退化成一個集線器了。由于交換機的硬件配置有限,顯然不可能無限多的記錄地址對應條目。我們不停偽造不重復的源地址,交換機里的記錄表很快就會填滿,甚至覆蓋原有的學習記錄,用戶的數(shù)據(jù)包無法正常轉(zhuǎn)發(fā),只能廣播到所有接口上了。
防范措施:還是 MAC 和接口綁定。一旦綁定,該接口只允許固定的源地址,偽造的自然就失效了。當然,好一點的交換機都有些策略,不會讓一個接口關(guān)聯(lián)過多的 MAC 地址。
曾經(jīng)在家試過一次,捕捉到小區(qū)內(nèi)用戶上網(wǎng)的流量。不過偽造包發(fā)的太快,~15萬包/秒,更致命的是發(fā)錯目標地址,發(fā)到城域網(wǎng)準入服務(wù)器上,導致工作人員切斷了整個小區(qū)半天的網(wǎng)絡(luò)... 所以必須得選一個 VLAN 內(nèi)的、并且實際存在的地址做為目標 MAC,以免產(chǎn)生大量的數(shù)據(jù)風暴。
ARP 攻擊
這種攻擊大家?guī)缀醵悸牫隼侠O了,即使不懂電腦的人也知道裝個 ARP 防火墻保平安,其危害之大可想而知。
簡單的說,ARP 就是廣播查詢某個 IP 對應的 MAC 地址,在用這個 IP 的人回個聲。知道這個 IP 對應的 MAC 地址,就可以鏈路通信了(鏈路層只能通過MAC地址通信)。
如果有人冒充回復,并搶在正常人之前,偽造的答案也就先入為主。IP 被解析到錯誤的地址上,之后所有的通信都被劫持了。
事實上,早期的系統(tǒng)還有個更嚴重的BUG:直接給用戶發(fā)送一個 ARP 回復包,即使對方從沒請求過,系統(tǒng)也會接受這個回復,并提前保存里面的記錄。這種基于緩存的投毒,讓劫持成功率更上一層樓。
防范措施:由于這種攻擊太過泛濫,以至大部分路由器都帶了防 ARP 攻擊的功能。客戶端的 ARP 防火墻也數(shù)不勝數(shù),似乎成了安全軟件的標配。當然,系統(tǒng)也支持強制綁定 IP 與 MAC 的對應,必要時可以使用。
很多教程都是用 Wireshark 來演示,事實上當年有一款叫 Iris 的軟件非常好用,可以修改封包再次發(fā)送,用它可以很容易搞明白各種攻擊的原理。不過N年沒更新了還不支持64位的。
DHCP 釣魚
現(xiàn)實中,并不是每個人都會配置網(wǎng)絡(luò)參數(shù),或者出于方便,讓網(wǎng)絡(luò)系統(tǒng)自動配置。出于這個目的,DHCP 服務(wù)誕生了。
由于沒有配置IP地址、網(wǎng)關(guān)、DNS 等,在網(wǎng)絡(luò)上是寸步難行的,因此首先需要從 DHCP 那獲得這些。然而,既然連 IP 地址都沒有,那又是如何通信的?顯然,只能發(fā)到廣播地址(255.255.255.255)上,而自己則暫時使用無效的IP地址(0.0.0.0)。(事實上,鏈路層的通信只要有 MAC 地址就行,IP 地址已屬于網(wǎng)絡(luò)層了,但 DHCP 由于某些特殊需要使用的是 UDP 協(xié)議)
因為是發(fā)往廣播,內(nèi)網(wǎng)環(huán)境里的所有用戶都能聽到。如果存在多個DHCP服務(wù)器,則分別予以回復;用戶則選擇最先收到的。由于規(guī)則是如此簡單,以至于用戶沒有選擇的余地。
尚若黑客也在內(nèi)網(wǎng)里也開啟了 DHCP 服務(wù),用戶收到的回復包很可能就是黑客發(fā)出的,這時用戶的網(wǎng)絡(luò)配置完全聽天由命了,不想被劫持都難了。
防范措施:如果是用網(wǎng)線上網(wǎng)的話,最好還是手動的配置。當然,管理員應該嚴格控制 DHCP 回復的權(quán)限,只允許交換機特定的接口才有資格發(fā)送回復包。
只要是這類提問/搶答模式的,都面臨被冒充回答的風險。很多原理都類似。
DNS 劫持
如同 ARP 將 IP 解析成 MAC 地址 一樣,DNS 負責將域名解析成 IP 地址。作為網(wǎng)絡(luò)層的服務(wù),面對的用戶更廣泛,當然面臨的風險也大的多。一旦遭到入侵,所有用戶都倒霉了。近些年的重大網(wǎng)絡(luò)事故無不和 DNS 有關(guān)。
DNS 服務(wù)一旦被黑客控制,用戶發(fā)起的各種域名解析,都將被暗中操控。將正常網(wǎng)站解析成黑客服務(wù)器的 IP,并事先開啟了 HTTP 代理,用戶上網(wǎng)時幾乎看不出任何破綻;而黑客則獲取到所有訪問流量,各種網(wǎng)站賬號信息都將一覽無余。
由于 DNS 服務(wù)器的重要性,現(xiàn)實中通常有著較高的安全防護,想入侵它系統(tǒng)不是件易事。但實際未必如此興師動眾,一些 DNS 程序本身就存在著設(shè)計缺陷,導致黑客能控制某些域名的指向。其中最惡名昭彰的當屬 DNS 緩存投毒。
大家或許已發(fā)現(xiàn),域名->IP->MAC->接口,只要是動態(tài)查詢的就會多一個環(huán)節(jié),風險自然增加。靈活性與安全性始終是不可兼得。
防范措施:手動設(shè)置一些權(quán)威的 DNS 服務(wù)器,例如 8.8.8.8,4.4.4.4 會靠譜的多。
公網(wǎng)上的 DNS 劫持很少發(fā)生,但家用路由器的 DNS 劫持已泛濫成災了。開頭報道的路由器漏洞,最終的利用方式也就是修改了 DNS 地址。
CDN 入侵
CDN 能加速大家都知道,但其中原理不少人都不清楚。其實,CDN 本身就是一種 DNS 劫持,只不過是良性的。
不同于黑客強制 DNS 把域名解析到自己的釣魚 IP 上,CDN 則是讓 DNS 主動配合,把域名解析到臨近的服務(wù)器上。這臺服務(wù)器同樣也開啟了 HTTP 代理,讓用戶感覺不到 CDN 的存在。
不過 CDN 不像黑客那樣貪心,劫持用戶所有流量,它只『劫持』用戶的靜態(tài)資源訪問,對于之前用戶訪問過的資源,CDN 將直接從本地緩存里反饋給用戶,因此速度有了很大的提升。
然而,只要是有緩存的地方,都是大有可為的。一旦 CDN 服務(wù)器遭受入侵,硬盤上的緩存文件就岌岌可危了,網(wǎng)頁被注入腳本,可執(zhí)行文件被感染,一大波僵尸即將出現(xiàn)。
防范措施:感覺運營商不靠譜的話,換個第三方不帶加速的 DNS,或許就不會解析到 CDN 服務(wù)器上了。
不少 CDN 黑白通吃,為了省流量不按套路出牌,超過了緩存時間也不更新,甚至還有忽略 URL 問號后面的,導致程序猿們在資源更新的問題上頭疼不已。
路由器弱口令
當電腦價格一再下降,到了大家打算買第二臺的時候,路由器市場也隨之火熱起來。
但由于繁瑣的配置,差勁的用戶體驗,至今仍有相當部分的用戶不明白如何配置路由器。192.168.1.1 和 admin/admin 幾乎成了國內(nèi)路由器的常量。多少回,用這毫無技術(shù)含量的方法進入網(wǎng)吧或圖書館的路由器后臺。
如果有人惡搞重啟路由,或者給他人限速,你得感謝他的仁慈,這都算不嚴重。要是把路由器的DNS給改了,那就相當嚴重了!公網(wǎng)的 DNS 劫持一般不會持續(xù)太久,但路由器的 DNS 劫持也許長年累月都不會覺察到。
事實上,不乏一些安全意識強的用戶也使用默認密碼。理由很簡單,目前的路由器有兩道門檻:一個 WiFi 連接密碼,另一個才是管理密碼。很多人設(shè)置了復雜的 WiFi 密碼就高枕無憂了,心想都連不到我的網(wǎng)絡(luò)里怎么可能進的了后臺?
之前我也有過這觀念,但總覺不對勁:萬一家里其他電腦或手機中毒了,自動嘗試用弱口令爆進路由器后臺怎么辦。城門都被占領(lǐng)了,城墻再牢固又有何用。
事實上,黑客除了修改 DNS 配置外,還有更恐怖的行為:升級路由器的固件 —— 替換成一個看似完全相同但植入了惡意程序的固件!盡管這目前還尚未普及,然而一旦流行,大批路由器將成為潘多拉魔盒。
防范措施:千萬別輕視路由器的密碼,其實它比你所有賬號都重要。
不改默認密碼的用戶,神都保佑不了你~
路由器 CSRF
回到本文開始所說的,為什么有那么多路由器會出現(xiàn)這個漏洞呢?也許是路由器的開發(fā)人員太高估用戶了,認為絕大多數(shù)用戶都修改了默認密碼,因此 CSRF 幾乎難以產(chǎn)生。
事實上,國內(nèi)網(wǎng)民的安全意識遠超他們的想象。加上剛才說的,只設(shè)置了 WiFi 密碼而忽略了管理密碼,導致一個惡意程序就能悄悄進入路由器后臺。
沒想到現(xiàn)在這種病毒還真出現(xiàn)了,而且居然還是 Web 版的!
CSRF 漏洞讓病毒木馬都用不著了。用戶直接訪問一個網(wǎng)頁,甚至是一帖子,瀏覽器自動向路由器發(fā)起修改配置的請求。
由于國產(chǎn)路由器的網(wǎng)頁開發(fā)是如此的差勁,登錄基本都是用既不安全又丑陋的 HTTP 401 彈框。這種登錄只需在 URL 里填上『用戶名:密碼@』即可自動通過,即使登錄失敗也不會有什么提示。
防范措施:絕對要看管好路由器密碼,并且定期去檢查配置是否被篡改。
看過路由器頁面源代碼會發(fā)現(xiàn),那簡直是慘不忍睹,甚至還是 IE5 時代的風格。路由器芯片都是采購的,內(nèi)核也有開源的,所謂的『自主研發(fā)』就是做了那幾個頁面?
PPPoE 釣魚
好了,不吐槽路由器了,下面說說再高級的路由器也無法避免的事。
除了一些大公司或?qū)W校,用的是固定的專線接入上網(wǎng),個人或者小組織很少會使用這種土豪級套餐,只能老老實實的撥號上網(wǎng) —— 無論是電信,還是網(wǎng)通鐵通各種通。
不少人都存在誤區(qū),認為撥號是物理信號的建立過程,在沒有撥上之前,點對點是不通的。如果真是這樣,那么撥號時賬號密碼是如何傳過去的呢?顯然不可能。事實上,終端之間時刻都是暢通的,只不過不撥號就無法得到IP、網(wǎng)關(guān)、會話等參數(shù),即使強制把包發(fā)給網(wǎng)關(guān),人家雖能收到,但沒有認證的會話是不予理睬的,你自然沒法上網(wǎng)。
PPPoE,大家經(jīng)常在撥號時看到這詞。Point-Point Protocol over Ethernet,故名思議,就是點對點的協(xié)議:用戶發(fā)送賬號密碼認證給終端(BRAS),并得到上網(wǎng) IP、網(wǎng)關(guān)地址、會話等。而且協(xié)議是基于以太網(wǎng)的,哪怕線路不是,也得想辦法把數(shù)據(jù)封裝進去。
傳統(tǒng)的 ADSL 是通過電話線上網(wǎng)的,于是需要一個『貓』來把以太網(wǎng)數(shù)據(jù)調(diào)制成電話信號,最終通過電信交換機傳輸。這種設(shè)備保障每家每戶都是獨立的,以免電話信號被竊聽。
然而,后來興起的各種通就不一定了。不少打著的『千兆到樓,百兆到家』的寬帶,就是建了N個小區(qū)局域網(wǎng),然后合并到一個大的城域網(wǎng)(MAN)里。所謂的『百兆』,無非就是拖進你家的那根網(wǎng)線插在樓下一個 100Mbps 的交換機上而已。
用過網(wǎng)通的都知道,百兆帶寬并沒有快到哪里,甚至在一些南方地區(qū)網(wǎng)速慢如蝸牛。但在下載的時候,卻能輕松飆到數(shù)兆每秒。這時局域網(wǎng)的作用就發(fā)揮出來了,如果附近有多個人在看同樣的視頻,P2P 就直接在內(nèi)網(wǎng)里共享流量了,大幅減輕了節(jié)點的壓力。
但是,整個小區(qū)成了一個局域網(wǎng),是多么的不安全。有時甚至不合理的 VLAN 劃分,導致多個小區(qū)成一內(nèi)網(wǎng)。要是有人開啟 DHCP 服務(wù),其他用戶插上網(wǎng)線就能上網(wǎng)了,連撥號都不用,難道天上掉餡餅了?如果敢吃,那可能就落入黑客的陷阱了。
當然,現(xiàn)在直接插網(wǎng)線的并不多,基本通過路由器自動撥號了。但他們的協(xié)議都是一樣的 —— PPPoE,一種極不安全的協(xié)議。
類似 DHCP 協(xié)議,PPPoE 也是通過廣播來探尋有哪些可用的終端,意味著整個小區(qū)的內(nèi)網(wǎng)用戶都能收到;同時探尋包一直往上冒泡,直到被城域網(wǎng)的終端們收到,然后開始紛紛回應。
如果小區(qū)里有人私自開啟一個 PPPoE 終端服務(wù),顯然是最先被收到的。真正的回應包還在大街小巷里傳遞著,用戶和黑客已經(jīng)開始協(xié)商認證了。
不過或許你會說,這必須有人撥號才能上鉤,現(xiàn)在都用路由器,長年累月不會斷開。如果不想耐心等,也有很簡單的方法:來一次集體掉線。
剛剛說過,可以用短路的網(wǎng)線,引發(fā)一場廣播風暴。不過這太過暴力了,甚至會引起流量異常的報警。我們可以使用更簡單有效的方法:MAC 欺騙,不停偽造終端服務(wù)器的 MAC 地址,就可以將小區(qū)用戶的數(shù)據(jù)包統(tǒng)統(tǒng)吸過來了。
PPPoE 使用的是一種隧道方式,將任何數(shù)據(jù)都封裝在其棧下,因此捕捉到用戶任意一個包,即可得到 PPPoE 棧上的會話 ID。然后冒充終端,向用戶發(fā)送一個『斷開連接』的指令,用戶就乖乖下線了。使用這種方法,分分鐘就能讓整個小區(qū)的用戶重新?lián)芤淮翁?,于是可以快速釣魚了。
還有更糟的是,PPPoE 絕大多數(shù)時候都是明文傳輸用戶名和密碼的,因此還能額外獲得用戶發(fā)來的認證賬號。
前面吐槽了大學寢室樓 1000 多機器還不劃 VLAN 的,于是寫一個簡單的 PPPoE 模擬器,就能輕松抓到整個網(wǎng)絡(luò)環(huán)境里的上網(wǎng)賬號。(還支持一鍵全都撥上,集體下線的惡作劇功能~)
防范措施:由于 PPPoE 的安全嚴重依賴物理層,所以盡量不要裝以太網(wǎng)接入的寬帶。當然,管理員們應該嚴格限制 PPPoE 搜尋回復包,就像 DHCP 那樣只允許特定接口出現(xiàn)。事實上小區(qū)內(nèi)部是不可能出現(xiàn) BRAS 服務(wù)器的,因此只允許交換機的 WAN 口出現(xiàn)回復包,那樣就不容易被釣魚了。
PPPoE 還有個更嚴重 BUG,會話 ID 只有 2 字節(jié),最多 65536 種可能。事先構(gòu)造個『撥號斷開』的請求包,接著把會話 ID 依次遍歷一下,就能讓某個終端服務(wù)器的所有用戶下線。如果事先收集好所有終端服務(wù)器地址,可以發(fā)起一次全城斷網(wǎng)- -
這個 BUG 應該早已經(jīng)修復了,只需綁定 <會話 ID,用戶 MAC,小區(qū) VLAN-ID> 關(guān)系即可。而且一個小腳本就能斷開全城各縣市的網(wǎng)絡(luò),說明終端部署不能太過集中。
蜜罐代理
由于眾所周知的原因,某國對代理的需求居高不下。不管黑的白的,透明的還是高匿的,只要能翻出去就是好的。
VPN 需要用戶名密碼以及各種認證,中途被劫持幾乎是不可能的。黑客抓住了人們的純真的心里,將目光轉(zhuǎn)到代理上面。的確,加密后的數(shù)據(jù)中途確實難以劫持,但最終仍要在服務(wù)端還原出真實內(nèi)容吧。如果一時大意,連接了某個免費的 VPN,或許就登上了黑客的賊船了。
相比 HTTP 代理只影響部分功能,VPN 將整個系統(tǒng)的流量都通過穿越過去了。而這一切應用程序并不知曉,仍然將一些重要的數(shù)據(jù)往外發(fā)送,最終被黑客所劫持。
防范措施:不要貪圖小利,用那些打著免費幌子的代理。天下沒有免費的午餐。
很多蜜罐代理未必是黑客布下的,而是你懂的。
WiFi 弱口令
當互聯(lián)網(wǎng)延伸到移動設(shè)備時,網(wǎng)線成了最大的累贅,無線網(wǎng)絡(luò)逐漸進入人們視野。如今,由于無線的廉價和便利,幾乎應用到所有的便捷設(shè)備。一切都不再受限制,人們可以隨時隨地上網(wǎng),這是過去難以想象的;黑客也可以隨時隨地發(fā)起攻擊,這是過去夢寐以求的。
但無論上網(wǎng)方式如何變化,以太網(wǎng)始終是網(wǎng)絡(luò)的核心。如同剛才說的 ADSL,盡管載體是電話線路,但最終解調(diào)出來的仍是以太網(wǎng)數(shù)據(jù)。WiFi 也一樣,無論電波怎樣傳播,最終只有還原出標準的以太網(wǎng)封包才能被路由。
無線網(wǎng)絡(luò)形同一個看不見的巨大集線器,無需任何物理傳播介質(zhì),附近所有人都可以收聽數(shù)據(jù)信號,專業(yè)設(shè)備甚至能在更遠處捕獲。如果沒有一種強有力的加密方式把數(shù)據(jù)封裝起來,那么就毫無隱私可言了。
在經(jīng)歷了各種加密被攻破后,WPA2 如今成為無線網(wǎng)絡(luò)標準加密算法。如果企圖通過傳統(tǒng)爆后臺那樣,一次次的嘗試弱口令去連接,那效率將是何其的低下。
和撥號不同,WiFi 用戶首先需『關(guān)聯(lián)』熱點,以建立起物理通道。類似 PPPoE 那樣,WiFi 在認證之前也是可以通信的,并且是明文數(shù)據(jù) —— 不過,這僅僅是認證數(shù)據(jù)包明文而已,真正密碼顯然不會出現(xiàn)在其中。畢竟它和撥號的目的完全不同:一個是為了加密之后所有的流量,而后者僅僅識別下你有沒有上網(wǎng)的權(quán)限。
通過傳統(tǒng)的嗅探工具,可以方便獲取這些握手通信包。盡管找不出密碼,但里面保存著密鑰初始化相關(guān)的數(shù)據(jù)。通過專業(yè)的 WPA2 破解工具,加上豐富的密碼字典,有相當一部分的無線網(wǎng)絡(luò),能在可接受的時間里被破解。
對于不少人來說,無線密碼是他第一道也是唯一一道防線。連上之后,不出意外即可輕易進入路由器后臺,然后就可以控制他整個內(nèi)網(wǎng)的流量了。
防范措施:最簡單也是最有效的方法:給密碼加些特殊符號。
如果給他的路由器刷一個固件,能自動破解其他的無線網(wǎng)絡(luò),破解之后自動進后臺,自動給它升級自己的固件。。。排山倒海的路由器木馬爆發(fā)了。
WiFi 熱點釣魚
上面簡單的說了無線密碼的破解。但若本來就知道密碼的情況下,又如何發(fā)起入侵呢?
這種場合很常見,在一些商場、餐廳、旅館等地方,無線網(wǎng)絡(luò)即使有密碼,大家一般也能在墻上或卡片上找到,處于半公開的狀態(tài)?;蛘呤瞧平饬肃従拥臒o線密碼,但無法進入路由器后臺,又該如何繼續(xù)?
如今越來越智能的無線設(shè)備,已能很好的防御諸如 MAC 欺騙以及 ARP 攻擊這類原始入侵了,因此需要一個更先進和隱蔽的方式,能繞過網(wǎng)絡(luò)設(shè)備,直接發(fā)起點對點的進攻。
在大公司或大商場上過無線網(wǎng)的用戶會發(fā)現(xiàn),在室內(nèi)無論走到哪里網(wǎng)絡(luò)都存在,即使從一層到五層信號照樣滿格,而在自己家中信號隔墻就下降不少。難道是開了信號特別強大的熱點嗎?但在建筑外面卻收不到。事實上,不難發(fā)現(xiàn)每層樓天花板上,都吸附著不少盤子似的東西。沒錯,正是這些分布在各處的設(shè)備,覆蓋了整棟樓的無線網(wǎng)絡(luò),讓信號死角變得更少。
但是同時存在那么多熱點,搜索列表里顯示的卻沒有幾個。因為他們都有著同樣的熱點名(SSID),客戶端通常會將同名熱點合并成一個。至于連接時,系統(tǒng)會選擇信號最好的那個。如果這些熱點的認證方式也是相同的,無論連哪個都沒問題。
仔細揣摩這條特征,不難發(fā)現(xiàn)其中大有文章可做 —— 這不天生就為我們釣魚準備的!我們再開一個同名同認證的偽熱點,只要在信號上壓倒對方,釣上附近的魚兒那是妥妥的。
目前幾乎還沒有哪個客戶端對此有防御,無論是商場還是咖啡店,甚至是一些大公司里,對此也束手無策。原因很簡單,問題既不出在設(shè)備、也不是部署上,更不能歸咎與用戶。這是整個協(xié)議棧的弱點。
發(fā)起此攻擊的唯一材料,就是一個超大功率的熱點,以此來壓倒正常的,爭做用戶『最信賴』的信號源。
其實,每個熱點都時時刻刻廣播著一種叫 Beacon 的數(shù)據(jù)包,里面帶有熱點名等相關(guān)的信息。用戶網(wǎng)卡收集之后進過篩選分析,即可得知附近有哪些熱點,各自信號如何。功率大的熱點,用戶接收時的信號強度(RSSI)自然也會高一些。
當然,過高的信號源可能會引起一些監(jiān)控的警覺,自己也被置于巨大的輻射之中。如果僅僅是對某個方位片殺,使用定向天線會有更好的效果。
不過,光有發(fā)射能力還是不夠的。即使能把 Beacon 推送到數(shù)十公里外,讓全城都能看見你的熱點名,但前來連接的設(shè)備可沒有那么強勁信號。因此沒有一個高靈敏的接收系統(tǒng),再強的信號也只是一廂情愿罷了。
防范措施:因為是底層的缺陷,這種劫持通常很難防護。從理論上說,熱點通常是固定著的,因此可以事先記錄下每個熱點的3D坐標,然后根據(jù) WiFi 定位時刻監(jiān)控熱點位置,如果某個熱點信號出現(xiàn)在遠離事先的地方,很可能是釣魚熱點發(fā)出的假信號。
但在現(xiàn)實中,要同時追蹤那么多設(shè)備并不容易。除非所有的無線設(shè)備,都自帶監(jiān)控附近熱點的功能,那樣可以節(jié)省大量追蹤成本。
不過在安全性高的場合,還是使用『接入認證』,連接時要求輸入用戶名和密碼來準入。
用戶成功連上 WiFi 后,導致網(wǎng)絡(luò)狀態(tài)發(fā)生改變,一些系統(tǒng)會嘗試請求某個特定的 URL,如果返回的是 HTTP 302,會自動彈出重定向后的網(wǎng)頁。目的是為了方便打開網(wǎng)頁版的準入,有時連上 CMCC 會自動彈出一個登錄網(wǎng)頁就是如此。iPhone,iPad,WP 都支持,MacOS 最新版彈出的網(wǎng)頁不會執(zhí)行腳本了。利用這個廢功能來彈廣告應該很不錯~
WiFi 強制斷線
不得不說 WiFi 的另一個缺陷 —— 被下線。類似 PPPoE 主動或被動斷開撥號時都有一個注銷包,WiFi 也一樣。
之前提到,遍歷 PPPoE 的會話ID,冒充所有用戶發(fā)出注銷請求,可以斷開全城的網(wǎng)絡(luò)。WiFi 也有類似的缺陷,只不過正好反過來:冒充熱點,向所有用戶廣播注銷包,于是所有連著該熱點的用戶都下線了。
不過,WiFi 的被下線僅僅是認證被注銷,用戶和熱點仍是關(guān)聯(lián)著的。用戶接著重新發(fā)起認證,因此又給黑客一個獲取握手數(shù)據(jù)的機會。
如果廣播持續(xù)不斷,用戶也就一直沒法上網(wǎng),屏幕上會不停的閃爍著『連接中... / 已斷開』。對方可能會嘗試重啟路由,但發(fā)現(xiàn)問題仍在,而且所有設(shè)備都是這情況,會認為路由器出問題了,于是嘗試恢復出廠設(shè)置 —— 這一刻,危險降臨了!
照國產(chǎn)路由器的風格,出廠時 WiFi 是沒有密碼的,而且后臺基本是弱口令。因此有個非常短暫的安全縫隙,能鉆入這臺設(shè)備并拿下他的網(wǎng)絡(luò)!如果事先寫好腳本,一旦發(fā)現(xiàn)有開放的熱點,立即連上并且爆入后臺,更是可以直接秒殺!對方剛恢復完路由器,還沒回到電腦前就已被劫持了,這是無論如何也想不到的。。。
當然,為了防止他之后進入路由器改密碼,你必須立即隱藏 SSID,讓 Beacon 不再發(fā)出,這樣大家都看不見這臺設(shè)備了,只能通過 BSSID(路由器 MAC 地址)來連接。但是人家會有疑問,剛恢復好的路由器怎么看不見?這時得事先建立一個釣魚熱點,名字和那被隱藏的 SSID 一樣,將對方引誘到自己的蜜罐上。
在這個蜜罐里開啟一個和路由器頁面差不多的站點(可以直接反向代理他路由器的頁面),拖住用戶,讓你有充足的時間來操作那臺被隱藏的真設(shè)備。甚至可以換掉他固件了!
當然,有些設(shè)備不讓輕易更新固件,需要輸入路由器上的某個號碼,或者按一個鍵才能開始。這時得發(fā)揮蜜罐站點的作用了,你可以在頁面上畫個文本框,提示他輸入路由器上的那號碼,或者直接讓他去按那按鈕。由于路由器后臺太過專業(yè),很少會有人質(zhì)疑它的權(quán)威性,幾乎都是按部就班。
事實上,你的蜜罐一直開著,對方肯定會在里面配置 WiFi 密碼和管理密碼,以及 PPPoE 賬號。于是他的一切上網(wǎng)秘密都被掌控!即使不改他路由器也無所謂了,以后可以隨時進入。
防范措施:不要輕易恢復路由器的出廠設(shè)置。真有必要請務(wù)必留神,盡快改掉默認密碼。即使周圍沒有黑客,一些中毒的設(shè)備隨時可能來連上并爆進后臺竄亂。
軟硬兼施,這招是不是太陰了?稍微用一點心理學或是社工,原本不怎么嚴重的漏洞可以擴大很多倍。
WLAN 基站釣魚
前面說的熱點釣魚,只能在特定的場合下進行。劫持KFC的用戶,只能在KFC附近;入侵小區(qū)的路由,只能在家完成。這極大的限制了攻擊范圍,完全沒有發(fā)揮出無線網(wǎng)絡(luò)的靈活性。
然而有一種網(wǎng)絡(luò),無論走到哪都能收到。打開手機,總能看見 CMCC 這類熱點如同幽靈一般存在。如今,WLAN 業(yè)務(wù)已遍地開花,幾乎覆蓋了全國各地。它支持更高的頻段,并向下兼容 WiFi,設(shè)備遍布全城,試圖打造一個無線城域網(wǎng)。唯一的遺憾是收費的,而且信號也一般,遠不如 3G 實用。
有時我們并沒有連接這些熱點,系統(tǒng)卻自動連上了。原因很簡單,之前某個時候手賤,去連過它們。而系統(tǒng)會保存主動連過的熱點,再次出現(xiàn)時就自動上了。事實上,去連過這些熱點的人不在少數(shù)。
不用說,你也想到開熱點釣魚了。并且用戶幾乎都是用 WiFi 來連接,也就沒有必要使用 WLAN 設(shè)備。使用之前的大功率熱點,取個 CMCC 的名字,放在陽臺上對著大街,不一會就連上一堆用戶了。要是支持虛 AP 的話,把 CMCC-AUTO,ChinaNet 等等這些名字全部用上,前來光臨的就更多了。
上面提到了,不少設(shè)備連上 WiFi 后能自動彈網(wǎng)頁,利用這個特性,釣魚就更容易了。大多手機系統(tǒng)為了節(jié)省流量,當 WiFi 和 3G 同時可用時,會優(yōu)先使用 WiFi,于是用戶的流量不知不覺流到黑客那里。
事實上,我們還可以把整套釣魚方案集成到安卓里。利用手機創(chuàng)建的熱點吸引附近的用戶,捕捉到的流量還可以通過自己的 3G 網(wǎng)絡(luò)代理出去。使用 Linux 內(nèi)核強大的轉(zhuǎn)發(fā)機制,我們可以輕易的控制用戶的各種流量。以后可別嘲笑街上低頭玩手機的人,人家說不定正在劫持你呢。
不過,在一些地方例如地鐵上面,3G 信號很差,難以將熱點收到的數(shù)據(jù)轉(zhuǎn)發(fā)出去,因此只能釣魚無法劫持。這種單機模式是否仍能入侵呢?下篇文章將敘述,如何發(fā)起離線釣魚。
防范措施:WiFi 不用就應及時關(guān)閉,以免自動連上不安全的熱點。對于一些長期不用的連接記錄,不如趁早刪了吧。
安卓熱點默認只支持 10 個用戶,在街上開個叫 CMCC 的熱點,會發(fā)現(xiàn)瞬間就連滿了。所以還是把筆記本藏書包里,配幾個好點的無線網(wǎng)卡,既隱蔽效果也好。大功率天線雖然很過癮,但不能過度使用,說不定哪天就被查水表了~
結(jié)尾
就談到這里吧,這些只是之前嘗試有效的案例,事實上還有太多的途徑,要是再算上系統(tǒng)內(nèi)部的方式那就無數(shù)了。但不論如何變化,流量劫持的最終利用方式幾乎是如出一轍的 —— 利用它能做些什么呢?終極危害能有多大?請聽下回分解。
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。
