Spray自动化脚本编写:批量密码喷洒与结果分析技巧 Spray自动化脚本编写批量密码喷洒与结果分析技巧【免费下载链接】SprayA Password Spraying tool for Active Directory Credentials by Jacob Wilkin(Greenwolf)项目地址: https://gitcode.com/gh_mirrors/spr/SpraySpray是一款由Jacob Wilkin开发的密码喷洒工具专为Active Directory凭证测试设计。它支持多种协议SMB、OWA、Lync等的批量密码测试并能根据密码策略自动调整喷洒频率避免账户锁定。本文将详细介绍如何使用Spray进行自动化脚本编写掌握批量密码喷洒与结果分析的核心技巧。一、快速上手Spray环境准备与基础配置1.1 系统要求与依赖安装Spray基于Bash脚本开发需确保系统已安装以下工具rpcclient用于SMB协议测试curl用于OWA、Lync等Web服务测试在Kali Linux中这些工具默认已安装其他系统可通过包管理器安装# Debian/Ubuntu sudo apt-get install rpcclient curl # macOS brew install curl1.2 项目结构与核心文件Spray项目包含以下关键目录和文件用于支撑密码喷洒工作流主脚本spray.sh核心执行文件用户名列表name-lists/含中英文姓名、常见用户名格式密码字典password-lists/多语言密码字典满足复杂度要求日志输出自动生成的logs/目录存储喷洒结果和凭证信息二、核心功能多场景密码喷洒脚本编写2.1 SMB协议喷洒企业内网环境测试SMB协议是Windows环境的核心协议Spray通过rpcclient实现批量测试。基本命令格式./spray.sh -smb targetIP usernameList passwordList AttemptsPerLockoutPeriod LockoutPeriodInMinutes Domain示例对192.168.0.1的SMB服务进行喷洒每35分钟尝试1次避免账户锁定./spray.sh -smb 192.168.0.1 name-lists/john.txt password-lists/passwords-English.txt 1 35 CORPORATION2.2 OWA/Exchange Web服务喷洒针对Outlook Web Access需先通过Burp Suite捕获POST请求模板替换用户名/密码为sprayuser和spraypassword保存为post-request.txt。执行命令./spray.sh -owa targetIP usernameList passwordList AttemptsPerLockoutPeriod LockoutPeriodInMinutes RequestFile关键技巧请求模板需包含完整Cookie和表单字段确保与目标OWA版本匹配。2.3 密码字典动态更新保持测试有效性Spray提供密码字典更新功能自动替换年份如将2023更新为当前年份并支持添加企业名称# 更新密码字典年份 ./spray.sh -passupdate password-lists/passwords-English.txt # 添加企业名称如Company ./spray.sh -passupdate password-lists/passwords-English.txt Company更新后的字典会自动适配最新密码趋势提升测试成功率。三、高级技巧用户名生成与喷洒策略优化3.1 自定义用户名列表生成通过姓名组合生成符合企业命名规范的用户名如firstname.lastname或flastname./spray.sh -genusers name-lists/english-first-1000.txt name-lists/english-last-1000.txt fn.ln生成结果保存至generated-usernames.txt支持fi名首字母、ln姓全称等占位符。3.2 锁定策略规避精准控制喷洒频率使用-calc-throttle参数计算最佳喷洒间隔避免触发账户锁定./spray.sh -calc-throttle usernameList LockoutResetTimerInMinutes示例针对1000个用户、30分钟锁定重置期计算得出节流时间To spray 1000 users over 30 minutes, Intruder Throttle(milliseconds) should be: 18000 Threads should be: 1四、结果分析日志解析与凭证提取4.1 日志文件结构Spray自动生成logs/目录关键文件包括spray-logs.txt完整喷洒记录含时间戳和尝试结果credentials.txt成功凭证格式username%passwordusername-removed-successes.txt已验证用户列表排除重复测试4.2 高效提取有效凭证通过grep命令快速筛选成功结果# 查看所有有效凭证 grep Valid Credentials logs/spray-logs.txt # 提取用户名密码对 cat logs/credentials.txt | cut -d % -f 1,2 valid-creds.txt五、实战案例企业环境密码喷洒全流程5.1 准备阶段收集信息确定目标服务如SMB/OWA、密码策略锁定阈值、重置时间生成字典使用-genusers创建用户名列表-passupdate更新密码字典配置模板对OWA服务通过Burp导出POST请求模板5.2 执行阶段# 执行SMB喷洒每30分钟1次尝试锁定阈值5次 ./spray.sh -smb 10.0.0.10 generated-usernames.txt updated-passwords.txt 5 30 CORP # 后台运行并记录输出 nohup ./spray.sh -owa mail.corp.com users.txt passwords.txt 3 60 post-request.txt spray-owa.log 5.3 分析阶段检查logs/credentials.txt获取有效凭证通过spray-logs.txt分析失败原因如网络超时、密码策略拦截调整字典和频率进行第二轮针对性测试六、总结与最佳实践Spray作为轻量级密码喷洒工具凭借其灵活性和策略控制能力成为企业安全测试的理想选择。使用时需注意合规性仅在授权环境下使用避免违反法律法规策略适配严格遵循目标密码策略避免账户锁定字典优化结合企业特征如名称、年份定制密码字典通过本文介绍的脚本编写与分析技巧可有效提升密码喷洒效率为企业安全评估提供有力支持。更多高级用法可参考项目内置文档和示例脚本。【免费下载链接】SprayA Password Spraying tool for Active Directory Credentials by Jacob Wilkin(Greenwolf)项目地址: https://gitcode.com/gh_mirrors/spr/Spray创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考