如何使用 samba 克服較弱的 MD4 哈希問題

如何使用 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

如果有人遇到此問題並有解決方案,那麼我想尋求指導或建議來緩解該問題。

更新後接收安全評估文件:

在閱讀並查看滲透測試結果後,我了解到滲透測試人員為用戶提供了基於 LDAP 的內部用戶帳戶,並發現了 LDAP(Oracle 統一目錄)的弱點,他們發現“LDAP Anonymous” Null Bind”因此他們發現可以透過LDAP 服務檢索關鍵訊息,而無需提供任何身份驗證憑證,因為它還支援使用NULL 和空基礎物件的搜尋請求,因此未經身份驗證的攻擊者甚至可以利用並獲取信息,甚至任何先前的信息。

因此,獲得了對 LDAP 伺服器的存取權限,因為它允許與 LDAP 伺服器進行 NULL/空基本連接,並轉儲所有 LDAP 數據,從而輕鬆獲取userPassword& 的所有密碼資訊sambaNTPassword

為了執行「哈希傳遞」攻擊,使用了工具「Mimikatz」和瀏覽器「Internet Explorer」。

然而,有趣的是,這裡要強調的是,為了訪問該組織,他們需要從外部進行 VPN 訪問,因此他們使用meterpreter工具來繞過 Paylod reverse https connection

答案1

NT 密碼雜湊使用 MD4,對此您無能為力。

但您已經透過使用 ldaps 緩解了網路攔截問題,ldaps 是透過 TLS 保護的 LDAP。除非您的 TLS 配置出現嚴重問題,否則無法從網路攔截這些雜湊值。我最有興趣了解您的安全團隊如何破壞 TLS 的詳細資訊。

取得這些密碼雜湊的唯一其他方法是直接本地存取 LDAP 伺服器,或存在允許某人查詢它們的存取控制故障。不過你沒有提到這些。

相關內容