关于SharpSpray
SharpSpray是一款功能强大的活动目录密码喷射安全工具,丰告网该工具基于.NET C#开发,可以帮助广大研究人员对活动目录的安全性进行分析。
SharpSpray是DomainPasswordSpray工具的C#实现,并且还引入了很多增强功能以及额外功能。除此之外,该工具还使用了LDAP协议来跟域活动目录服务进行通信。
功能介绍
可以从域上下文的内部和外部进行操作。
从列表中排除禁用域的帐户。
自动从活动目录中收集域用户信息。
通过在一次锁定尝试中排除帐户,避免潜在的帐户锁定。
通过自动收集域锁定账户来观察窗口设置,避免潜在的帐户锁定。
与域细粒度密码策略兼容。
用户自定义LDAP筛选器,例如(description=admin)。
支持设置每次身份验证尝试之间的延迟(秒)。
支持设置每次身份验证尝试之间的抖动。
支持单个密码或密码列表。
单文件控制台终端应用程序。
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地品渡雅创:
git clone https://github.com/iomoath/SharpSpray.git
工具使用
命令行参数
> SharpSpray.exe --help
-v, --Verbose Show verbose messages.
-u (Optional) Username list file path. This will be
automatically fetched from the active directory if not specified.
-p A single password that will be used to perform the password spray.
-k, --pl (Optional) Password List file path.
-d (Optional) Specify a domain name.
-m Use this option if spraying from a host located outside the Domain context.
-q, --dc-ip Required when the option 'm' OutsideDomain is checked
-x Attempts to exclude disabled accounts
from the user list (Not supported with the option -m)
-z Exclude accounts within 1 attempt of
locking out (Not supported with the option -m)
-f Custom LDAP filter for users, e.g. "(description=*admin*)"
-o A file to output the results to.
-w Do not relay on domain lockout observation window settings and use this specific value. (Default 32 minute)
-s (Optional) Delay in seconds between each authentication attempt.
-j (Optional) Jitter in seconds.
--Force Force start without asking for confirmation.
--get-users-list Get the domain users list from the active directory.
--show-examples Get domain users list from the active directory.
--show-args Show command line args
--help Display this help screen.
参数介绍
-v, --Verbose 显示Verbose信息
-u (可选)用户名列表文件路径,如果不指定,则自动从活动目录获取
-p 用于执行密码喷射的单个密码
-k, --pl (可选)密码列表文件路径
-d (可选)指定目标域名
-m 如果目标主机位于域上下文之外的位置,则可以使用该选项
-q, --dc-ip 检测’m’参数时要求使用该选项
-x 尝试从用户列表中排除已禁用的账号
-z 通过在一次锁定尝试中排除帐户,避免潜在的帐户锁定
-f 自定义LDAP过滤器,例如"(description=*admin*)"
-o 存储处理结果的文件
-s (可选)每次身份验证尝试之间的延迟(秒)
-j (可选)以秒为单位的抖动
--Force 强制执行任务,无需进行确认
--get-users-list 从活动目录获取域用户列表
--show-examples 从活动目录获取域用户列表
--show-args 显示命令行参数
--help 显示帮助信息
工具使用样例
样例1
SharpSpray.exe -v -x -z --pl password.txt
SharpSpray.exe -x -z -u users.txt --pl psswd.txt
SharpSpray.exe -x -z -u users.txt -p Passw0rd!
SharpSpray.exe -x -z -s 3 -j 1 -u users.txt -k psswd.txt -o sprayed.txt
样例2
SharpSpray.exe -w 32 -m -d DC-1.local --dc-ip 10.10.20.20 -u users.txt --pl psswd.txt
SharpSpray.exe -w 32 -s 3 -j 1 -m -d DC-1.local --dc-ip 10.10.20.20 -u users.txt --pl psswd.txt
样例3SharpSpray.exe --get-users-list
SharpSpray.exe --get-users-list > users.txt
PS> .\SharpSpray.exe --get-users-list | Out-File -Encoding ascii users.txt
如何从活动目录中仅获取用户列表
下列命令可以从目标活动目录中获取域用户信息,并打印在终端窗口中:
SharpSpray.exe -x -z --get-users-list
-x: Exclude disabled accounts from the user list.
-z: Exclude accounts within 1 attempt of locking out.
参数介绍
-x: 从用户列表中排除已禁用的账号
-z: 一次尝试锁定后排除目标账号
项目地址
https://github.com/iomoath/SharpSpray
参考资料
https://c99.sh/sharpspray-active-directory-password-spraying-tool/