終端安全產品存在遠端命令注入風險,看我如何測試
前言
近期,我們在一款熱門的終端安全產品(Heimdal Thor)中發現了一個命令注入漏洞,通過利用該漏洞,將導致產品以及客戶PC暴露在安全風險之中。
但是在我們上報漏洞之後,Heimdal也迅速修復了相關問題,不過值得一提的是,這個漏洞已經在一年之內影響了65萬臺以上的PC了。
CVE漏洞資訊:【 傳送門 】
Heimdal官方公告:【 傳送門 】
但是,Heimdal在公告中貌似並沒有提到這個遠端命令注入漏洞….
漏洞的發現
這個漏洞是我們在一次自動化IoT滲透測試的過程中發現的。在硬體測試的過程中,我們通常會搭建一個WiFi訪問點,並嘗試通過攔截代理(例如Burp Suite)來重定向裝置的網路通訊流量。為什麼呢?因為現在很多的嵌入式裝置並不會對伺服器的“真實身份“進行驗證,這裡就會存在實現中間人攻擊的可能性。
一般來說,如果你用Windows筆記本連線我們的這些WiFi訪問點,你將會收到大量SSL/TLS等證書錯誤資訊,而且應用程式也會無法連線網咯,這樣就存在安全風險了。現在,大多數軟體開發人員都已經意識到了,檢查通訊物件跟加密通訊流量是同等重要的。
中間人攻擊-MitM
在硬體測試的過程中,我對Burp Suite流量進行了深入分析。不出所料,測試的裝置果然沒有對通訊伺服器的身份進行驗證,這將允許我篡改裝置韌體的更新過程。但是接下來,我發現了一個“與眾不同“的請求,這個請求很明顯包含了Windows裝置的詳細資訊:
就在此時,我們客戶的一個員工用他的筆記本連線了我們的WiFi訪問點之後,又發現了另一個問題。在此期間,他裝置中的大多數軟體都捕捉到了嘗試篡改網路流量的行為,並中斷了網路通訊。
但是,大多數,並不意味著全部!
我們發現,裝置進行通訊的域名為coreservice.heimdalsecurity.com,很明顯“罪魁禍首”就是 Heimdal Thor ,而它們似乎還整合了終端保護和自動化軟體更新等方面。
HeimdalThor在進行自動軟體更新時,我發現了它會從一個JSON列表下載軟體,其中包含了URL、版本資訊等等。在這個列表中有“beforeInstallScript”和“afterInstallScript”這兩個引數。
因此,當客戶端更新該軟體時,嵌入的命令將會被執行:
客戶端上的任意命令執行
終端保護產品擁有高階許可權,所以當攻擊者攔截了裝置與伺服器間的通訊流量後,他們就可以控制你的裝置了。
沒錯,首先攻擊者需要攔截通訊流量,而最理想的地方就是公共開放WiFi訪問點了。或者說,攻擊者也可以入侵家庭WiFi網路(弱PSK金鑰?),然後入侵家庭網路環境中的PC。
這就很尷尬了,因為導致使用者陷入安全風險的正是這些“安全保護產品”。
漏洞分析
那麼這裡到底出現了怎樣的問題呢?
HeimdalThor是一款能夠以高等級許可權執行在使用者裝置上的安全軟體,但我們認為這款產品的安全等級和標準還遠遠不夠…
證書驗證的問題應該更早被發現:
1、 很多證書驗證例項中存在的安全問題應該在程式碼審計階段就應該被發現了,而且有些問題在產品研發過程中已經被發現了很多次,但是在實際部署的時候又沒有進行修復。
2、 應該對軟體的重大升級或更新進行多次測試,證書驗證的有效性也應該定期自動進行核查。
除此之外,我還發現Heimdal Thor在進行更新時下載的不是常規的可執行檔案,而是.enc檔案。經過分析後,我們發現這種檔案是經過加密處理的。但它們是如何進行加密的呢?
應用程式採用的是.NET開發,因此反編譯過程會比較麻煩,努力後我們終於找到了解密程式碼:
上述程式碼中的Rijndael基於的是AES加密演算法,通過分析函式引用,我們發現這個函式主要的作用就是解密檔案,金鑰和IV分別設定為了“CryptingConstants.Key”和“CryptingConstants.IV”。
不出所料,金鑰和IV都是靜態的,而且在所有Heimdal Thor產品中都是相同的:
RijndaelManaged繼承的是SymmetricAlgorithm,而這個演算法預設使用的是CBC模式。這種模式沒有提供身份驗證機制,因此我們修改密碼文字是不會被發現的。
我們還發現,伺服器端返回的JSON資料中,有一個“checksum”引數,這是一個MD5校驗碼,它可能可以幫助我們校驗更新檔案的有效性,但攻擊者是可以輕鬆繞過這種校驗機制的,因為他們只需要生成一個新的MD5並替換掉之前的就可以了。
總結
總之,這款終端安全保護產品即不能提供機密性保護,也不能對資料的真實性提供有效的驗證功能。
在我們看來,這款產品所採用的加密機制從設計和規範階段就已經註定了它的失敗。產品貌似看起來能夠提供安全保護,但實則不然。就設計安全保護系統來說,從一開始就必須要設定好明確的安全目標,因此我們建議這款產品可以推倒從頭再來了。
* 參考來源: tuisec ,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM