Oracle RushQL勒索病毒恢復方法

2021-09-17 08:39:23 字數 1700 閱讀 1040

在上期《勒索病毒globelmposter來襲,資料備份你做好了嗎》中,我們介紹了globelmposter勒索病毒,以smb、rdp協議漏洞為突破口,加密篡改使用者檔案,從而達到勒索的目的,其感染目標並不侷限特定的應用。

本次我們再來介紹另一種專門針對資料庫的勒索病毒 -- rushql。相比globelmposter,rushql專門針對資料庫設計、並且具備一定潛伏期和隱蔽性,危害極大。

該病毒最早被發現是**在被感染的綠色版/破解版ps/sql安裝程式上,一旦使用者使用此類破解版軟體連線到資料庫,會立即執行「afterconnet.sql」中的**(此檔案一般在官方pl/sql軟體中是乙個空檔案),在資料庫中建立多個儲存過程和觸發器。

rushql包含多個儲存過程和觸發器,選取其中乙個procedure dbms_support_internal來看主要的操作為:

1. 建立並備份`sys.tab$`表的資料到表 `orachk || substr(sys_guid,10)`;

2. 刪除`sys.tab$`中的資料,條件是所有表的建立者id 在(0,38)範圍(針對核心表);

3. 在你的alert日誌中寫上2046次勒索資訊,並觸發異常告警

從儲存過程的內容可知,相比globelmposter,rushql更難防範。其行為從資料庫角度看來都是再正常不過的操作(update、truncate等),因此現有所有備份手段幾乎都會失效,例如dataguard可以防護檔案類感染,但遇到rushql仍會將錯誤的資料進行同步;定時備份能起到一定恢復作用,但無法保證資料沒有丟失等。

若是被感染且尚未滿足條件發作,則處理方式很簡單,只要刪除4個儲存過程及3個觸發器、不再使用帶病毒的破解/綠色軟體即可:

儲存過程 dbms_support_internal

儲存過程 dbms_standard_fun9

儲存過程 dbms_system_interna

儲存過程 dbms_core_internal

觸發器 dbms_support_internal

觸發器 dbms_system_internal

觸發器 dbms_core_internal

如果病毒已經生效,資料庫處於被鎖定狀態,則需:

1. 刪除4個儲存過程和3個觸發器

2. 檢查相關登入工具的自動化指令碼,清理有風險的指令碼

3. 使用備份將表恢復到truncate之前,視嚴重程度可能要用到dul工具

(不一定能恢復所有的表,例如truncate的空間已被使用)

由於truncate的空間有可能被再次使用,大概率會有部分資料無法恢復。但是,如果之前已經部署過qplus-dp 資料庫備份雲一體機,則恢復過程十分簡單,可以使用「秒級恢復」功能建立病毒發作前1秒(或指定scn號)的歷史資料庫,實現無資料丟失找回被truncate的表,如圖:

經過幾分鐘的等待,使用新建立的資料庫環境、確認需要恢復的表之後再導回至生產庫即可。

基於windows下的映像劫持實現「勒索病毒」

什麼是映像劫持?關於映像劫持,我曾經在部落格中給大家講過,在此就不再闡述了。附上文章傳送門 什麼是勒索病毒?勒索病毒,是一種新型電腦病毒,主要以郵件 程式木馬 網頁掛馬的形式進行傳播。該病毒性質惡劣 危害極大,一旦感染將給使用者帶來無法估量的損失。這種病毒利用各種加密演算法對檔案進行加密,被感染者一...

不治已病治未病

素問 第2章 四氣調神大論 先描述春夏秋冬四季之中,天地之氣如何變化,再論述養生之道應該如何順應四時陰陽,最後總結說 聖人不治已病治未病,不治已亂治未亂。千百年來,不治已病治未病 不僅成為健康養生的最高原則,而且 出界,香飄萬家,幾乎各行各業都有 預防為主,防治結合 的說法。我們病魔纏身的時候,希望...

plsqldev 勒索處理

查詢儲存過程與觸發器刪除 select drop trigger owner trigger name from dba triggers where trigger name like dbms internal union all select drop procedure owner a.ob...