【基於Web攻擊】的方式發現並攻擊物聯網裝置, 又是一個入獄小技巧

近二十年來,DNS重繫結(DNS rebinding)攻擊一直是討論的話題。儘管

瀏覽器

廠商做出了努力,但仍然無法找到一個能穩定抵禦這些攻擊的防禦系統。據說這類問題八年前就已經被修復了。但是這類攻擊透過新的攻擊向量再次出現。

總的來說,可以肯定未來的駭客活動將透過多個現有攻擊組合形成新的攻擊向量。這些新攻擊向量的一個很好的例子就是攻擊加密貨幣錢包的DNS重繫結攻擊。

【基於Web攻擊】的方式發現並攻擊物聯網裝置, 又是一個入獄小技巧

點選載入圖片

裝置與駭客發現和攻擊

物聯網

裝置的方法

研究人員的目標是測試15個物聯網裝置。這些裝置中只有七臺有本地HTTP伺服器,所以研究的重點放在它們上,它們包括:

Google

Chromecast、Google Home、一臺智慧電視、一個智慧開關和三個攝像頭。

使用的攻擊方法是:

欺騙受害人,誘導他們訪問攻擊者控制的網站。

在受害者的本地網路上發現物聯網裝置。

透過基於web的攻擊控制裝置。

攻擊的持續時間

從技術上講,這不是新的攻擊向量。研究報告引用了之前的研究,發現攻擊者使用這些攻擊向量平均需要一分鐘才能獲得結果。奇怪的是,一項著名的研究結果

(What You Think You Know About the Web is Wrong)顯示,55%的使用者花在網站上的時間不超過15秒。看來大多數使用者不會受到物聯網漏洞的影響。

但是在普林斯頓大學和加州大學伯克利分校的研究中,研究人員明顯縮短了攻擊的持續時間。研究人員表示使用他們發現的方法,可以比之前的研究更快地發現和訪問本地網路中的裝置。但是Chrome除外,因為它快取DNS請求,如果TTL低於某個閾值,則忽略TTL。需要注意的是,隔離區(DMZ,防火牆內的內部網路)中的裝置通常被認為是安全的,因為使用者假設外部是無法訪問這些裝置的。但是,透過這裡描述的攻擊,攻擊者可以訪問受害者內部網路中的瀏覽器。

發現HTTP端點

研究人員透過將這些裝置連線到Raspberry Pi的無線接入點來分析這些裝置。觀察並分析了從裝置傳送和接收的資料包,以及與每個裝置繫結的移動應用傳送和接收的資料包。透過分析發現了35個GET請求端點和8個POST請求端點。這些端點用於識別發現階段中的IP地址。

研究的階段

研究人員透過兩個不同的階段進行研究,即發現階段和接入階段:

發現階段的目標是在本地網路上找到瀏覽器上包含HTML5元素的物聯網裝置。

接入階段的目標是使用DNS重繫結和已發現的IP地址訪問HTTP端點。

1. 發現階段:識別物聯網裝置

使用WebRTC獲取本地IP地址。

透過81埠向IP範圍內的所有IP地址傳送請求。由於81埠通常不被佔用,活動裝置將立即響應一個TCP RST資料包。而對於IP範圍內的非活動裝置,請求資料包將超時。

每個活動IP地址都接收到最初階段使用HTML5為35個GET端點收集的請求。根據返回的錯誤訊息資訊,攻擊指令碼將識別IP地址是否與七個裝置中的任意一個匹配。

研究計劃使用三種不同的作業系統(Windows 10、MacOS和Ubuntu)和四種不同的瀏覽器(Chrome、Firefox、Safari、MicrosoftEdge)。然而只有Chrome和Firefox這兩個瀏覽器適合這項研究。因此不使用Safari和Edge瀏覽器,因為根據(基於Web的方式對本地物聯網裝置的發現和控制的攻擊):

在Safari上,所有的FETCH請求都超時了,導致攻擊指令碼將所有IP地址識別為不活動。而在Edge瀏覽器上,指令碼可以使用FETCH請求正確識別活動IP地址,但Edge沒有公開詳細的HTML5錯誤訊息,所以攻擊指令碼無法識別Edge上的任何裝置。

2. 接入階段:控制物聯網裝置

受害者訪問攻擊者控制的域名(domain。tld),瀏覽器執行在攻擊者站點上找到的惡意JavaScript程式碼。域名仍然解析為攻擊者的伺服器IP。

惡意指令碼請求domain。tld上的另一個資源,該資源僅存在於攻擊者伺服器上。

如果受害者的本地DNS快取仍然解析為攻擊者的遠端IP,則對/hello。php的請求將返回字串“hello”,並重復步驟2。

但是如果受害者快取中的domain。tld過期,則將向攻擊者傳送新的DNS查詢。

最後將返回從發現階段中獲得的本地IP,而不是攻擊者的遠端IP,/hello。php不會使用字串“hello”進行響應,而是使用不同的內容,如404錯誤,它告訴惡意指令碼DNS重繫結攻擊已經成功。

透過這次攻擊,惡意指令碼繞過了瀏覽器同源策略(Same-Origin Policy),並獲得了對執行在裝置上的Web應用的訪問許可權。現在攻擊者已經可以在Google Chromecast、Google Home、智慧電視和智慧開關裝置上執行重新啟動或啟動影片/音訊檔案。

如何防止針對物聯網裝置的DNS重繫結攻擊

研究人員稱,使用者、瀏覽器廠商、物聯網廠商和DNS提供商需要採取預防措施,以避免DNS重繫結攻擊。以下是研究給出的一些措施:

使用者可以在瀏覽器上禁用WebRTC,並防止洩露私有IP。攻擊者將能夠透過向私有IP範圍內的所有*。1地址(路由器地址)傳送請求來發現使用者的私有IP。

攻擊者假設所有物聯網裝置的IP範圍與受害者的PC具有相同的IP範圍。使用者可以透過配置路由器的DHCP伺服器,在另一個子網(如 /16)上分配IP地址。

使用者可以安裝dnsmasq,透過從DNS響應中刪除RFC 1918地址來防止DNS重繫結攻擊。使用者還可以使用dnsmasq的OpenWRT路由器。

物聯網廠商可以在傳送到Web介面的請求中控制Host標頭。如果沒有符合RFC 1918的私有IP,則可以阻止訪問。

DNS提供商可以使用像dnswall這樣的機制從DNS響應中篩選私有IP。

瀏覽器廠商可以開發限制公網訪問私有IP範圍的擴充套件程式。

希望本文對大家有所收穫,【想免費獲取網路安全相關的學習資料私聊】

【基於Web攻擊】的方式發現並攻擊物聯網裝置, 又是一個入獄小技巧

點選載入圖片

相關文章