行業新聞與博客

Oracle 數據庫內部隱藏的工具包繞過了端點工具

攻擊者發現,一個後滲透工具包已編譯並存儲在 Oracle 數據庫中,作為模式對象,這使得攻擊者能夠從常規端點工具無法檢查的位置對底層 Windows 服務器執行命令。

Huntress 在 7 月 27 日檢測到入侵,當時一台運行 Oracle 數據庫服務器的主機觸發了憑證竊取警報,並於 8 月 5 日發佈了分析報告。入侵點是運行 Apache Tomcat 的面向公眾的 Java 應用程序的自動完成搜索功能中的 SQL 注入。

未發現任何漏洞。該應用程序使用具有創建 Java 對象權限的帳户,通過 Java 數據庫連接 (JDBC) 將未經驗證的輸入傳遞給了數據庫。

數據庫內部編譯的工具包

Oracle 數據庫內置了一個 Java 虛擬機 (JVM),其中包含一條將 Java 源代碼存儲為數據庫對象的語句。攻擊者通過注入點向 Oracle 數據庫注入了該語句,Oracle 便將代碼編譯成存儲的模式對象。

該工具包被命名為 khunt,這是根據其模塊名稱和寫入磁盤的文件名稱中遵循的約定而命名的。

它的組件包括一個用於打開 Windows 命令 shell 以執行任意操作系統命令的模塊,以及一個用於讀取 Oracle 內部用户表並將用户名和密碼寫入文件的憑據轉儲程序。

除此之外,還有兩個文件資源管理器、一個解壓縮實用程序、一個用於確認工具包是否在線的可達性檢查程序,以及一組用於調用底層 Java 方法的 PL/SQL 包裝器。

這項技術本身並不新鮮,但 Huntress 稱其在此處的使用是此次攻擊的一個新穎之處,並指出在野外有記錄的案例很少見。

端點工具無法觸及的地方

攻擊者通過打開 Windows 命令提示符,確認擁有 SYSTEM 級權限,從而從數據庫跳轉到操作系統。然後,他們使用 PowerShell 調用 Windows 註冊表工具,複製了 SECURITY 和 SYSTEM 註冊表單元,枚舉了正在運行的服務,並使用可擴展存儲引擎實用程序複製了 SAM 和 SECURITY 註冊表單元。

Huntress 評估認為,這些攻擊集羣是為了泄露憑證和可能的竊取數據而設置的,並將此活動描述為一次未遂事件,而非已確認的盜竊行為。 Apache 訪問日誌使研究人員能夠追蹤請求到單個 IP 地址。

Huntress 強調的重點在於檢測問題。由於終端安全產品關注的是進程、二進制文件和文件,而不是 Oracle 內部的 Java 類和 PL/SQL 封裝,因此將工具包存儲為數據庫對象而非文件或內存駐留有效載荷,使其超出了大多數安全工具的適用範圍。

該公司表示,這使得數據庫不再是攻擊者查詢數據的地方,而是他們可以利用的立足點。

Huntress 寫道:“為了避免這類攻擊,務必確保表單不可注入。對所有輸入都應進行適當的輸入清理和查詢參數化。此外,確保擁有查詢執行權限的用户權限不要過高也很重要。”

需要幫助嗎?聯繫我們的支持團隊 在線客服