ARP掛馬-新的區網隱形殺手


當使用者瀏覽器無故被導引至其他網站,假如不是DNS出問題,很有可能是所謂的ARP掛馬,這讓區域網路安全亮起了紅燈。


在2009年3月5日起,在各大論壇有許多人反映,連至ZDNet、CNET甚至MSN網站時,發生了一些異常行為,例如瀏覽器突然遭到被導引至其他網 站,像是www.dachengkeji.com、www.dachengkeji.cn/article/index.htm。

此時,網路上便開始有人追查相關原因。許多網友與網路安全專家自行推敲後,分析出幾個結果︰有人說是DNS被影響,但後來幾起測試利用IP直連,也會出現異狀;他們仔細觀察封包分析結果後,發現DNS回應也都正確,因此認為不會是這方面的問題。

後來一些有耐心的人又花了很多力氣,把封包截取下來分析,看到特定封包是突然被「插」進來的,他們仔細分析了中間的路徑後,懷疑是中華電信路由器被「黑」,或認為中間有IT設備受到入侵,然後使得駭客可以插入封包。

在接觸過此類手法的專家看來,他們懷疑整起事件為ARP掛馬的機率極高。不論這事件的原因是什麼,這類手法其實很值得重視,為了讓你能更熟悉這種威脅的運作方式,接下來我將整理一些相關基本資訊。

甚麼是ARP?
在802.3 乙太網路架構下,區域網路中使用CSMA/CD方式,這種廣播(Broadcast)的傳輸方式,多數人應該都很熟悉,當某主機需要傳送資訊給某IP位址 時,會先發送ARP(Address Resolution Protocol,位址解析協定)封包,詢問網路上誰擁有這個IP的MAC位址,而採用該IP的電腦,一旦聽到這樣的詢問,便會回應給來源電腦,以便後續 的資料傳送。

ARP request、ARP reply,以及ARP cache
我們了解到主機利用ARP查詢的方式,來獲得 IP 位址和實體位址的對應。而發出詢問的封包就叫做ARP request(它是封裝成廣播封包的形式),因此區域網路內所有電腦都會收到此一封包,而比對ARP request的IP位址後,只有該IP的電腦會回覆ARP reply封包──將這些資料傳給原本發出ARP request的主機。

但主機總不可能每次傳輸都要去問一次別人的MAC位址,因此為了減少ARP request廣播封包,進而降低網路負擔,電腦主機會將曾經查詢過的網路裝置IP位址/MAC位址,記錄在主機裡。

說到這,聰明的人就知道這中間有甚麼可以玩了。如果你有辦法跟對方說,你就是某臺主機,它就會相信,而一切只要靠ARP來騙就可以。

一般當你「黑」進一臺電腦A,就算是A處於交換器環境底下,靠以前的Sniffer工具,是無法聽到交換器上其他網路埠的流量(假設另一個網路埠上有一臺主機B)。

可是若你使用ARP,騙B說A是閘道,這樣B的流量就會先經過A,A再轉閘道,這樣就是所謂的中間人攻擊(Man-in-the- middle),你就可以在交換器環境底下竊聽。當然對於駭客來說,竊聽還不夠,既然網路封包都流過來了,乾脆改一改再轉送,這就達到竄改的目的。

這些不需要什麼高深的TCP/IP理論,也不需要去算TCP的流水號,一切都很簡單。而且中國網站上已經很多有這樣的ARP工具讓人下載,很多小駭客甚至都已經玩到相當熟練了。


Cain & Abel可以用ARP掃描區網內主機,竊聽這些設備的POP3、Telnet、FTP、網芳等流量,還可以來偽造憑證,來執行SSL Man in the middle的行為。

ARP掛馬的原理
掛馬是甚麼,不需多做解釋,我現在要講的是ARP掛馬。

我想先介紹一個常見的ARP掛馬「zxarps」,這真的是最基本,而且是沒有隱藏技術的。實際上,有一些後門程式本身就內建ARP掛馬或竊聽功能。

先來一個簡單的用法。

將指定的IP段中用戶瀏覽的所有網站,都插入一個iFrame。

你注意,可以限定瀏覽者的IP。看得到這些資料的只有某些地區的人而已,外國人是看不到的。這對有心人士來說,是很好的功能,由於攻擊區域越小,所以被發現的機率越小,因此全世界其他地方,似乎都沒有發現異狀,另外還可以降低該主機的處理負擔。

再來觀察一個厲害的功能。你以為要看到Redirect轉址,才是惡意網站嗎?駭客有更狠的招數。

例如,一旦嗅探到目標下載檔案的副檔名是EXE,則更改Location:為http://xx.net/test.exe

你看,直接將你在信任的網站所下載的EXE檔,改成他後門的EXE檔,等你執行完的時候,還來得及發現嗎?

ARP掛馬工具「zxarps」將特定網頁伺服器所回傳的任何頁面,都插入一個連到www.yahoo.com.tw的隱形iFrame,這將讓所有瀏覽該網頁伺服器的使用者,不自覺地被導向www.yahoo.com.tw。

ARP駭客工具介紹
其實,還是得強調一件事,ARP攻擊這種駭客技術已經很成熟,在很多IDC機房,內網也都被運用到一種程度了。

上述是惡意的ARP掛馬,接下來再介紹其他利用ARP技術的駭客工具。有些中國製的ARP後門、ARP病毒,甚至做得比外國人寫的好,也更小。

在這些手法當中,你可能覺得ARP駭客工具似乎都是偷密碼,沒創意。事實上,才令人激賞的是,ARP工具也可以當網管工具!

Cain & Abel
最有名的就是oxid.it的Cain & Abel,這套工具不但可以用ARP掃描區網內主機,指定你要竊聽的主機,可以聽POP3、Telnet、FTP、網芳,還可以來偽造數位安全憑證,來執行SSL Man in the middle的竄改行為。

網絡執法官
藉由此工具,你可以管控區域網路內誰可以上網、誰不能上網,充分展現「不是網管也能當網管」的精神。其他像是網絡剪刀手、局域網終結者等工具,也可以切斷區域網路任何主機的連線,使其無法上網。

利用ARP 技術,同時也可以看到區域網路所有主機的IP,因此也能用在網路管理上,就像ARP P2P管理工具。例如在宿舍,有些人每天開著P2P養驢子下載、搶頻寬,如果懂得利用這種ARP P2P管理工具,即可藉由上述ARP的Man-in-the-middle技術,直接分配每個人頻寬。

這些工具顯示出目前ARP攻擊技術的成熟與危險。不少人都很清楚,集線器(Hub)的連線環境非常不安全,或者自以為處在交換器環境是安全的,這些是極為危險的觀念。

藉由這些工具,我想提醒你,要多認識ARP攻擊對目前我們網路所造成的影響,也希望你開始提防ARP掛馬或ARP置換攻擊,因為這些惡意行為已經出現在很多地方。

透過ARP,不只是用來作一些破解、側錄的行為,也可以用來
控管內部網路電腦能否上線,例如網絡執法官這套工具。


預防與偵測方式
對於ARP攻擊的預防方式其實很簡單。根據原本ARP規範,如要詢問主機收到ARP回應便更新主機上的ARP記錄,你可以使用arp–a 的指令,來顯示目前主機上所記錄的附近電腦網路位址。接著你可以使用靜態ARP,將ARP table中主機與MAC位址的對應記錄固定下來,這時可以利用arp –s 的指令來做到。

網路上也有許多所謂的ARP 防火牆(如AntiARP)或是ARP偵測工具,主要都是利用監控ARP request與reply封包,並在程式表裡的ARP記錄是否有異常。例如突然有一個ARP封包表明它是閘道,但是之前我知道的閘道MAC位址,明明就 不是後來那個ARP所說的,這就可能是ARP攻擊出現了(畢竟,閘道MAC位址很少常常換吧)。

企業與網管人員的因應之道
對於區域網路的安全性,多數網管或資安技術人員都會有一個迷思,那就是在最重要的伺服器上防護──不但在這些系統的前面安置防火牆、建立漏洞修補管理系統、安裝防毒軟體、甚至花費昂貴費用執行滲透測試。雖然該伺服器如同堡壘一樣堅固,卻疏忽了傳輸途徑上的風險。

這就像電影300壯士一般,就算Leonidas 率領的三百位斯巴達戰士,勇猛地將溫泉關守得滴水不漏,最後仍因為波斯軍團繞道包圍,還是難逃全軍覆沒的命運。

因此對於伺服器的保護,不能僅著眼於碉堡式的防禦,而是必須落實整體性防守。

以防護ARP掛馬來說,目前已經出現能符合這類企業區域網路環境防護需求的方案,其做法就是在區網內的主機上,安裝監控程式或建置監控主機,這些 措施不但能鎖定閘道的實體位址,也會監視相關ARP封包的狀態,持續掌握每個電腦IP位址與MAC的對應關係,並且能阻擋未經允許的電腦設備私自使用內部 網路。

此類產品的所宣稱的功能,大致有下列幾項:

1. 自動掃描區網內所有IP與MAC位址的對應

2. 設定IP/MAC位址對應並依照網管需求進行管控,甚至不需在用戶端安裝代理程式(Agent),即可達到員工監控或過濾的功能。

3. 偵測異常ARP封包

4. 偵測非法主機接入區域網路的動作

5. 依各網段進行管理

6. 集中控管與報表能力

7. 防治ARP病毒或木馬的擴散

接下來,我想用上面「企業區域網路ARP防護」的示意圖來解釋如何做到防護。

這是一個常見的區域網路,我們將ARP毒害威脅考量進去,再加上ARP防護監控方案的佈建架構。建構區域網路時,可參考這樣的防禦措施,以防止ARP相關威脅。

在圖中,每一臺伺服器上都設定了Static ARP,將閘道器的實體位址給綁定,這是目前區域網路防範ARP毒害的基本措施。而區域網路中,視需求另外設置了一部ARP企業監控主機。

在這個例子中,企業主可能需要監控員工電腦是否有異常行為,而網管人員在此所使用的方式是利用ARP手法來將流量導引至監控主機,而非正規的在閘 道口進行監控,這兩種方式都可達到流量分析與監控的目的,但若使用ARP手法須留意該監控主機本身的效能,因為該主機需要處理區網內每一臺需監控的個人電 腦。

另外,企業區網中常見的一個威脅,便是私接筆記型電腦或個人電腦。利用監控主機ARP監控,可記錄原本存在區域網路中的伺服器與個人電腦,一旦有 私接的電腦接上區域網路,因它們會發送ARP相關封包,將會被監控主機偵測到,而經由比對原本的IP與MAC位址列表,便可獲知是哪一臺電腦主機。

由於目前ARP監控軟體中都有內建網卡廠商的MAC位址範圍,因此可得知網卡廠牌,協助網管人員盡速找出私接主機。

最後,若是隔壁部門的伺服器遭駭、對區網發動ARP毒害,這時監控伺服器將會比對這些ARP封包,發現有人欲冒充網路閘道設備,這時監控伺服器便會記錄異常行為並發出警告,讓系統管理人員了解目前區域網路確實是存在惡意主機,不會毫無所悉。

1 個人電腦可由「合法」的ARP Poison方式,導引到監控主機,以便管理或內容過濾。
2 私接的筆電連上網路後,監控主機將會察覺,並發送警告給管理者。
3 如果遭ARP毒害的外單位主機想要詐騙網頁伺服器,也無法完成,因為會被偵測出來。

用arp–a能顯示目前主機上的ARP table,用arp –s可將ARP table中主機與MAC位址的對應記錄固定下來。

內網安全蒙上新陰影
這次可疑網站轉址事件,造成許多民眾與資安專家的恐慌,在資訊不足的情況之下,眾說紛紜是情有可原的。

而目前最夯的ARP掛馬,已經非常氾濫與流行,許多機房其實未必安全,即使你確實將自己的伺服器保護得很好,例如修補、裝防毒軟體甚至定時檢查系 統,但只要鄰居遭駭,你一樣會受到影響。除了本文所述的流量被插封包,可能連主機帳號密碼、使用者資料全都被竊取,這是目前許多機房並未注意的問題點,我 希望藉由過去的一些事件與ARP攻擊工具的介紹,讓你了解這項手法,並能更加注意區域網路安全。

編按:作者是一位經驗豐富的網路安全專家,也深諳國內外資訊安全相關的技術。基於一些個人理由,他不便具名發表本文,但透過這篇文章的介紹,他想提醒企業正視這項網路技術遭惡意人士濫用的嚴重性,以及可以反過來應用強化網路控管的可能性。

轉自IThome

0 意見: