首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何克服SAMBA中的MD4散列

如何克服SAMBA中的MD4散列
EN

Security用户
提问于 2021-08-20 12:00:18
回答 1查看 413关注 0票数 0

我们正在使用RedHat ( that 7.9)系统上的Samba配置,其中SMB身份验证基于NTLM密码哈希,它基本上是存储在单独属性sambaNTPassword ()目录数据库中的质询响应身份验证的明文凭据。

因此,我们的安全小组进行了一些笔式测试,发现我们的Samba使用的MD4可以被截获,因为它带有较弱的哈希。

除了身份验证之外,确保数据完整性和传输过程中的加密也是SMB安全性的重要组成部分,这再次依赖于MD4哈希。

下面的

是我的Samba配置示例:

代码语言:javascript
复制
 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侧用户详细信息:

示例:

代码语言:javascript
复制
Attribute Description       value
sambaNTPassword             0735509A0ED9A577BD7D8GG7BC1T
uidNumber                   32222
userPassword                {RBKBD4-HMAC-SHA512)...

只是从安全小组获得它的更新:

在阅读并浏览了笔试结果之后,我了解到为一个用户提供了一个基于LDAP的内部用户帐户,并发现了LDAP(Oracle统一目录)的弱点,在那里他们发现了"LDAP匿名Null Bind“,因此他们发现可以通过LDAP服务检索关键信息,而不必提供任何身份验证凭据,因为它还支持具有空和空的基本对象的搜索请求,因此未经身份验证的攻击者甚至可以利用和获取有关LDAP的任何先前的信息。

因此,当它允许向LDAP服务器提供空/空的基本连接时,它获得了对LDAP服务器的访问,并将所有LDAP数据转储在这些数据中,这些数据很容易获得userPasswordsambaNTPassword的所有密码信息。

为了执行“传递-散列”攻击,使用了工具"Mimikatz“和浏览器”“。

如果可能的话,我需要知道的是:

  • 是否有一种将userPassword属性与sambaNTPassword同步的方法,因为samba不使用userPassword进行samba身份验证。
  • 或者还有什么东西可以使用更安全的散列。
EN

回答 1

Security用户

发布于 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的东西。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/254424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档