天天看點

安全科普:流量劫持的方式和途徑

流量劫持,這種古老的攻擊沉寂了一段時間後,最近又開始鬧的沸沸揚揚。衆多知名品牌的路由器相繼爆出存在安全漏洞,引來國内媒體紛紛報道。隻要使用者沒改預設密碼,打開一個網頁甚至文章,路由器配置就會被暗中修改。網際網路一夜間變得岌岌可危。

攻擊還是那幾種攻擊,報道仍是那千篇一律的磚家提醒,以至于大家都麻木了。早已見慣營運商的各種劫持,頻繁的廣告彈窗,大家也無可奈何。這麼多年也沒出現過什麼損失,也就睜隻眼閉隻眼。

事實上,僅僅被營運商劫持算是比較幸運了。相比隐匿在暗中的神秘黑客,營運商作為公衆企業還是得守法的,廣告劫持雖無節操但還是有底線的。這不,能讓你看見廣告了,也算是在提醒你,目前網絡存在被劫持的風險,得留點神;相反,一切看似風平浪靜毫無異常,或許已有一個天大的間諜潛伏在網絡裡,随時等你上鈎 —— 這可不是彈廣告那樣簡單,而是要謀财盜号了!

我會被劫持嗎?

不少人存在一個錯誤的觀點:隻有那些安全意識薄弱的才會被入侵。隻要裝了各種專業的防火牆,系統更新檔及時更新,所有的密碼都很複雜,劫持肯定是輪不到我了。

的确,安全意識強的自然不容易被入侵,但那隻對傳統的病毒木馬而已。而在流量劫持面前,幾乎是人人平等的。網絡安全與傳統的系統安全不同,網絡是各種硬體裝置組合的整體,木桶效應尤為明顯。即使有神一樣的系統,但遇到豬一樣的裝置,你的安全等級瞬間就被拉低了。現在越來越流行便宜的小路由,它們可是承載着各種網上交易的流量,你能放心使用嗎?

即使你相信系統和裝置都絕對可靠,就能高枕無憂了嗎?事實上有問題的裝置并不多,但出問題的事卻不少,難道其中還存在什麼缺陷?沒錯,還遺漏了最重要的一點:網絡環境。

如果網絡環境裡有黑客潛伏着,即使有足夠專業的技術,是在所難逃了,敵暗我明,稍不留神就會落入圈套。

當然,蒼蠅不叮無縫的蛋。有哪些隐患導緻你的網絡環境出現了裂縫?太多了,從古到今流行過的攻擊方式數不勝數。甚至可以根據實際環境,自己創造一種。

現在回憶下嘗試過的劫持案例。

上古時代:

Hub 嗅探
MAC 欺騙
MAC 沖刷
ARP 攻擊
DHCP 釣魚
DNS 劫持
CDN 入侵
           

中世紀:

路由器 CSRF
PPPoE 釣魚
           

工業時代:

WiFi 強制斷線
WLAN 基站釣魚
           

Hub 嗅探

集線器(Hub)這種裝置如今早已銷聲匿迹了,即使在十年前也少有人用。作為早期的網絡裝置,它唯一的功能就是廣播資料包:把一個接口的收到的資料包群發到所有接口上。且不吐槽那小得驚人的帶寬,光是這轉發規則就是多麼的不合理。任何人能收到整個網絡環境的資料,隐私安全可想而知。

安全科普:流量劫持的方式和途徑

嗅探器成了那個時代的頂尖利器。隻要配置好過濾器,不多久就能捕捉到各種明文資料,使用者卻沒有任何防禦對策。

防範措施:還在用的趕緊扔了吧。

這種裝置目前唯一可用之處就是旁路嗅探。利用廣播的特性,可以非常友善分析其他裝置的通信,例如抓取機頂盒的資料包而不影響正常通信。

MAC 欺騙

交換機的出現逐漸淘汰了集線器。交換機會綁定 MAC 位址和接口,資料包最終隻發往一個終端。是以隻要事先配置好 MAC 對應的接口,理論上非常安全了。

安全科普:流量劫持的方式和途徑

不過,很少有人會那麼做,大多為了偷懶,直接使用了裝置預設的模式 —— 自動學習。裝置根據某個接口發出的包,自動關聯該包的源位址到此接口。

然而這種學習并不智能,甚至太過死闆,任何一個道聽途說都會當作真理。使用者發送一個自定義源 MAC 位址的包是非常容易的,是以交換機成了非常容易被忽悠的對象。隻要僞造一個源位址,就能将這個位址關聯到自己的接口上,以此獲得受害者的流量。

安全科普:流量劫持的方式和途徑

不過,受害者接着再發出一個包,綁定關系又恢複原先正常的。是以隻要比誰發的頻繁,誰就能競争到這個 MAC 位址的接收權。如果僞造的是網關位址,交換機就誤以為網關電纜插到你接口上,網絡環境裡的出站流量瞬間都到了你這裡。

當然,除非你有其他出站管道,可以将竊取的資料代理出去;否則就别想再轉發給被你打垮的真網關了,被劫持的使用者也就沒法上外網。是以這招危害性不是很大,但破壞性很強,可以瞬間集體斷網。

防範措施:機器固定的網絡盡量綁定 MAC 和接口吧。貌似大多數網吧都綁定了 MAC 和接口,極大增強了鍊路層的安全性。同時,獨立的子網段盡可能劃分 VLAN,避免過大的廣播環境。大學裡見過千人以上還不劃分 VLAN 的,用一根短路網線就可以毀掉整個網絡。

MAC 沖刷

之前說了集線器和交換機的轉發差別。如果交換機發現一個暫時還未學習到的 MAC 位址,将會把資料包送往何處呢?為了不丢包,隻能是廣播到所有接口。

安全科普:流量劫持的方式和途徑

如果能讓交換機的學習功能失效,那就退化成一個集線器了。由于交換機的硬體配置有限,顯然不可能無限多的記錄位址對應條目。我們不停僞造不重複的源位址,交換機裡的記錄表很快就會填滿,甚至覆寫原有的學習記錄,使用者的資料包無法正常轉發,隻能廣播到所有接口上了。

安全科普:流量劫持的方式和途徑

防範措施:還是 MAC 和接口綁定。一旦綁定,該接口隻允許固定的源位址,僞造的自然就失效了。當然,好一點的交換機都有些政策,不會讓一個接口關聯過多的 MAC 位址。

曾經在家試過一次,捕捉到小區内使用者上網的流量。不過僞造包發的太快,~15萬包/秒,更緻命的是發錯目标位址,發到城域網準入伺服器上,導緻從業人員切斷了整個小區半天的網絡… 是以必須得選一個 VLAN 内的、并且實際存在的位址做為目标 MAC,以免産生大量的資料風暴。

ARP 攻擊

這種攻擊大家幾乎都聽出老繭了,即使不懂電腦的人也知道裝個 ARP 防火牆保平安,其危害之大可想而知。

簡單的說,ARP 就是廣播查詢某個 IP 對應的 MAC 位址,在用這個 IP 的人回個聲。知道這個 IP 對應的 MAC 位址,就可以鍊路通信了(鍊路層隻能通過MAC位址通信)。如果有人冒充回複,并搶在正常人之前,僞造的答案也就先入為主。IP 被解析到錯誤的位址上,之後所有的通信都被劫持了。

安全科普:流量劫持的方式和途徑

事實上,早期的系統還有個更嚴重的BUG:直接給使用者發送一個 ARP 回複包,即使對方從沒請求過,系統也會接受這個回複,并提前儲存裡面的記錄。這種基于緩存的投毒,讓劫持成功率更上一層樓。

安全科普:流量劫持的方式和途徑

防範措施:由于這種攻擊太過泛濫,以至大部分路由器都帶了防 ARP 攻擊的功能。用戶端的 ARP 防火牆也數不勝數,似乎成了安全軟體的标配。當然,系統也支援強制綁定 IP 與 MAC 的對應,必要時可以使用。

很多教程都是用 Wireshark 來示範,事實上當年有一款叫 Iris 的軟體非常好用,可以修改封包再次發送,用它可以很容易搞明白各種攻擊的原理。不過N年沒更新了還不支援64位的。

DHCP 釣魚

現實中,并不是每個人都會配置網絡參數,或者出于友善,讓網絡系統自動配置。出于這個目的,DHCP 服務誕生了。

由于沒有配置IP位址、網關、DNS 等,在網絡上是寸步難行的,是以首先需要從 DHCP 那獲得這些。然而,既然連 IP 位址都沒有,那又是如何通信的?顯然,隻能發到廣播位址(255.255.255.255)上,而自己則暫時使用無效的IP位址(0.0.0.0)。(事實上,鍊路層的通信隻要有 MAC 位址就行,IP 位址已屬于網絡層了,但 DHCP 由于某些特殊需要使用的是 UDP 協定)

因為是發往廣播,内網環境裡的所有使用者都能聽到。如果存在多個DHCP伺服器,則分别予以回複;使用者則選擇最先收到的。由于規則是如此簡單,以至于使用者沒有選擇的餘地。

尚若黑客也在内網裡也開啟了 DHCP 服務,使用者收到的回複包很可能就是黑客發出的,這時使用者的網絡配置完全聽天由命了,不想被劫持都難了。

防範措施:如果是用網線上網的話,最好還是手動的配置。當然,管理者應該嚴格控制 DHCP 回複的權限,隻允許交換機特定的接口才有資格發送回複包。

隻要是這類提問/搶答模式的,都面臨被冒充回答的風險。很多原理都類似。

DNS 劫持

如同 ARP 将 IP 解析成 MAC 位址 一樣,DNS 負責将域名解析成 IP 位址。作為網絡層的服務,面對的使用者更廣泛,當然面臨的風險也大的多。一旦遭到入侵,所有使用者都倒黴了。近些年的重大網絡事故無不和 DNS 有關。

DNS 服務一旦被黑客控制,使用者發起的各種域名解析,都将被暗中操控。将正常網站解析成黑客伺服器的 IP,并事先開啟了 HTTP 代理,使用者上網時幾乎看不出任何破綻;而黑客則擷取到所有通路流量,各種網站賬号資訊都将一覽無餘。

安全科普:流量劫持的方式和途徑

由于 DNS 伺服器的重要性,現實中通常有着較高的安全防護,想入侵它系統不是件易事。但實際未必如此興師動衆,一些 DNS 程式本身就存在着設計缺陷,導緻黑客能控制某些域名的指向。其中最惡名昭彰的當屬 DNS 緩存投毒。

大家或許已發現,域名->IP->MAC->接口,隻要是動态查詢的就會多一個環節,風險自然增加。靈活性與安全性始終是不可兼得。

防範措施:手動設定一些權威的 DNS 伺服器,例如 8.8.8.8,4.4.4.4 會靠譜的多。

公網上的 DNS 劫持很少發生,但家用路由器的 DNS 劫持已泛濫成災了。開頭報道的路由器漏洞,最終的利用方式也就是修改了 DNS 位址。

CDN 入侵

CDN 能加速大家都知道,但其中原理不少人都不清楚。其實,CDN 本身就是一種 DNS 劫持,隻不過是良性的。

不同于黑客強制 DNS 把域名解析到自己的釣魚 IP 上,CDN 則是讓 DNS 主動配合,把域名解析到臨近的伺服器上。這台伺服器同樣也開啟了 HTTP 代理,讓使用者感覺不到 CDN 的存在。

不過 CDN 不像黑客那樣貪心,劫持使用者所有流量,它隻『劫持』使用者的靜态資源通路,對于之前使用者通路過的資源,CDN 将直接從本地緩存裡回報給使用者,是以速度有了很大的提升。

然而,隻要是有緩存的地方,都是大有可為的。一旦 CDN 伺服器遭受入侵,硬碟上的緩存檔案就岌岌可危了,網頁被注入腳本,可執行檔案被感染,一大波僵屍即将出現。

安全科普:流量劫持的方式和途徑

防範措施:感覺營運商不靠譜的話,換個第三方不帶加速的 DNS,或許就不會解析到 CDN 伺服器上了。

不少 CDN 黑白通吃,為了省流量不按套路出牌,超過了緩存時間也不更新,甚至還有忽略 URL 問号後面的,導緻程式猿們在資源更新的問題上頭疼不已。

路由器弱密碼

當電腦價格一再下降,到了大家打算買第二台的時候,路由器市場也随之火熱起來。

但由于繁瑣的配置,差勁的使用者體驗,至今仍有相當部分的使用者不明白如何配置路由器。192.168.1.1 和 admin/admin 幾乎成了國内路由器的常量。多少回,用這毫無技術含量的方法進入網吧或圖書館的路由器背景。

如果有人惡搞重新開機路由,或者給他人限速,你得感謝他的仁慈,這都算不嚴重。要是把路由器的DNS給改了,那就相當嚴重了!公網的 DNS 劫持一般不會持續太久,但路由器的 DNS 劫持也許長年累月都不會覺察到。

事實上,不乏一些安全意識強的使用者也使用預設密碼。理由很簡單,目前的路由器有兩道門檻:一個 WiFi 連接配接密碼,另一個才是管理密碼。很多人設定了複雜的 WiFi 密碼就高枕無憂了,心想都連不到我的網絡裡怎麼可能進的了背景?

之前我也有過這觀念,但總覺不對勁:萬一家裡其他電腦或手機中毒了,自動嘗試用弱密碼爆進路由器背景怎麼辦。城門都被占領了,城牆再牢固又有何用。

安全科普:流量劫持的方式和途徑

事實上,黑客除了修改 DNS 配置外,還有更恐怖的行為:更新路由器的固件 —— 替換成一個看似完全相同但植入了惡意程式的固件!盡管這目前還尚未普及,然而一旦流行,大批路由器将成為潘多拉魔盒。

防範措施:千萬别輕視路由器的密碼,其實它比你所有賬号都重要。

不改預設密碼的使用者,神都保佑不了你~

路由器 CSRF

回到本文開始所說的,為什麼有那麼多路由器會出現這個漏洞呢?也許是路由器的開發人員太高估使用者了,認為絕大多數使用者都修改了預設密碼,是以 CSRF 幾乎難以産生。

事實上,國内網民的安全意識遠超他們的想象。加上剛才說的,隻設定了 WiFi 密碼而忽略了管理密碼,導緻一個惡意程式就能悄悄進入路由器背景。

沒想到現在這種病毒還真出現了,而且居然還是 Web 版的!

安全科普:流量劫持的方式和途徑

CSRF 漏洞讓病毒木馬都用不着了。使用者直接通路一個網頁,甚至是一文章,浏覽器自動向路由器發起修改配置的請求。

由于國産路由器的網頁開發是如此的差勁,登入基本都是用既不安全又醜陋的 HTTP 401 彈框。這種登入隻需在URL裡填上『使用者名:密碼@』即可自動通過,即使登入失敗也不會有什麼提示。

防範措施:絕對要看管好路由器密碼,并且定期去檢查配置是否被篡改。

看過路由器頁面源代碼會發現,那簡直是慘不忍睹,甚至還是 IE5 時代的風格。路由器晶片都是采購的,核心也有開源的,所謂的『自主研發』就是做了那幾個頁面?

PPPoE 釣魚

好了,不吐槽路由器了,下面說說再進階的路由器也無法避免的事。

除了一些大公司或學校,用的是固定的專線接入上網,個人或者小組織很少會使用這種土豪級套餐,隻能老老實實的撥号上網 —— 無論是電信,還是網通鐵通各種通。

不少人都存在誤區,認為撥号是實體信号的建立過程,在沒有撥上之前,點對點是不通的。如果真是這樣,那麼撥号時賬号密碼是如何傳過去的呢?顯然不可能。事實上,終端之間時刻都是暢通的,隻不過不撥号就無法得到IP、網關、會話等參數,即使強制把包發給網關,人家雖能收到,但沒有認證的會話是不予理睬的,你自然沒法上網。

PPPoE,大家經常在撥号時看到這詞。Point-Point Protocol over Ethernet,故名思議,就是點對點的協定:使用者發送賬号密碼認證給終端(BRAS),并得到上網 IP、網關位址、會話等。而且協定是基于以太網的,哪怕線路不是,也得想辦法把資料封裝進去。

傳統的 ADSL 是通過電話線上網的,于是需要一個『貓』來把以太網資料調制成電話信号,最終通過電信交換機傳輸。這種裝置保障每家每戶都是獨立的,以免電話信号被竊聽。

然而,後來興起的各種通就不一定了。不少打着的『千兆到樓,百兆到家』的寬帶,就是建了N個小區區域網路,然後合并到一個大的城域網(MAN)裡。所謂的『百兆』,無非就是拖進你家的那根網線插在樓下一個 100Mbps 的交換機上而已。

用過網通的都知道,百兆帶寬并沒有快到哪裡,甚至在一些南方地區網速慢如蝸牛。但在下載下傳的時候,卻能輕松飙到數兆每秒。這時區域網路的作用就發揮出來了,如果附近有多個人在看同樣的視訊,P2P 就直接在内網裡共享流量了,大幅減輕了節點的壓力。

但是,整個小區成了一個區域網路,是多麼的不安全。有時甚至不合理的 VLAN 劃分,導緻多個小區成一内網。要是有人開啟 DHCP 服務,其他使用者插上網線就能上網了,連撥号都不用,難道天上掉餡餅了?如果敢吃,那可能就落入黑客的陷阱了。

當然,現在直接插網線的并不多,基本通過路由器自動撥号了。但他們的協定都是一樣的 —— PPPoE,一種極不安全的協定。

類似 DHCP 協定,PPPoE 也是通過廣播來探尋有哪些可用的終端,意味着整個小區的内網使用者都能收到;同時探尋包一直往上冒泡,直到被城域網的終端們收到,然後開始紛紛回應。

如果小區裡有人私自開啟一個 PPPoE 終端服務,顯然是最先被收到的。真正的回應包還在大街小巷裡傳遞着,使用者和黑客已經開始協商認證了。

安全科普:流量劫持的方式和途徑

不過或許你會說,這必須有人撥号才能上鈎,現在都用路由器,長年累月不會斷開。如果不想耐心等,也有很簡單的方法:來一次集體掉線。

剛剛說過,可以用短路的網線,引發一場廣播風暴。不過這太過暴力了,甚至會引起流量異常的報警。我們可以使用更簡單有效的方法:MAC 欺騙,不停僞造終端伺服器的 MAC 位址,就可以将小區使用者的資料包統統吸過來了。

PPPoE 使用的是一種隧道方式,将任何資料都封裝在其棧下,是以捕捉到使用者任意一個包,即可得到PPPoE棧上的會話ID。然後冒充終端,向使用者發送一個『斷開連接配接』的指令,使用者就乖乖下線了。使用這種方法,分分鐘就能讓整個小區的使用者重新撥一次号,于是可以快速釣魚了。

還有更糟的是,PPPoE 絕大多數時候都是明文傳輸使用者名和密碼的,是以還能額外獲得使用者發來的認證賬号。

前面吐槽了大學寝室樓 1000 多機器還不劃 VLAN 的,于是寫一個簡單的 PPPoE 模拟器,就能輕松抓到整個網絡環境裡的上網賬号。(還支援一鍵全都撥上,集體下線的惡作劇功能~)

安全科普:流量劫持的方式和途徑

防範措施:由于 PPPoE 的安全嚴重依賴實體層,是以盡量不要裝以太網接入的寬帶。當然,管理者們應該嚴格限制 PPPoE 搜尋回複包,就像 DHCP 那樣隻允許特定接口出現。事實上小區内部是不可能出現 BRAS 伺服器的,是以隻允許交換機的 WAN 口出現回複包,那樣就不容易被釣魚了。

PPPoE 還有個更嚴重 BUG,會話 ID 隻有 2 位元組,最多 65536 種可能。事先構造個『撥号斷開』的請求包,接着把會話 ID 依次周遊一下,就能讓某個終端伺服器的所有使用者下線。如果事先收集好所有終端伺服器位址,可以發起一次全城斷網- -

這個 BUG 應該早已經修複了,隻需綁定 <會話 ID,使用者 MAC,小區 VLAN-ID> 關系即可。而且一個小腳本就能斷開全城各縣市的網絡,說明終端部署不能太過集中。

蜜罐代理

由于衆所周知的原因,某國對代理的需求居高不下。不管黑的白的,透明的還是高匿的,隻要能翻出去就是好的。

VPN 需要使用者名密碼以及各種認證,中途被劫持幾乎是不可能的。黑客抓住了人們的純真的心裡,将目光轉到代理上面。的确,加密後的資料中途确實難以劫持,但最終仍要在服務端還原出真實内容吧。如果一時大意,連接配接了某個免費的 VPN,或許就登上了黑客的賊船了。

相比 HTTP 代理隻影響部分功能,VPN 将整個系統的流量都通過穿越過去了。而這一切應用程式并不知曉,仍然将一些重要的資料往外發送,最終被黑客所劫持。

安全科普:流量劫持的方式和途徑

防範措施:不要貪圖小利,用那些打着免費幌子的代理。天下沒有免費的午餐。

很多蜜罐代理未必是黑客布下的,而是你懂的。

WiFi 弱密碼

當網際網路延伸到移動裝置時,網線成了最大的累贅,無線網絡逐漸進入人們視野。如今,由于無線的廉價和便利,幾乎應用到所有的便捷裝置。一切都不再受限制,人們可以随時随地上網,這是過去難以想象的;黑客也可以随時随地發起攻擊,這是過去夢寐以求的。

但無論上網方式如何變化,以太網始終是網絡的核心。如同剛才說的 ADSL,盡管載體是電話線路,但最終解調出來的仍是以太網資料。WiFi 也一樣,無論電波怎樣傳播,最終隻有還原出标準的以太網封包才能被路由。

無線網絡形同一個看不見的巨大集線器,無需任何實體傳播媒體,附近所有人都可以收聽資料信号,專業裝置甚至能在更遠處捕獲。如果沒有一種強有力的加密方式把資料封裝起來,那麼就毫無隐私可言了。

在經曆了各種加密被攻破後,WPA2 如今成為無線網絡标準加密算法。如果企圖通過傳統爆背景那樣,一次次的嘗試弱密碼去連接配接,那效率将是何其的低下。

和撥号不同,WiFi 使用者首先需『關聯』熱點,以建立起實體通道。類似 PPPoE 那樣,WiFi 在認證之前也是可以通信的,并且是明文資料 —— 不過,這僅僅是認證資料包明文而已,真正密碼顯然不會出現在其中。畢竟它和撥号的目的完全不同:一個是為了加密之後所有的流量,而後者僅僅識别下你有沒有上網的權限。

通過傳統的嗅探工具,可以友善擷取這些握手通信包。盡管找不出密碼,但裡面儲存着密鑰初始化相關的資料。通過專業的 WPA2 破解工具,加上豐富的密碼字典,有相當一部分的無線網絡,能在可接受的時間裡被破解。

安全科普:流量劫持的方式和途徑

對于不少人來說,無線密碼是他第一道也是唯一一道防線。連上之後,不出意外即可輕易進入路由器背景,然後就可以控制他整個内網的流量了。

防範措施:最簡單也是最有效的方法:給密碼加些特殊符号。

如果給他的路由器刷一個固件,能自動破解其他的無線網絡,破解之後自動進背景,自動給它更新自己的固件。。。排山倒海的路由器木馬爆發了。

WiFi 熱點釣魚

上面簡單的說了無線密碼的破解。但若本來就知道密碼的情況下,又如何發起入侵呢?

這種場合很常見,在一些商場、餐廳、旅館等地方,無線網絡即使有密碼,大家一般也能在牆上或卡片上找到,處于半公開的狀态。或者是破解了鄰居的無線密碼,但無法進入路由器背景,又該如何繼續?

如今越來越智能的無線裝置,已能很好的防禦諸如 MAC 欺騙以及 ARP 攻擊這類原始入侵了,是以需要一個更先進和隐蔽的方式,能繞過網絡裝置,直接發起點對點的進攻。

在大公司或大商場上過無線網的使用者會發現,在室内無論走到哪裡網絡都存在,即使從一層到五層信号照樣滿格,而在自己家中信号隔牆就下降不少。難道是開了信号特别強大的熱點嗎?但在建築外面卻收不到。事實上,不難發現每層樓天花闆上,都吸附着不少盤子似的東西。沒錯,正是這些分布在各處的裝置,覆寫了整棟樓的無線網絡,讓信号死角變得更少。

但是同時存在那麼多熱點,搜尋清單裡顯示的卻沒有幾個。因為他們都有着同樣的熱點名(SSID),用戶端通常會将同名熱點合并成一個。至于連接配接時,系統會選擇信号最好的那個。如果這些熱點的認證方式也是相同的,無論連哪個都沒問題。

安全科普:流量劫持的方式和途徑

仔細揣摩這條特征,不難發現其中大有文章可做 —— 這不天生就為我們釣魚準備的!我們再開一個同名同認證的僞熱點,隻要在信号上壓倒對方,釣上附近的魚兒那是妥妥的。

安全科普:流量劫持的方式和途徑

目前幾乎還沒有哪個用戶端對此有防禦,無論是商場還是咖啡店,甚至是一些大公司裡,對此也束手無策。原因很簡單,問題既不出在裝置、也不是部署上,更不能歸咎與使用者。這是整個協定棧的弱點。

發起此攻擊的唯一材料,就是一個超大功率的熱點,以此來壓倒正常的,争做使用者『最信賴』的信号源。

其實,每個熱點都時時刻刻廣播着一種叫 Beacon 的資料包,裡面帶有熱點名等相關的資訊。使用者網卡收集之後進過篩選分析,即可得知附近有哪些熱點,各自信号如何。功率大的熱點,使用者接收時的信号強度(RSSI)自然也會高一些。

當然,過高的信号源可能會引起一些監控的警覺,自己也被置于巨大的輻射之中。如果僅僅是對某個方位片殺,使用定向天線會有更好的效果。

不過,光有發射能力還是不夠的。即使能把 Beacon 推送到數十公裡外,讓全城都能看見你的熱點名,但前來連接配接的裝置可沒有那麼強勁信号。是以沒有一個高靈敏的接收系統,再強的信号也隻是一廂情願罷了。

防範措施:因為是底層的缺陷,這種劫持通常很難防護。從理論上說,熱點通常是固定着的,是以可以事先記錄下每個熱點的3D坐标,然後根據 WiFi 定位時刻監控熱點位置,如果某個熱點信号出現在遠離事先的地方,很可能是釣魚熱點發出的假信号。

但在現實中,要同時追蹤那麼多裝置并不容易。除非所有的無線裝置,都自帶監控附近熱點的功能,那樣可以節省大量追蹤成本。

不過在安全性高的場合,還是使用『接入認證』,連接配接時要求輸入使用者名和密碼來準入。

使用者成功連上 WiFi 後,導緻網絡狀态發生改變,一些系統會嘗試請求某個特定的 URL,如果傳回的是 HTTP 302,會自動彈出重定向後的網頁。目的是為了友善打開網頁版的準入,有時連上 CMCC 會自動彈出一個登入網頁就是如此。iPhone,iPad,WP 都支援,MacOS 最新版彈出的網頁不會執行腳本了。利用這個廢功能來彈廣告應該很不錯~

WiFi 強制斷線

不得不說 WiFi 的另一個缺陷 —— 被下線。類似 PPPoE 主動或被動斷開撥号時都有一個登出包,WiFi 也一樣。

之前提到,周遊 PPPoE 的會話ID,冒充所有使用者發出登出請求,可以斷開全城的網絡。WiFi 也有類似的缺陷,隻不過正好反過來:冒充熱點,向所有使用者廣播登出包,于是所有連着該熱點的使用者都下線了。

安全科普:流量劫持的方式和途徑

不過,WiFi 的被下線僅僅是認證被登出,使用者和熱點仍是關聯着的。使用者接着重新發起認證,是以又給黑客一個擷取握手資料的機會。

如果廣播持續不斷,使用者也就一直沒法上網,螢幕上會不停的閃爍着『連接配接中… / 已斷開』。對方可能會嘗試重新開機路由,但發現問題仍在,而且所有裝置都是這情況,會認為路由器出問題了,于是嘗試恢複出廠設定 —— 這一刻,危險降臨了!

照國産路由器的風格,出廠時 WiFi 是沒有密碼的,而且背景基本是弱密碼。是以有個非常短暫的安全縫隙,能鑽入這台裝置并拿下他的網絡!如果事先寫好腳本,一旦發現有開放的熱點,立即連上并且爆入背景,更是可以直接秒殺!對方剛恢複完路由器,還沒回到電腦前就已被劫持了,這是無論如何也想不到的。。。

當然,為了防止他之後進入路由器改密碼,你必須立即隐藏 SSID,讓 Beacon 不再發出,這樣大家都看不見這台裝置了,隻能通過 BSSID(路由器 MAC 位址)來連接配接。但是人家會有疑問,剛恢複好的路由器怎麼看不見?這時得事先建立一個釣魚熱點,名字和那被隐藏的 SSID 一樣,将對方引誘到自己的蜜罐上。

在這個蜜罐裡開啟一個和路由器頁面差不多的站點(可以直接反向代理他路由器的頁面),拖住使用者,讓你有充足的時間來操作那台被隐藏的真裝置。甚至可以換掉他固件了!

當然,有些裝置不讓輕易更新固件,需要輸入路由器上的某個号碼,或者按一個鍵才能開始。這時得發揮蜜罐站點的作用了,你可以在頁面上畫個文本框,提示他輸入路由器上的那号碼,或者直接讓他去按那按鈕。由于路由器背景太過專業,很少會有人質疑它的權威性,幾乎都是按部就班。

安全科普:流量劫持的方式和途徑

事實上,你的蜜罐一直開着,對方肯定會在裡面配置 WiFi 密碼和管理密碼,以及 PPPoE 賬号。于是他的一切上網秘密都被掌控!即使不改他路由器也無所謂了,以後可以随時進入。

防範措施:不要輕易恢複路由器的出廠設定。真有必要請務必留神,盡快改掉預設密碼。即使周圍沒有黑客,一些中毒的裝置随時可能來連上并爆進背景竄亂。

軟硬兼施,這招是不是太陰了?稍微用一點心理學或是社工,原本不怎麼嚴重的漏洞可以擴大很多倍。

WLAN 基站釣魚

前面說的熱點釣魚,隻能在特定的場合下進行。劫持KFC的使用者,隻能在KFC附近;入侵小區的路由,隻能在家完成。這極大的限制了攻擊範圍,完全沒有發揮出無線網絡的靈活性。

然而有一種網絡,無論走到哪都能收到。打開手機,總能看見 CMCC 這類熱點如同幽靈一般存在。如今,WLAN 業務已遍地開花,幾乎覆寫了全國各地。它支援更高的頻段,并向下相容 WiFi,裝置遍布全城,試圖打造一個無線城域網。唯一的遺憾是收費的,而且信号也一般,遠不如 3G 實用。

有時我們并沒有連接配接這些熱點,系統卻自動連上了。原因很簡單,之前某個時候手賤,去連過它們。而系統會儲存主動連過的熱點,再次出現時就自動上了。事實上,去連過這些熱點的人不在少數。

不用說,你也想到開熱點釣魚了。并且使用者幾乎都是用 WiFi 來連接配接,也就沒有必要使用 WLAN 裝置。使用之前的大功率熱點,取個 CMCC 的名字,放在陽台上對着大街,不一會就連上一堆使用者了。要是支援虛 AP 的話,把 CMCC-AUTO,ChinaNet 等等這些名字全部用上,前來光臨的就更多了。

上面提到了,不少裝置連上 WiFi 後能自動彈網頁,利用這個特性,釣魚就更容易了。大多手機系統為了節省流量,當 WiFi 和 3G 同時可用時,會優先使用 WiFi,于是使用者的流量不知不覺流到黑客那裡。

安全科普:流量劫持的方式和途徑

事實上,我們還可以把整套釣魚方案內建到安卓裡。利用手機建立的熱點吸引附近的使用者,捕捉到的流量還可以通過自己的 3G 網絡代理出去。使用 Linux 核心強大的轉發機制,我們可以輕易的控制使用者的各種流量。以後可别嘲笑街上低頭玩手機的人,人家說不定正在劫持你呢。

不過,在一些地方例如地鐵上面,3G信号很差,難以将熱點收到的資料轉發出去,是以隻能釣魚無法劫持。這種單機模式是否仍能入侵呢?下篇文章将叙述,如何發起離線釣魚。

防範措施:WiFi 不用就應及時關閉,以免自動連上不安全的熱點。對于一些長期不用的連接配接記錄,不如趁早删了吧。

安卓熱點預設隻支援10個使用者,在街上開個叫 CMCC 的熱點,會發現瞬間就連滿了。是以還是把筆記本藏書包裡,配幾個好點的無線網卡,既隐蔽效果也好。大功率天線雖然很過瘾,但不能過度使用,說不定哪天就被查水表了~

結尾

就談到這裡吧,這些隻是之前嘗試有效的案例,事實上還有太多的途徑,要是再算上系統内部的方式那就無數了。但不論如何變化,流量劫持的最終利用方式幾乎是如出一轍的 —— 利用它能做些什麼呢?終極危害能有多大?請聽下回分解。

(原文位址:http://fex.baidu.com/blog/2014/04/traffic-hijack/)

繼續閱讀