天天看點

暴力破解Oracle資料庫密碼

一、驗證不能通過修改使用者的password實作登入不知道密碼的使用者

<code>[oracle@node1 ~]$ sqlplus /</code><code>as</code>

<code>sysdba</code>

<code> </code> 

<code>SQL*Plus: Release 11.2.0.3.0 Production</code><code>on</code>

<code>Mon Nov 7 12:22:46 2011</code>

<code>Copyright (c) 1982, 2011, Oracle. </code><code>All</code> <code>rights reserved.</code>

<code>Connected</code><code>to</code><code>:</code>

<code>Oracle</code><code>Database</code>

<code>11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production</code>

<code>With</code>

<code>the Partitioning, Oracle Label Security, OLAP, Data Mining,</code>

<code>Vault</code><code>and</code>

<code>Real</code>

<code>Application Testing options</code>

<code>SQL&gt;</code><code>grant</code>

<code>create</code>

<code>session</code><code>to</code>

<code>xff identified</code><code>by</code>

<code>xifenfei;</code>

<code>Grant</code>

<code>succeeded.</code>

<code>SQL&gt; conn xff/xifenfei</code>

<code>Connected.</code>

<code>SQL&gt; conn /</code>

<code>as</code>

<code>chf identified</code><code>by</code>

<code>SQL&gt; conn chf/xifenfei</code>

<code>SQL&gt;</code><code>desc</code>

<code>user</code><code>$</code>

<code> </code><code>Name</code>                                     

<code>Null</code><code>?    Type</code>

<code> </code><code>----------------------------------------- -------- ----------------------------</code>

<code> </code><code>USER</code><code>#                                    </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>NAME</code>                                     

<code>NOT</code> <code>NULL</code> <code>VARCHAR2(30)</code>

<code> </code><code>TYPE#                                    </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>PASSWORD</code>                                          

<code>VARCHAR2(30)</code>

<code> </code><code>DATATS#                                  </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>TEMPTS#                                  </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>CTIME                                    </code><code>NOT</code> <code>NULL</code> <code>DATE</code>

<code> </code><code>PTIME                                             </code><code>DATE</code>

<code> </code><code>EXPTIME                                           </code><code>DATE</code>

<code> </code><code>LTIME                                             </code><code>DATE</code>

<code> </code><code>RESOURCE$                                </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>AUDIT$                                             VARCHAR2(38)</code>

<code> </code><code>DEFROLE                                  </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>DEFGRP#                                            NUMBER</code>

<code> </code><code>DEFGRP_SEQ#                                        NUMBER</code>

<code> </code><code>ASTATUS                                  </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>LCOUNT                                   </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>

<code> </code><code>DEFSCHCLASS                                        VARCHAR2(30)</code>

<code> </code><code>EXT_USERNAME                                       VARCHAR2(4000)</code>

<code> </code><code>SPARE1                                             NUMBER</code>

<code> </code><code>SPARE2                                             NUMBER</code>

<code> </code><code>SPARE3                                             NUMBER</code>

<code> </code><code>SPARE4                                             VARCHAR2(1000)</code>

<code> </code><code>SPARE5                                             VARCHAR2(1000)</code>

<code> </code><code>SPARE6                                            </code><code>DATE</code>

<code>SQL&gt;</code><code>select</code>

<code>name</code><code>,</code><code>password</code>

<code>from</code>

<code>user</code><code>$</code><code>where</code>

<code>name</code>

<code>in</code><code>(</code><code>'XFF'</code><code>,</code><code>'CHF'</code><code>);</code>

<code>NAME</code>                          

<code>PASSWORD</code>

<code>------------------------------ ------------------------------</code>

<code>CHF                            F3CF2F0CB35CB6CA</code>

<code>XFF                            1B60F4BFF1DAB500</code>

<code>SQL&gt;</code><code>alter</code>

<code>user</code> <code>xff identified</code><code>by</code>

<code>values</code>

<code>'F3CF2F0CB35CB6CA'</code><code>;</code>

<code>User</code>

<code>altered.</code>

<code>XFF                            F3CF2F0CB35CB6CA</code>

<code>ERROR:</code>

<code>ORA-01017: 使用者名/密碼無效; 登入被拒絕</code>

<code>Warning: You are</code>

<code>no</code>

<code>longer connected</code><code>to</code>

<code>ORACLE.</code>

<code>'1B60F4BFF1DAB500'</code><code>;</code>

注:這個實驗使用11g證明,其實10g也是同樣的結果;在oracle 9i中可以通過修改password的values值實作登入

二、使用orabf破解資料庫密碼

1、修改資料庫密碼

<code>xff01;</code>

<code>user</code> <code>chf identified</code><code>by</code>

<code>chf00; </code>

<code>CHF                            05BD6F8AB28BD8CA</code>

<code>XFF                            A51B3879056B3DDD</code>

2、orabf使用

<code>C:\Users\XIFENFEI\Downloads\orabf-v0.7.6&gt;orabf</code>

<code>orabf v0.7.6, (C)2005 [email protected]</code>

<code>---------------------------------------</code>

<code>usage: orabf [</code><code>hash</code><code>]:[username] [options]</code>

<code>options:</code>

<code>-c [num]  complexity: a number</code><code>in</code>

<code>[1..6] or a filename</code>

<code>   </code><code>-     </code><code>read</code>

<code>words from stdin</code>

<code>   </code><code>[</code><code>file</code><code>]</code><code>read</code>

<code>words from</code><code>file</code>

<code>   </code><code>1      numbers</code>

<code>   </code><code>2      alpha</code>

<code>   </code><code>3      alphanum</code>

<code>   </code><code>4      standard oracle (alpha)(alpha,num,_,</code><code>#,$)... (default)</code>

<code>   </code><code>5      entire keyspace (</code><code>' '</code><code>..</code><code>'~'</code><code>)</code>

<code>   </code><code>6      custom (charset</code><code>read</code>

<code>from first line of</code><code>file</code><code>: charset.orabf)</code>

<code>-m [num]  max</code>

<code>pwd</code> <code>len: must be</code><code>in</code>

<code>the interval [1..14] (default: 14)</code>

<code>-n [num]  min</code>

<code>the interval [1..14] (default: 1)</code>

<code>-r        resume: tries to resume a previous session</code>

<code>C:\Users\XIFENFEI\Downloads\orabf-v0.7.6&gt;orabf A51B3879056B3DDD:XFF</code>

<code>Trying default passwords...</code><code>done</code>

<code>Starting brute force session using charset:</code>

<code>#$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_</code>

<code>press</code><code>'q'</code>

<code>to quit. any other key to see status</code>

<code>current password: D9X50</code>

<code>9229361 passwords tried. elapsed</code><code>time</code>

<code>00:00:13. t</code><code>/s</code><code>:697938</code>

<code>current password: HI0QJ</code>

<code>18967617 passwords tried. elapsed</code><code>time</code>

<code>00:00:27. t</code><code>/s</code><code>:698403</code>

<code>current password: OB</code><code>#QD</code>

<code>34743632 passwords tried. elapsed</code><code>time</code>

<code>00:00:49. t</code><code>/s</code><code>:698844</code>

<code>password found: XFF:XFF01</code>

<code>55826385 passwords tried. elapsed</code><code>time</code>

<code>00:01:19. t</code><code>/s</code><code>:704047</code>

<code>C:\Users\XIFENFEI\Downloads\orabf-v0.7.6&gt;orabf 05BD6F8AB28BD8CA:CHF -c 3 -n 4 -m 6</code>

<code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>

<code>password found: CHF:CHF00</code>

<code>22647601 passwords tried. elapsed</code><code>time</code>

<code>00:00:31. t</code><code>/s</code><code>:719113</code>

說明:-c 6不能正常運作,不清楚是不是因為我的win 7系統原因導緻

三、使用ops_sse2破解資料庫密碼

1、sys使用者的password

<code>password</code>

<code>name</code><code>=</code><code>'SYS'</code><code>;</code>

<code>------------------------------</code>

<code>18698BFD1A045BCC</code>

2、ops_sse2使用

<code>C:\Users\XIFENFEI\Downloads\ops_SIMD_win32&gt;ops_sse2</code>

<code>Oracle passwords (DES) solver 0.3 (SSE2) -- Dennis Yurichev &lt;[email protected]&gt;</code>

<code>Compiled @ Apr  5 2011 12:13:15</code>

<code>Demo version, supporting only SYS usernames.</code>

<code>Usage:</code>

<code>  </code><code>ops_sse2.exe --hashlist=filename.txt</code>

<code>    </code><code>[--min=min_password_length] [--max=max_password_length]</code>

<code>    </code><code>[--first_symbol_charset=characters] [--charset=characters]</code>

<code>    </code><code>[--results=filename.txt]</code>

<code>hashlist</code>

<code>file</code> <code>format</code><code>:</code>

<code>username:</code><code>hash</code><code>:comment_or_SID</code>

<code>By default, results are dumped to stdout.</code>

<code>This can be changed by setting --results option</code>

<code>Default values:</code>

<code>  </code><code>min_password_length=1</code>

<code>  </code><code>max_password_length=8</code>

<code>  </code><code>first_symbol_charset=ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>

<code>  </code><code>charset=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</code><code>#$_</code>

<code>#ops_file.txt内容</code>

<code>SYS:18698BFD1A045BCC:xff</code>

<code>C:\Users\XIFENFEI\Downloads\ops_SIMD_win32&gt;ops_sse2 --hashlist=ops_file.txt --min=6  --charset=CDEFNHITX</code>

<code>username=SYS: 1 unsolved</code><code>hash</code><code>(es) left</code>

<code>Checking 6-symbol passwords</code><code>for</code>

<code>username SYS</code>

<code>overall progress=  0%</code>

<code>Checking 7-symbol passwords</code><code>for</code>

<code>overall progress= 98% /</code><code>time</code>

<code>remaining:</code>

<code>time</code>

<code>elapsed: 12s, ~ 1160449 passwords</code><code>/hashes</code>

<code>per second</code>

<code>Checking 8-symbol passwords</code><code>for</code>

<code>overall progress= 91% /</code><code>time</code>

<code>remaining: 8s</code>

<code>elapsed: 1m31s, ~ 1248875 passwords</code><code>/hashes</code>

<code>SYS</code><code>/xff</code><code>: Found password: XIFENFEI</code>

<code>SYS:XIFENFEI:xff</code>

說明:Demo version隻能使用于破解sys使用者的密碼,而且秘密長度不能超過8.

綜合說明的試驗,雖然都有缺陷,但是相對而已還是orabf破解更加的給力點

<a target="_blank" href="http://www.xifenfei.com/wp-content/uploads/2011/11/orabf-v0.7.6.zip">orabf-v0.7.6下載下傳</a>

<a target="_blank" href="http://www.xifenfei.com/wp-content/uploads/2011/11/ops_SIMD_win32.zip">ops_SIMD_win32</a>

<a target="_blank" href="http://www.xifenfei.com/wp-content/uploads/2011/11/ops_SIMD_linux86.tar">ops_SIMD_linux86</a>