許多 DBA 以為防火牆、Windows 驗證、強制密碼策略就能高枕無憂,實則不然。本文揭露六大常見錯誤認知,並說明實際滲透測試手法,助你建立真正有效的防禦體系。
風險: 直接對線上系統進行暴力破解測試,極易觸發帳號鎖定策略,導致業務應用程式無法連線、使用者無法登入,造成服務中斷。
正確做法:
實測工具: OmniPeek、Wireshark (Ethereal) 可解析 TDS 協定封包攔截 SQL 驗證密碼;Cain & Abel 專精 TDS 密碼破解。
交換機 ≠ 安全: Cain 的 ARP Poisoning (ARP 欺騙) 功能可在 1 分鐘內劫持區域網路流量,繞過交換機隔離,讓嗅探工具捕獲所有封包。
Windows 驗證也會洩漏: NTLM/Kerberos 雜湊同樣可被攔截離線破解 (工具同上),取得域帳號權限即等同控制 SQL Server。
繞過手段:
驗證原則: 「信任但驗證」。即使策略要求 12 碼複雜度,仍需定期自行抽樣破解驗證 (如使用 Hashcat 基準測試),確認無盲點。
事實: SQL Server 7.0/2000 使用專屬雜湊演算法 (非標準 SHA),但工具 (Cain, NGSSQLCrack) 已實作反向工程演算法,可對雜湊進行離線字典/暴力攻擊。雖成功率視密碼複雜度而定,但證明「不可逆」是錯覺。
MBSA 盲點: 僅檢查空密碼、已知弱密碼字典,無法 執行深度離線雜湊破解。
補充工具鏈:
盲點: 網路中常存在 MSDE、SQL Server Express、開發人員私裝的 Developer Edition,預設 SA 空密碼、預設埠開放、無修補程式。
發現手段: 使用 SQLPing 3 掃描全網段 (UDP 1434) 列舉所有 SQL 實例,包含隱藏執行個體。