如何使用 samba 克服較弱的 MD4 雜湊問題
我們在我們的 RedHat(RHEL7.9) 系統上使用 samba 配置,其中 SMB 身份驗證基於 NTLM 密碼雜湊,它基本上是用於質詢-響應身份驗證的明文憑據,儲存在 LDAP 中的單獨屬性 sambaNTPassword 中(Oracle 統一目錄)目錄數據庫。
因此,我們的安全團隊進行了一些滲透測試,發現我們的 samba 使用的 MD4 可以被攔截,因為它攜帶的雜湊值較弱。
除了身份驗證之外,確保傳輸中的數據完整性和加密是 SMB 安全的重要組成部分,它再次依賴於 MD4 雜湊。
以下是我的 samba 配置範例:
cat /etc/samba/smb.conf [global] log file = /var/log/samba/%m.log log level = 2 max log size = 50 netbios name = FDI0816 server string = FDI0816.myorg.com workgroup = FDI ; ldap configuration invalid users = root +wheel encrypt passwords = Yes guest account = nobody ldap admin dn = cn=sambaAdmin,ou=users,o=services ldap group suffix = ou=Group ldap passwd sync = only ldap ssl = no ldap suffix = ou=FDI,o=myorg ldap timeout = 4 ldap user suffix = ou=People map to guest = Bad User security = user passdb backend = ldapsam:"ldaps://ldap.FDI.myorg.com ldaps://ldap.rnd.myorg.com" ; client connection settings deadtime = 15 dns proxy = No lm announce = No server min protocol = SMB2 ; shares default settings create mask = 0750 directory mask = 2750 posix locking = No strict allocate = Yes unix extensions = No wide links = Yes ; printers are disabled disable spoolss = Yes load printers = No printcap name = /dev/null printing = bsd show add printer wizard = No [homes] browseable = No comment = Your Home create mode = 0640 csc policy = disable directory mask = 0750 public = No writeable = Yes [proj] browseable = Yes comment = Project directories csc policy = disable path = /proj public = No writeable = Yes [home] browseable = Yes comment = Project directories csc policy = disable path = /home public = No writeable = Yes
具有屬性的 LDAP 端使用者詳細資訊:
例子:
Attribute Description value sambaNTPassword 0735509A0ED9A577BD7D8GG7BC1T uidNumber 32222 userPassword {RBKBD4-HMAC-SHA512)...
其他詳情:
Samba Version: 4.10 Client side smb version: 2 Samba Server : RHEL7.9
如果有人遇到這個並有解決方案,那麼我想尋求指導或建議來緩解這個問題。
更新後接收安全評估文件:
在閱讀並通過滲透測試結果後,我了解到 pen-tester 提供了一個基於 LDAP 的使用者的內部使用者帳戶,並發現了 LDAP(Oracle 統一目錄)的弱點,他們發現“LDAP 匿名Null Bind”,因此他們發現可以通過 LDAP 服務檢索關鍵資訊,而無需提供任何身份驗證憑據,因為它還支持具有 NULL 和空的基本對象的搜尋請求,因此未經身份驗證的攻擊者甚至可以利用並獲取任何先前的資訊LDAP知識。
因此,獲得了對 LDAP 伺服器的訪問權限,因為它允許 NULL/空基本連接到 LDAP 伺服器,並轉儲了所有 LDAP 數據,很容易獲得
userPassword
&的所有密碼資訊sambaNTPassword
。為了執行“pass-the-hash”攻擊,使用了“Mimikatz”工具和瀏覽器“Internet Explorer”。
然而,有趣的是這裡要強調的是,為了訪問該組織,他們需要從外部訪問 VPN,因此他們使用
meterpreter
工具繞過reverse https connection
Paylod。
NT 密碼雜湊使用 MD4,您對此無能為力。
但是您已經通過使用 ldaps 緩解了網路攔截問題,ldaps 是使用 TLS 保護的 LDAP。除非您的 TLS 配置有問題,否則無法從網路中截獲這些雜湊值。我最有興趣了解您的安全團隊如何破壞 TLS 的詳細資訊。
獲取這些密碼雜湊的唯一其他方法是直接本地訪問 LDAP 伺服器,或者如果存在訪問控制故障,允許某人查詢它們。不過,你沒有提到這些。