0x00 簡介
權限濫用漏洞一般歸類于邏輯問題,是指服務端功能開放過多或權限限制不嚴格,導致攻擊者可以通過直接或間接調用的方式達到攻擊效果。隨著物聯網時代的到來,這種漏洞已經屢見不鮮,各種漏洞組合利用也是千奇百怪、五花八門,這里總結漏洞是為了更好地應對和預防,如有不妥之處還請業內人士多多指教。
0x01 背景
2014年4月,在比特幣飛漲的時代某網站曾經曝光過黑客利用監控攝像頭DVR分布式挖礦的案例。無獨有偶,之前國內某安全公司在開放給外部使用的掃描器平臺上也曾出現了類似問題,由于功能限制不嚴格,導致外部使用者可以利用該掃描器探測內網。此外,某黑客也曾經在某第三方平臺曝光過國內android測試平臺一處漏洞,可利用該漏洞從測試平臺網站直接訪問該公司內部系統。
0x02 案例
利用權限濫用漏洞有時可以讓服務器發起特定的請求(類似SSRF攻擊),有時還可以使用某些特殊的功能,例如:訪問攝像頭、利用麥克風錄音、編寫并植入木馬、反彈shell等等。
目前國內外已經有很多手機真機測試平臺,例如:Testin云測、中國移動終端池、Testdroid、TestObject、TestCloud、uTest、UserTesting、WeTest等。筆者隨機抽取了一個android真機測試平臺進行測試。
首先,登錄以后可以挑選一款機型,作為測試目標。
然后進入機器調試界面,我們可以通過web端控制android手機并真實完整地使用手機上的任何功能。
除了網站提供我們使用的WIFI,意外發現了很多其他的WIFI,細看之下,還會注意到這里面夾雜了很多內部的辦公網絡WIFI,甚至有些WIFI可直接連接無需輸入密碼,筆者猜測當前設備曾經已授權連接過這些WIFI,因此無需要輸入密碼直接可連接進入辦公網絡了!
除此之外,我們還可以在手機上安裝apk來嘗試獲取手機ROOT權限,ROOT之后的手機就如同內網中一臺被我們拿下的服務器一樣危險。這里我們使用meterpreter生成反彈shell的apk并上傳安裝,然后我們本地就可以root權限完全控制手機。
接下來,我們可以訪問手機的攝像頭功能。
這里我們可以看到手機機房的全貌,如果錄像的話可以一直監控機房工作人員的一舉一動,甚至有些手機擺放的位置比較恰當的話,可以拍到記錄密碼的便簽貼。 我們還可以開啟手機錄音功能,實現長時間的遠程竊聽等……
另外,我們可以通過手機的定位功能找到受控機器所在的位置。
除此之外,當我們有了大量手機集群以后可以做些掃描、挖礦的事情。我們也可以將手機的ARM處理器挖礦,同時我們還可以將手機變為我們分布式掃描器的掃描集群。
0x03 延伸
權限濫用漏洞除了在android真機調試場景以外還有很多其他發生場景。在物聯網領域應用尤為廣泛。例如:某智能電視可以允許通過網絡遠程調試、 某大型旋轉機監控系統可以被遠程操縱控制、某高速公路攝像頭可被控制拍照、某運營商設備可被控制撥打電話等等。這種漏洞小則可以危害公民生活起居(控制微波爐、控制冰箱、智能電視等),大則可以危害國家安全(控制工控系統生產作業、控制電力設施、控制交通運輸等),其危害不容小覷。
0x04 防御
面對權限濫用漏洞的攻擊,任何疏忽大意都可能為信息系統帶來災難性的破壞,傳統的防御體系已無法抵御權限濫用攻擊導致的入侵,因此需要制定更嚴格的物理設備管理策略,此類問題絕大部分是由于開放給外部使用的功能限制不嚴格而導致的,因此筆者建議對此類問題的防御,可從以下幾個方面簡單入手:
真機調試場景,考慮到目前智能手機功能較多,建議著重考慮以下幾點:
一、網絡隔離
1)對于訪問辦公環境WIFI的情況,可加裝金屬網進行物理隔離;
2)測試WIFI獨立部署,與辦公網絡開發網絡隔離。
二、功能禁用
1)對于攝像頭拍照,可在攝像頭前用不透光貼紙蓋住;
2)對于麥克風竊聽可考慮禁用麥克風功能,甚至拆卸掉真機的麥克風或者將實驗室進行隔音處理。
其他工控類重大系統,可在核心功能的調用上進行二次密碼的驗證,甚至可以引入指紋鑒權、虹膜識別等生物鑒權技術。
智能家居,則需要生產商在產品設計的時候把控好聯網接口的身份驗證,在控制系統上進行信號源驗證,這樣也許就不會出現之前有人拿某廠空調遙控器在大街上邊走邊按導致許多家庭空調都紛紛啟動的趣聞了:)
0x05 總結
互聯網+時代的今天,人們越來越傾向于“簡便快捷”,而淡忘了“安全可靠”。一個功能本身就是一把雙刃劍,在設計功能的同時要考慮到功能的調用場景,調用者和被調用者,因為安全問題無處不在。