我們在 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 伺服器,或存在允許某人查詢它們的存取控制故障。不過你沒有提到這些。