我们正在使用RedHat ( that 7.9)系统上的Samba配置,其中SMB身份验证基于NTLM密码哈希,它基本上是存储在单独属性sambaNTPassword ()目录数据库中的质询响应身份验证的明文凭据。
因此,我们的安全小组进行了一些笔式测试,发现我们的Samba使用的MD4可以被截获,因为它带有较弱的哈希。
除了身份验证之外,确保数据完整性和传输过程中的加密也是SMB安全性的重要组成部分,这再次依赖于MD4哈希。
下面的
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带有属性的
示例:
Attribute Description value
sambaNTPassword 0735509A0ED9A577BD7D8GG7BC1T
uidNumber 32222
userPassword {RBKBD4-HMAC-SHA512)...在阅读并浏览了笔试结果之后,我了解到为一个用户提供了一个基于LDAP的内部用户帐户,并发现了LDAP(Oracle统一目录)的弱点,在那里他们发现了"LDAP匿名Null Bind“,因此他们发现可以通过LDAP服务检索关键信息,而不必提供任何身份验证凭据,因为它还支持具有空和空的基本对象的搜索请求,因此未经身份验证的攻击者甚至可以利用和获取有关LDAP的任何先前的信息。
因此,当它允许向LDAP服务器提供空/空的基本连接时,它获得了对LDAP服务器的访问,并将所有LDAP数据转储在这些数据中,这些数据很容易获得userPassword和sambaNTPassword的所有密码信息。
为了执行“传递-散列”攻击,使用了工具"Mimikatz“和浏览器”“。
如果可能的话,我需要知道的是:
userPassword属性与sambaNTPassword同步的方法,因为samba不使用userPassword进行samba身份验证。发布于 2021-08-20 13:45:42
MD4是NTLM身份验证的固有内容。NTLM使用密码的未咸MD4哈希作为秘密,在某些版本中,它使用该哈希来加密DES的挑战,而在其他版本中则使用HMAC-MD5。前者的攻击价格约为20美元,尽管后者需要更多的努力,但MD4和MD5不应再用于任何目的。
您应该转而使用Kerberos进行身份验证。如果您使用的是更现代的算法之一,而不是rc4-hmac (再次基于MD4),那么这应该足以防止攻击者执行传递哈希攻击。请注意,您仍然应该保护密码字段,因为Kerberos服务器可能会在LDAP服务器中存储敏感数据,但是您不必处理MD4。
我要指出的是,Windows支持Kerberos的任何算法都不是很好,因为最好的算法仍然使用HMAC-SHA-1,但也有相当安全的选项。如果您关心强安全性,您将不使用Windows和CIFS (SMB使用的协议),而是使用类似SFTP的东西。
https://security.stackexchange.com/questions/254424
复制相似问题