USE master; ALTER LOGIN [sa] WITH NAME=[new_admin];sp_password 'old_pwd', 'new_strong_pwd', 'sa';
圖 1:啟用密碼複雜度與過期策略
BUILTIN\Administrators。sp_change_users_login 'report' 尋找孤立用戶並清理。
圖 2:拒絕 BUILTIN\Administrators 連線
以下擴展預存程序常被利用提權或破壞,若業務不需請徹底移除:
xp_cmdshell(巨大後門)、xp_dirtree、xp_fileexist、xp_getnetname、xp_terminate_process。sp_OACreate、sp_OADestroy、sp_OAGetErrorInfo、sp_OAGetProperty、sp_OAMethod、sp_OASetProperty、sp_OAStop。xp_regaddmultistring、xp_regdeletekey、xp_regdeletevalue、xp_regenumvalues、xp_regread、xp_regremovemultistring、xp_regwrite(可讀取系統管理員密碼)。sp_makewebtask、xp_readwebtask、xp_makewebtask、sp_add_job、sp_addtask、sp_addextendedproc 等。批次移除腳本(執行前請確認業務無依賴):
DROP PROCEDURE sp_makewebtask;
EXEC master..sp_dropextendedproc xp_cmdshell;
EXEC master..sp_dropextendedproc xp_dirtree;
EXEC master..sp_dropextendedproc xp_fileexist;
EXEC master..sp_dropextendedproc xp_getnetname;
EXEC master..sp_dropextendedproc xp_terminate_process;
EXEC master..sp_dropextendedproc sp_oamethod;
EXEC master..sp_dropextendedproc sp_oacreate;
EXEC master..sp_dropextendedproc xp_regaddmultistring;
EXEC master..sp_dropextendedproc xp_regdeletekey;
EXEC master..sp_dropextendedproc xp_regdeletevalue;
EXEC master..sp_dropextendedproc xp_regenumkeys;
EXEC master..sp_dropextendedproc xp_regenumvalues;
EXEC master..sp_dropextendedproc sp_add_job;
EXEC master..sp_dropextendedproc sp_addtask;
EXEC master..sp_dropextendedproc xp_regread;
EXEC master..sp_dropextendedproc xp_regwrite;
EXEC master..sp_dropextendedproc xp_readwebtask;
EXEC master..sp_dropextendedproc xp_makewebtask;
EXEC master..sp_dropextendedproc xp_regremovemultistring;
EXEC master..sp_dropextendedproc sp_OACreate;
DROP PROCEDURE sp_addextendedproc;

圖 3:修改 TCP 靜態端口與動態端口設定

圖 4:指定 IP 偵聽行為
Windows 2000 以上內建 IPSec,可建立規則:
僅允許特定應用伺服器 IP 連線 TCP 1433/1434(或自訂端口),拒絕其他所有 IP。將攻擊面降至最低。
EXEC sys.sp_configure N'c2 audit mode', N'1'; RECONFIGURE;
圖 5:啟用登錄審核與 C2 追蹤
若完全不需遠程連線,可關閉:EXEC sys.sp_configure N'remote access', N'0'; RECONFIGURE;
或在伺服器屬性→連接→取消「允許遠程連線到此伺服器」。
將 C:\Program Files\Microsoft SQL Server 目錄的 Users 群組權限設為「唯讀」,防止惡意程式替換二進位檔;但需保留必要權限避免 WMI 失敗。