onedrive_user_enum在渗透测试中的实际应用:红队操作案例研究
【免费下载链接】onedrive_user_enumonedrive user enumeration - pentest tool to enumerate valid o365 users项目地址: https://gitcode.com/gh_mirrors/on/onedrive_user_enum
onedrive_user_enum是一款强大的渗透测试工具,专门用于枚举有效的Office 365用户,通过OneDrive的URL路径特征实现被动探测,是红队在信息收集阶段的理想选择。
一、OneDrive用户枚举原理:为什么它如此高效?
OneDrive作为微软Office 365生态的重要组成部分,其用户个人文件共享URL遵循固定格式:https://[tenant]-my.sharepoint.com/personal/[username]_[domain]/_layouts/15/onedrive.aspx
当用户存在且已登录过OneDrive时,访问该URL会返回403 Forbidden状态码;若用户不存在或未使用过OneDrive,则返回404 Not Found。这种差异成为用户枚举的关键依据。
与传统枚举工具相比,onedrive_user_enum具有三大优势:
- 被动无侵入:无需尝试登录,仅通过HTTP HEAD请求验证状态码
- 高可靠性:Office 365用户体系与OneDrive强绑定,结果准确率高
- 低检测风险:目标组织不会收到登录尝试告警,仅微软后台可见访问记录
二、红队实战案例:从枚举到突破的完整流程
2.1 环境准备与工具部署
# 克隆项目仓库 git clone https://gitcode.com/gh_mirrors/on/onedrive_user_enum cd onedrive_user_enum # 安装依赖 pip install -r requirements.txt # 查看工具帮助 python3 onedrive_enum.py -h项目核心文件结构:
- onedrive_enum.py:主程序入口,实现用户枚举逻辑
- USERNAMES/:用户名字典集合,包含多种命名模式(如
census_firstname_1990.txt.175) - data/onedrive_enum.db:SQLite数据库,记录枚举历史和结果
- mysql/onedrive_db.schema:MySQL数据库配置模板,支持团队协作
2.2 基础枚举命令:快速定位有效用户
针对目标域example.com进行基础枚举:
python3 onedrive_enum.py -d example.com -U USERNAMES/survey_script_top175_multi.txt -o valid_users.txt关键参数解析:
-d:指定目标域名(必填)-U:加载用户名字典文件(支持目录批量导入)-o:输出有效用户到文件
工具执行流程:
- 自动解析目标租户(通过
autodiscover-s.outlook.com) - 多线程发送HEAD请求验证用户URL
- 记录403状态码对应的有效用户(如
jsmith@example.com)
2.3 高级技巧:提升枚举效率与规避防御
2.3.1 去重与增量枚举
避免重复测试已验证用户,节省时间并降低探测风险:
python3 onedrive_enum.py -d example.com -U new_users.txt -x参数-x会自动对比data/onedrive_enum.db中的历史记录,仅测试新用户。
2.3.2 用户名变异与生成
利用内置字典生成工具创建目标组织专属字典:
# 生成组合用户名(如john.smith、john-smith等变体) bash generate_usernames_f17.sh firstnames.1990.txt lastnames.1990.txt > custom_names.txt2.3.3 数据库集成与团队协作
配置MySQL数据库实现多成员数据共享:
# 复制配置模板并修改 cp db.conf.sample db.conf # 编辑数据库连接信息后执行 python3 onedrive_enum.py -d example.com -U users.txt -m db.conf三、典型应用场景与价值
3.1 红队信息收集阶段
在渗透测试初期,onedrive_user_enum可快速构建目标组织用户列表,为后续攻击提供精准目标。例如:
- 发现管理员账户(如
admin@example.com) - 识别高频使用账户(通过字典排序和响应时间分析)
3.2 社会工程学攻击支持
枚举结果可直接用于:
- 钓鱼邮件定向发送(使用真实用户名提高可信度)
- 密码喷射攻击(结合常见密码字典)
3.3 内部威胁评估
企业安全团队可利用该工具:
- 检测弱命名规范导致的账户暴露
- 验证离职员工账户是否及时注销
四、防御建议:如何防范OneDrive枚举攻击
- 监控异常访问模式:关注SharePoint的403/404状态码比例异常
- 实施条件访问策略:限制外部网络对OneDrive的访问
- 强化用户名规范:避免使用可预测的命名模式(如
first.last) - 定期安全审计:使用工具自身反向测试账户安全性
五、工具扩展与生态整合
onedrive_user_enum可与以下工具形成工作流:
- 密码破解:将结果导入Hashcat或John the Ripper
- 自动化攻击:结合Cobalt Strike的
credential spray模块 - 数据分析:通过
mysql/onedrive_db.schema生成用户行为报表
通过合理利用这款工具,红队人员能够在信息收集阶段占据主动,为后续攻击链构建奠定基础。同时,防御方也可借鉴其原理建立有效的检测机制,提升组织安全水位。
【免费下载链接】onedrive_user_enumonedrive user enumeration - pentest tool to enumerate valid o365 users项目地址: https://gitcode.com/gh_mirrors/on/onedrive_user_enum
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考