資安業者LevelBlue旗下SpiderLabs釋出開源攻擊測試框架RAVEN,整合針對Elasticsearch與Kibana的偵察與漏洞利用功能,並可進一步匯出Elasticsearch資料、建立持久化存取途徑。在取得Elasticsearch存取權後,RAVEN可建立不受原帳號密碼變更影響的API金鑰,甚至利用Elasticsearch內建排程機制,在額外帳號或API金鑰遭移除後重新建立。相關操作皆在Docker實驗環境進行。
RAVEN可分批讀取Elasticsearch索引內的文件,將指定索引或所有非系統索引匯出成檔案。大量資料下載中斷時,也能記錄進度並從上一個完成的批次繼續,不必重新取得全部內容。
除了直接讀取資料,RAVEN也能利用Elasticsearch原有的快照功能,在目標伺服器建立快照儲存庫,再把指定索引製作成快照。快照建立主要在Elasticsearch伺服器端完成,相較持續從外部大量查詢並傳輸資料,可減少長時間的網路傳輸活動。
RAVEN取得具有足夠權限的帳號後,還能建立新的Elasticsearch API金鑰。API金鑰會繼承建立者擁有的權限,但不會因原帳號更換密碼而自動失效,因此即使事件處理人員更換使用者密碼,既有金鑰仍可能繼續存取系統,必須另外找出並撤銷。
持久化功能則包含建立額外高權限帳號、長期有效的API金鑰,以及利用Elasticsearch內建的Watcher排程功能定期檢查兩者是否仍存在。測試範例設定為每小時檢查一次,如果帳號或API金鑰遭刪除,Watcher就會重新建立,因此只更換密碼、刪除額外帳號或撤銷金鑰,仍不足以完全移除相關存取途徑,還必須找出並移除對應的Watcher排程。
由於要避免滲透測試結束後留下系統變更,RAVEN會記錄建立API金鑰、帳號與快照儲存庫等操作,並保存對應的復原資訊,供測試人員後續清除。RAVEN目前已透過GitHub與Python套件庫PyPI提供。
Comments (0)