欧美乱码精品一区二区三区,风流少妇又紧又爽又丰满,被债主在夫面前人妻被强,国产精品视频永久免费观看

?
內(nèi)容中心
按關(guān)鍵字查找
Oracle Rootkits第二式——“躲貓貓”
作者:思成 發(fā)布時(shí)間:2017-12-31

前言

各位小伙伴們,今天咱們接著聊Oracle Rootkits的話(huà)題。這是Oracle Rootkits系列文章的第三篇。相信大部分小伙伴已經(jīng)對(duì)數(shù)據(jù)庫(kù)后門(mén)和Rootkits技術(shù)有了一定的認(rèn)識(shí)。上次給大家介紹了Oracle Rootkits第一式“裸奔”,(插入鏈接)文中主要介紹了三種入侵者常用的手法,以及破解方式。第一式主要在存儲(chǔ)過(guò)程、觸發(fā)器組成的Oracle Rootkits中使用廣泛。目標(biāo)就是窮盡一切辦法隱藏不法分子在數(shù)據(jù)庫(kù)中創(chuàng)建的惡意存儲(chǔ)過(guò)程、函數(shù)、觸發(fā)器等。這種方式多用于針對(duì)數(shù)據(jù)庫(kù)的勒索軟件中。

數(shù)據(jù)庫(kù)后門(mén)除了藏在存儲(chǔ)過(guò)程、函數(shù)、觸發(fā)器之中,更常見(jiàn)的是,在數(shù)據(jù)庫(kù)中埋入一組DBA用戶(hù)。不法分子可以利用這組DBA用戶(hù)隨時(shí)“合法”奪取數(shù)據(jù)庫(kù)中的敏感數(shù)據(jù)。要在數(shù)據(jù)庫(kù)中隱藏一個(gè)DBA用戶(hù),通常就會(huì)用到數(shù)據(jù)庫(kù)級(jí)的RootKit技術(shù),我們稱(chēng)其為Oracle Rootkits的第二式“躲貓貓”。

“躲貓貓”主要解決兩個(gè)核心問(wèn)題:

1.躲誰(shuí)?

2怎么躲?

咱們以隱藏一組DBA用戶(hù)HACKER躲避小王(DBA)檢查為例。(這種方法還可以隱藏存儲(chǔ)過(guò)程、函數(shù)、進(jìn)程等)小王利用DBA檢查腳本對(duì)數(shù)據(jù)庫(kù)DBA用戶(hù)進(jìn)行統(tǒng)計(jì),防止DBA用戶(hù)數(shù)量和內(nèi)容發(fā)生變化。檢查DBA的腳本獲取DBA用戶(hù)信息主要來(lái)自視圖DBA_USERS或ALL_USERS。為了簡(jiǎn)化描述,我們就假定訪(fǎng)問(wèn)的是視圖ALL_USERS。至此第一個(gè)問(wèn)題有了答案,為了防止小王發(fā)現(xiàn)黑客加入的新DBA用戶(hù)HACKER,黑客就要想辦法防止ALL_USERS查詢(xún)出HACKER用戶(hù)。

01.jpg

接下來(lái),我們需要解決第二個(gè)問(wèn)題,首先要找出ALL_USERS的結(jié)構(gòu)中哪部分是薄弱點(diǎn),并可能被黑客所利用。ALL_USERS視圖的內(nèi)容如下圖:

02.jpg

整個(gè)視圖就是以基表sys.user$和sys.ts$為基礎(chǔ),在一定條件下進(jìn)行語(yǔ)句查詢(xún)。黑客多從where的判斷條件入手,這樣對(duì)ALL_USERS影響最小,也較難被發(fā)現(xiàn)。于是沿著修改where判斷條件的思路:黑客主要采取兩種辦法:

1. 偷天換日—假冒ALL_USERS

2. 假道伐虞—修改判斷條件

偷天換日

這種思路的核心是在原來(lái)where條件的基礎(chǔ)上添加更多的限制條件,使黑客建立的HACKER用戶(hù)滿(mǎn)足限制條件,從而不被查詢(xún)出來(lái)。例如在判斷條件中添加 and u.name != ‘HACKER’防止查詢(xún)讀出HACKER用戶(hù)。

03.jpg

具體過(guò)程需要黑客利用拿到的數(shù)據(jù)庫(kù)權(quán)限,重建視圖ALL_USERS,并刪除或關(guān)閉審計(jì)記錄。這種偷天換日的方法,可以讓黑客悄無(wú)聲息的將自己改造過(guò)的ALL_USERS替換掉系統(tǒng)真正的ALL_USERS,且該方式在足夠權(quán)限的支持下操作起來(lái)簡(jiǎn)單、便捷,對(duì)技術(shù)要求較低,但同時(shí)被發(fā)現(xiàn)的幾率也略高,即便黑客將操作記錄刪除凈盡,也可能會(huì)被具備查詢(xún)木馬能力的數(shù)據(jù)庫(kù)安全掃描產(chǎn)品揪出其中的問(wèn)題。ALL_USERS的內(nèi)容和大小的改變會(huì)有多種方式發(fā)現(xiàn)ALL_USERS變化和問(wèn)題,于是很多黑客就采用更隱蔽的手法——假道伐虞。

假道伐虞

這種思路本質(zhì)也是在where條件上動(dòng)手腳,但方向和“偷天換日”截然不同。 “假道伐虞”是在不改變ALL_USERS的前提下,通過(guò)破壞where判斷條件,來(lái)防止HACKER被查詢(xún)出來(lái)。ALL_USERS的查詢(xún)條件有三條,如果HACKER不滿(mǎn)足三個(gè)條件中的任意一條就不可能被查詢(xún)出來(lái)。

where u.datats# = dts.ts# 

  and u.tempts# = tts.ts#

  and u.type# = 1;

ALL_users中列出的用戶(hù)需要滿(mǎn)足 sys.user$.datats = sys.ts$.ts#。如果該等式不成立,那hacker就顯示不出來(lái)。DATATS#中的數(shù)值一般在0-4之間,使用update語(yǔ)句對(duì)hacker用戶(hù)進(jìn)行調(diào)整,將其DATATS#改為1337,超出0-4的范圍內(nèi),使得sys.user$.datats = sys.ts$.ts#等式無(wú)法成立,從而查詢(xún)不到HACKER,但HACKER依舊存在。下圖紅線(xiàn)部分明顯顯示,雖然HACKER已經(jīng)查詢(xún)不到,但依舊可以用HACKER進(jìn)行登錄。

04.jpg

注意上圖在執(zhí)行“UPDATE SYS.USER$ SET DATATS#=1337 WHERE NAME = 'HACKER' ”之后,再通過(guò)ALL_users已經(jīng)無(wú)法發(fā)現(xiàn)HACKER用戶(hù)了,但如果此時(shí)登錄,HACKER用戶(hù)依舊可以用來(lái)登錄,并且還是DBA用戶(hù)權(quán)限。這種方式比第一種“偷天換日”要隱蔽得多。即便有審計(jì)記錄,如果對(duì)數(shù)據(jù)庫(kù)不是很熟悉,也未必會(huì)把修改數(shù)據(jù)和有用戶(hù)隱藏聯(lián)系起來(lái)。借著SYS.USER$的道巧妙的破壞了ALL_users的查詢(xún)條件,幫助HACKER用戶(hù)實(shí)現(xiàn)隱身。

解決方案

驗(yàn)證自家數(shù)據(jù)庫(kù)被入侵與否,先別著急去挨個(gè)數(shù)據(jù)庫(kù)翻ALL_users, Oracle中類(lèi)似ALL_users的視圖有不少,例如v$session, gv_$session, flow_sessions, v_$process等都存在類(lèi)似的風(fēng)險(xiǎn),并且第二種方式壓根沒(méi)有修改視圖,翻也翻不出東西。下面安華金和數(shù)據(jù)庫(kù)攻防實(shí)驗(yàn)室的專(zhuān)家給大家支招,告訴你如何檢查自家數(shù)據(jù)庫(kù)是否已經(jīng)被這種方式所入侵。

第一種方式檢查的關(guān)鍵是變化。可以通過(guò)前后hash值比對(duì)來(lái)發(fā)現(xiàn)哪些視圖、存儲(chǔ)過(guò)程、觸發(fā)器等hash值發(fā)生了變化。在排除黑客改動(dòng)后,建議建立一組關(guān)鍵視圖、存儲(chǔ)過(guò)程、觸發(fā)器的hash值列表,一旦hash值發(fā)生變化,就要提高警惕,很可能是黑客所為。

第二種方式的檢查原理是發(fā)現(xiàn)異常用戶(hù)。在不同的基表、視圖中去查詢(xún)用戶(hù),經(jīng)過(guò)相互對(duì)比,如果有的用戶(hù)在有些表中存在,而有些表中不存在,那么,這類(lèi)用戶(hù)很可能就是使用第二種方式隱藏的用戶(hù)。面對(duì)異常用戶(hù),可以用如下語(yǔ)句檢查:

select username from v$pwfile_users where username not in ('INTERNAL')

 minus 

select name from sys.user$ where type# > 0

尋找數(shù)據(jù)庫(kù)中潛伏的后門(mén)是一種比較復(fù)雜的工作,而且很多部分需要根據(jù)目標(biāo)和環(huán)境采用不同的方式,所以,建議把這項(xiàng)工作交給專(zhuān)業(yè)的公司,使用專(zhuān)業(yè)的產(chǎn)品。在破解上述兩種后門(mén)方面,安華金和的數(shù)據(jù)庫(kù)漏洞掃描產(chǎn)品有過(guò)不少實(shí)踐,幫助破解后門(mén)使用的上述隱身技術(shù),通過(guò)多種獨(dú)有技術(shù)揪出潛伏在數(shù)據(jù)庫(kù)中的安全威脅。


?
汶上县| 喜德县| 封开县| 渑池县| 呼图壁县| 开鲁县| 潍坊市| 安图县| 雷州市| 含山县| 高陵县| 林西县| 仁布县| 杭锦旗| 泊头市| 仪陇县| 三亚市| 中超| 根河市| 彩票| 红河县| 镇平县| 洮南市| 内丘县| 当阳市| 太原市| 洛扎县| 博白县| 遂川县| 丹巴县| 昌黎县| 年辖:市辖区| 高碑店市| 江门市| 闽侯县| 广州市| 江城| 咸阳市| 兴隆县| 喀喇| 木里|