破解Oracle數(shù)據(jù)庫的密碼
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:03:29 作者:佚名
我要評論

要連接遠程的 Oracle 數(shù)據(jù)庫,需要知道 SID,用戶名, 密碼,當然還有最重要的 IP 地址。SID 如果被管理 員修改的話,可以利用 sidguess 來進行破解,速度非常的快,至于成功與否,就要看你的字典配置了。破解 效果如圖 1。
圖 1
Oracle 不同的版
要連接遠程的 Oracle 數(shù)據(jù)庫,需要知道 SID,用戶名, 密碼,當然還有最重要的 IP 地址。SID 如果被管理 員修改的話,可以利用 sidguess 來進行破解,速度非常的快,至于成功與否,就要看你的字典配置了。破解 效果如圖 1。
圖 1
Oracle 不同的版本有大量的默認帳戶密碼??墒怯行┣闆r下,Oracle 數(shù)據(jù)庫管理員把默認的密碼給修改了, 我們就要選擇暴力破解了 。如果帳戶破解成功 ,登錄上去,是 DBA 權(quán)限的話最好 ,不是的話,也可以利用 Oracle 的一些漏洞進行提權(quán)到 DBA。進入數(shù)據(jù)庫后,我一般選擇的是抓取其他用戶的密碼哈希值,然后本地 Rainbow 破解。如果同網(wǎng)段還有其他的 Oracle 數(shù)據(jù)庫,可以抓包等待其他用戶的 Oracle 登錄驗證,取出敏感 信息,然后破解。進一步擴大戰(zhàn)果。下面我就分別講講這三種破解方法及相關(guān)工具的使用。
Quotation
有關(guān) Oracle 密碼的基礎(chǔ)知識
1、標準的 Oracle 密碼可以由英文字母,數(shù)字,#,下劃線(_),美元字符($)構(gòu)成,密碼的最大長度為 30 字符;Oracle 密碼不能以"$","#","_"或任何數(shù)字開頭;密碼不能包含像"SELECT","DELETE","CREATE"這類的 Oracle/SQL 關(guān)鍵字。
2、Oracle 的弱算法加密機制:兩個相同的用戶名和密碼在兩臺不同的 Oracle 數(shù)據(jù)庫機器中,將具有相同的哈希值。這些哈希值存儲在 SYS.USER$表中。可以通過像 DBA_USERS 這類的視圖來訪問。
3、Oracle 默認配置下,每個帳戶如果有 10 次的失敗登錄,此帳戶將會被鎖定。但是 SYS 帳戶在 Oracle 數(shù)據(jù)庫中具有最高權(quán)限,能夠做任何事情,包括啟動/關(guān)閉 Oracle 數(shù)據(jù)庫。即使 SYS 被鎖定,也依然能夠訪問數(shù)據(jù)庫。
一、遠程暴力破解
由前面的基礎(chǔ)知識 3,可以得知選擇遠程破解 Oracle 的最好帳戶是 SYS,因為此帳戶永遠有效。在 Oracle10g
以前的版本在安裝的時候并沒有提示修改 SYS 的默認密碼,Oracle10g 雖然提示修改密碼了,但是并沒有檢查密碼的復雜性。如圖2
圖 2
可以使用 Orabrute 工具來進行遠程破解,在使用這個工具的時候,需要系統(tǒng)提前安裝好 Sqlplus,該工具的 原理很簡單,就是不停的調(diào)用 Sqlplus 然后進行登錄驗證,帳戶選擇的是 SYS,密碼則為 password.txt 中的密 碼單詞。只要登錄成功 ,就會調(diào)用 selectpassword.sql 腳本抓取出在 SYS.USER$表中的其他用戶的哈希值 , 然后退出程序。這里有個注意的地方,當?shù)诙芜\行 Orabrute 的時候,需要刪除或移動同目錄下的前一次運行 Orabrute 時生成的 thepasswordsarehere .txt 和 output.txt 文件。
Orabrute 的使用方法為:
orabrute
效果如圖 3,4
圖 3
圖 4 Orabrute 的破解速度比較慢,我們可以采取變通的方法來破解,如果 Oracle 的數(shù)據(jù)庫版本為 Oracle10g。默 認自帶個通過 8080 端口來遠程管理數(shù)據(jù)庫的 WEB 接口,如圖 5
圖 5
當我們訪問 http://ip:8080/oradb/public/global_name 時,會彈出認證信息,這種 HTTP 的基本驗證,有好 多的工具可以快速破解,可以選擇著名的 Hydra,我這里選擇的是圖形界面的 wwwhack,設(shè)置好用戶名為 SYS, 選擇字典,就可以破解了。速度要比通過 Orabrute 來破解快許多。效果如圖 6 所示
圖 6
二、以 DBA 權(quán)限登錄后的破解
當?shù)玫揭粋€遠程登錄的帳號后,可以使用 Checkpwd 來驗證數(shù)據(jù)庫中所有的缺省用戶的默認密碼。Checkpwd 是采用遠程破解的,速度比較慢。不過能清晰的看出每個帳戶的狀態(tài)(過期,鎖定),Checkpwd 的使用方法為:
checkpwdusername/password@//ip:port/sidpasswordfile
效果如圖 7 所示
圖 7
我們也可以使用 Sqlplus 直接登錄到 Oracle 數(shù)據(jù)庫,然后使用 select username,password form dba_users 命令查看數(shù)據(jù)庫中的用戶名和密碼,然后本地用 Cain 來破解,如圖 8 所示?!?
圖 8
本地破解速度是非??斓模彝扑]先選擇字典破解,在 Cain 中點選的 Cracker 標簽,然后右鍵點擊先前導入 好的用戶名和哈希值,選擇"Dictionary Attack"選項,就可以字典破解了。效果如圖 9,圖 10?!?
圖 9
圖 10
字典攻擊無效果的時候,可以采用 RainBow 破解,Cain 自帶了 Rainbow 表生成器,打開 Winrtgen,點選"AddTable",在"Hash" 欄中選擇 Oracle,在"Min Len" ,"Max Len" 分別表示是最小密碼長度和最大密碼長度 ,"Charset"選擇密碼中的字符集,然后點"Ok"按鈕就能開始生成 Rainbow 表了,如圖 11
圖 11
生成表的時間要看你的 CPU 和你剛才的 Rainbow 配置了,生成的表會占用大量的硬盤空間。不過好處是一 次生成可以多次使用。使用 Rainbow 方法進行破解的時候,會占用大量的內(nèi)存??墒撬俣确浅5目?,效率也 很高。
三、同交換機/集線器下的其他 Oracle 數(shù)據(jù)庫破解
THC 組織新發(fā)布了一款叫 Orakel 的工具,該工具分析,破解 Oracle 數(shù)據(jù)庫的脆弱遠程認證機制。經(jīng)我測試, 該工具仿佛只對 Oracle8i 的遠程登錄認證有效果。不過隨軟件附帶的文檔提供了一種攻擊方法 。如果是在同 集線器(HUB)下的其他端口有 Oracle8i 數(shù)據(jù)庫,我們知道集線器(HUB)是在同一個沖突域和廣播域中的??梢?直接使用 Ethereal 此類的抓包工具抓取其他端口的用戶連接 Oracle8i 數(shù)據(jù)庫的認證信息。我測試的時候選擇的是 Ethereal 抓包工具,因為該工具有個非常好的功能"Follow TCP Stream",可以利用這個功能,快速的找 出認證包中的 AUTH_SESSKEY,AUTH_PASSWORD,連接用戶名的值 ,然后把相關(guān)的值填入 OrakelSniffert 工具中,就可以破解了,OrakelSniffert 工具支持字典破解和暴力破解,破解速度非常快。效果如圖 12,圖13
圖 12
圖 13
如果是在交換機的環(huán)境下 (SWITCH),每個端口都是一個沖突域 ,我們無法直接的捕捉到其他端口的信息 , 但可以利用 ARP 欺騙技術(shù)或配置交換機的端口分析功能(SPAN),讓其他端口的數(shù)據(jù)包流量流經(jīng)本地,實際應(yīng) 用中,最常用的還是 ARP 欺騙技術(shù),然后使用 Ethereal 抓取認證過程,破解的方法是一樣的。
四、防護
由基礎(chǔ)知識 1 得知,默認情況下設(shè)置標準的 Oracle 密碼是很不復雜的, 但可以使用雙引號來突破 Oracle 的 設(shè)置密碼限制,通過使用雙引號能夠添加以下額外的字符
%^@$*()_ ~`-=[{]}\|;:’,
在 Oracle 中添加并賦予用戶 DBA 權(quán)限的命令如下:
SQL> create user minnie identified by "%^@$*()_ ~`=-[}[{\:’";
SQL> grant dba to minnie;
效果如圖 14 所示:
圖 14
通過設(shè)置如此復雜的密碼,可以在一定程度上防止密碼的破解。

圖 1
Oracle 不同的版本有大量的默認帳戶密碼??墒怯行┣闆r下,Oracle 數(shù)據(jù)庫管理員把默認的密碼給修改了, 我們就要選擇暴力破解了 。如果帳戶破解成功 ,登錄上去,是 DBA 權(quán)限的話最好 ,不是的話,也可以利用 Oracle 的一些漏洞進行提權(quán)到 DBA。進入數(shù)據(jù)庫后,我一般選擇的是抓取其他用戶的密碼哈希值,然后本地 Rainbow 破解。如果同網(wǎng)段還有其他的 Oracle 數(shù)據(jù)庫,可以抓包等待其他用戶的 Oracle 登錄驗證,取出敏感 信息,然后破解。進一步擴大戰(zhàn)果。下面我就分別講講這三種破解方法及相關(guān)工具的使用。
Quotation
有關(guān) Oracle 密碼的基礎(chǔ)知識
1、標準的 Oracle 密碼可以由英文字母,數(shù)字,#,下劃線(_),美元字符($)構(gòu)成,密碼的最大長度為 30 字符;Oracle 密碼不能以"$","#","_"或任何數(shù)字開頭;密碼不能包含像"SELECT","DELETE","CREATE"這類的 Oracle/SQL 關(guān)鍵字。
2、Oracle 的弱算法加密機制:兩個相同的用戶名和密碼在兩臺不同的 Oracle 數(shù)據(jù)庫機器中,將具有相同的哈希值。這些哈希值存儲在 SYS.USER$表中。可以通過像 DBA_USERS 這類的視圖來訪問。
3、Oracle 默認配置下,每個帳戶如果有 10 次的失敗登錄,此帳戶將會被鎖定。但是 SYS 帳戶在 Oracle 數(shù)據(jù)庫中具有最高權(quán)限,能夠做任何事情,包括啟動/關(guān)閉 Oracle 數(shù)據(jù)庫。即使 SYS 被鎖定,也依然能夠訪問數(shù)據(jù)庫。
一、遠程暴力破解
由前面的基礎(chǔ)知識 3,可以得知選擇遠程破解 Oracle 的最好帳戶是 SYS,因為此帳戶永遠有效。在 Oracle10g
以前的版本在安裝的時候并沒有提示修改 SYS 的默認密碼,Oracle10g 雖然提示修改密碼了,但是并沒有檢查密碼的復雜性。如圖2

圖 2
可以使用 Orabrute 工具來進行遠程破解,在使用這個工具的時候,需要系統(tǒng)提前安裝好 Sqlplus,該工具的 原理很簡單,就是不停的調(diào)用 Sqlplus 然后進行登錄驗證,帳戶選擇的是 SYS,密碼則為 password.txt 中的密 碼單詞。只要登錄成功 ,就會調(diào)用 selectpassword.sql 腳本抓取出在 SYS.USER$表中的其他用戶的哈希值 , 然后退出程序。這里有個注意的地方,當?shù)诙芜\行 Orabrute 的時候,需要刪除或移動同目錄下的前一次運行 Orabrute 時生成的 thepasswordsarehere .txt 和 output.txt 文件。
Orabrute 的使用方法為:
orabrute
效果如圖 3,4

圖 3

圖 4 Orabrute 的破解速度比較慢,我們可以采取變通的方法來破解,如果 Oracle 的數(shù)據(jù)庫版本為 Oracle10g。默 認自帶個通過 8080 端口來遠程管理數(shù)據(jù)庫的 WEB 接口,如圖 5

圖 5
當我們訪問 http://ip:8080/oradb/public/global_name 時,會彈出認證信息,這種 HTTP 的基本驗證,有好 多的工具可以快速破解,可以選擇著名的 Hydra,我這里選擇的是圖形界面的 wwwhack,設(shè)置好用戶名為 SYS, 選擇字典,就可以破解了。速度要比通過 Orabrute 來破解快許多。效果如圖 6 所示

圖 6
二、以 DBA 權(quán)限登錄后的破解
當?shù)玫揭粋€遠程登錄的帳號后,可以使用 Checkpwd 來驗證數(shù)據(jù)庫中所有的缺省用戶的默認密碼。Checkpwd 是采用遠程破解的,速度比較慢。不過能清晰的看出每個帳戶的狀態(tài)(過期,鎖定),Checkpwd 的使用方法為:
checkpwdusername/password@//ip:port/sidpasswordfile
效果如圖 7 所示

圖 7
我們也可以使用 Sqlplus 直接登錄到 Oracle 數(shù)據(jù)庫,然后使用 select username,password form dba_users 命令查看數(shù)據(jù)庫中的用戶名和密碼,然后本地用 Cain 來破解,如圖 8 所示?!?

圖 8
本地破解速度是非??斓模彝扑]先選擇字典破解,在 Cain 中點選的 Cracker 標簽,然后右鍵點擊先前導入 好的用戶名和哈希值,選擇"Dictionary Attack"選項,就可以字典破解了。效果如圖 9,圖 10?!?

圖 9

圖 10
字典攻擊無效果的時候,可以采用 RainBow 破解,Cain 自帶了 Rainbow 表生成器,打開 Winrtgen,點選"AddTable",在"Hash" 欄中選擇 Oracle,在"Min Len" ,"Max Len" 分別表示是最小密碼長度和最大密碼長度 ,"Charset"選擇密碼中的字符集,然后點"Ok"按鈕就能開始生成 Rainbow 表了,如圖 11

圖 11
生成表的時間要看你的 CPU 和你剛才的 Rainbow 配置了,生成的表會占用大量的硬盤空間。不過好處是一 次生成可以多次使用。使用 Rainbow 方法進行破解的時候,會占用大量的內(nèi)存??墒撬俣确浅5目?,效率也 很高。
三、同交換機/集線器下的其他 Oracle 數(shù)據(jù)庫破解
THC 組織新發(fā)布了一款叫 Orakel 的工具,該工具分析,破解 Oracle 數(shù)據(jù)庫的脆弱遠程認證機制。經(jīng)我測試, 該工具仿佛只對 Oracle8i 的遠程登錄認證有效果。不過隨軟件附帶的文檔提供了一種攻擊方法 。如果是在同 集線器(HUB)下的其他端口有 Oracle8i 數(shù)據(jù)庫,我們知道集線器(HUB)是在同一個沖突域和廣播域中的??梢?直接使用 Ethereal 此類的抓包工具抓取其他端口的用戶連接 Oracle8i 數(shù)據(jù)庫的認證信息。我測試的時候選擇的是 Ethereal 抓包工具,因為該工具有個非常好的功能"Follow TCP Stream",可以利用這個功能,快速的找 出認證包中的 AUTH_SESSKEY,AUTH_PASSWORD,連接用戶名的值 ,然后把相關(guān)的值填入 OrakelSniffert 工具中,就可以破解了,OrakelSniffert 工具支持字典破解和暴力破解,破解速度非常快。效果如圖 12,圖13

圖 12

圖 13
如果是在交換機的環(huán)境下 (SWITCH),每個端口都是一個沖突域 ,我們無法直接的捕捉到其他端口的信息 , 但可以利用 ARP 欺騙技術(shù)或配置交換機的端口分析功能(SPAN),讓其他端口的數(shù)據(jù)包流量流經(jīng)本地,實際應(yīng) 用中,最常用的還是 ARP 欺騙技術(shù),然后使用 Ethereal 抓取認證過程,破解的方法是一樣的。
四、防護
由基礎(chǔ)知識 1 得知,默認情況下設(shè)置標準的 Oracle 密碼是很不復雜的, 但可以使用雙引號來突破 Oracle 的 設(shè)置密碼限制,通過使用雙引號能夠添加以下額外的字符
%^@$*()_ ~`-=[{]}\|;:’,
在 Oracle 中添加并賦予用戶 DBA 權(quán)限的命令如下:
SQL> create user minnie identified by "%^@$*()_ ~`=-[}[{\:’";
SQL> grant dba to minnie;
效果如圖 14 所示:

圖 14
通過設(shè)置如此復雜的密碼,可以在一定程度上防止密碼的破解。
相關(guān)文章
- “CMOS密碼”就是通常所說的“開機密碼”,主要是為了防止別人使用自已的計算機,設(shè)置的一個屏障2023-08-01
QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒有提取OCR功能, 再次逆向我發(fā)現(xiàn)是可以本地調(diào)用QQ的OCR的,但翻譯按鈕確實沒啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04- QQ截圖是我用過的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨立版目前除了屏幕錄制功能其他都逆出來了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導致軟件無法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤分區(qū)安全時會采用 Windows 自帶的 BitLocker 加密工具對電腦磁盤分區(qū)進行加密。但有些人加密后就會忘記自己設(shè)置的密碼從而導致在安裝其它軟2020-11-25防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細介紹了如何才能防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-27徹底防止計算機泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計算機泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價值,2017-06-27- 最近有電腦用戶反應(yīng)量子計算機可以破解下載的所有的加密算法嗎?其實也不是不可以,下面虛擬就為大家講解買臺量子計算機,如何分分鐘破解加密算法2016-09-26
怎么破解Webshell密碼 Burpsuite破解Webshell密碼圖文教程
webshell是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境,一種網(wǎng)頁后門。黑客通常會通過它控制別人網(wǎng)絡(luò)服務(wù)器,那么怎么破解webshell密碼呢?一起來看看吧2016-09-19- 本文討論了針對Linux系統(tǒng)全盤加密的冷啟動攻擊,大家都認為這種攻擊是可行的,但執(zhí)行這么一次攻擊有多難?攻擊的可行性有多少呢?需要的朋友可以參考下2015-12-28
防止泄露公司機密、企業(yè)數(shù)據(jù)防泄密軟件排名、電腦文件加密軟件排行
面對日漸嚴重的內(nèi)部泄密事件,我們?nèi)绾问刈o企業(yè)的核心信息,如何防止內(nèi)部泄密也就成了擺在各個企業(yè)領(lǐng)導面前的一大問題。其實,針對內(nèi)網(wǎng)安全,防止內(nèi)部信息泄漏早已有了比較2015-12-17