當前Windows Server 2019和Windows 10 RS5安全基線存在的問題與解決方案
在撰寫本文時,這些基線仍然處於“草案”狀態。草案版本的基線可以在 ofollow,noindex">這裡 找到。
在Microsoft的建議中,仍然存在一些問題,並且可能需要繼續進行修訂。在本文中,我們按照現有版本進行分析,但對於憑據保護方面我做出了必要的修改。我將在後文中解釋為什麼必須對其進行修改。
問題1
當有使用者進行錯誤型別的SMB共享時,我能夠捕獲多播的雜湊值。
修復方案:
禁用組策略中的“多播名稱解析”(Multicast Name Resolution),如下圖所示。
問題2
仍然存在NBT-NS(Netbios)投毒(Poisioning)的問題。我無法使用與問題1中相同的方法捕獲到任何雜湊值。如果不在網路上使用,則應該將Netbios關閉。
修復方案:
通過組策略首選項,或者通過手動插入登錄檔的方式,建立以下注冊表項。(Dword Value NodeType)
問題3
即使網路客戶端和域成員都啟用了SMB簽名,我們也能夠直接檢視Responder的SMB共享,或者在網頁上嵌入共享並使其隱藏,同時仍然轉儲雜湊值。
嘗試與Responder建立SMB連線的截圖。
密碼雜湊值立即被轉儲,無需輸入。
在Responder中執行以下命令。在這裡,並非WPAD存在問題,而是SMBv2在轉儲HTLM雜湊值過程中出現了問題。
修復方案:
限制傳出的NTLM流量。在將規則設定為“Deny All”(全部拒絕)之前,我們應該首先對流量進行審計。審計將允許我們通過NTLM操作日誌收集NTLM相關事件。至少應該針對特權訪問工作站的事件進行審計。如果存在可以訪問的遠端系統,但該系統無法處理NTLM之外的任何其他內容(例如Kerberos),那麼這樣的設定將會帶來問題。幸運的是,還有另一種設定,允許在伺服器出現異常的情況下請求NTLM身份驗證。
日誌表明,訪問Responder CIFS共享的行為被阻止。
下面是阻止時的提示,並且無法使用Responder捕獲雜湊值。
如果大家想要了解關於此設定的更多資訊,建議閱讀 Microsoft官方文件
如果大家希望將NTLM限制在整個域內,建議參考 這裡 方法。
問題4
關於WPAD,同樣存在一些注意事項。從2.3.2版本開始,就啟用了Responder的代理身份驗證。我嘗試對其進行強制身份驗證,以實現無需互動,透明地獲取憑據。然而,這一點不適用於Windows 10 RS5,但後者能夠通過轉到Responder IP來獲得NTLM響應。
如問題3中所述,針對出站NTLM進行身份驗證限制,是一個針對惡意WPAD代理伺服器的有效對策,因為Responder將嘗試使用NTLM身份驗證來捕獲憑據。
Windows 10 RS5(1809)在這方面存在一些問題,預設情況下,系統會啟動自動代理髮現。
此外,WinHTTP Web代理自動發現服務(WinHTTP Web Proxy Auto-Discovery Service)預設是執行的,其執行過程中需要依賴。
我建議關閉代理頁面上的“自動檢測設定”選項。如果必須要啟用這個選項,那麼我建議部署一個持續啟用的VPN連線,並帶有免費Wi-Fi熱點,以防止無意中洩露密碼雜湊值。
如果後續再發現有其他需要注意的地方,或者各位讀者提出了任何其他建議,我都會再對這篇文章進行更新。