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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Go365 — 一个 Office365 用户攻击工具 | Kitploit
工具/GitHubGitHub/optiv/go365
密码攻击信息收集渗透测试身份验证
GitHuboptiv/go365

Go365

一个 Office365 用户攻击工具

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Go365 v2.0

  • 修复了AWS网关问题(感谢h0useh3ad!)
  • 当代理服务器连接失败时不再崩溃
  • 新增了图形端点

在使用Go365之前,请通读本README!

Go365是一款用于对使用Office365(现/即将更名为Microsoft365)的组织执行用户枚举*和密码猜测攻击的工具。Go365使用了一个位于login.microsoftonline.com上的独特SOAP API端点,大多数其他工具不使用该端点。当使用电子邮件地址和密码进行查询时,该端点会返回一个Azure AD身份验证和授权码。Go365会处理该代码,并将结果显示在屏幕上或输出到文件中。

* 用户枚举是与密码猜测尝试一起执行的。因此,没有专门的标志或功能来仅执行用户枚举。相反,先进行第一次密码猜测攻击,然后解析结果以获取有效用户。

请阅读这三条要点!
  • 此工具可能不适用于所有使用o365的域。测试表明,它与大多数联合域能正常工作。但有些域即使提供了有效的密码,也只会报告有效用户。您的结果可能有所不同!
  • 在此工具的测试域上,多次密码失败后并未实际锁定账户。您的结果可能有所不同!
  • 此工具旨在供经授权对目标组织的o365实例进行“攻击”的安全专业人员使用。

获取方式

选项0

下载适用于您操作系统的预编译二进制文件 HERE。

选项1

下载源代码并本地编译。

  1. 安装Go。
  2. 克隆仓库。
  3. 进入仓库目录并编译。
root@kitploit:~
go build Go365.go
  1. 运行生成的二进制文件

使用方法

root@kitploit:~
$ ./Go365

  ██████         ██████   ██████  ██████
 ██                   ██ ██       ██
 ██  ███   ████   █████  ███████  ██████
 ██    ██ ██  ██      ██ ██    ██      ██
  ██████   ████  ██████   ██████  ██████

 版本: 2.0
 作者: paveway3, h0useh3ad, S4R1N, EatonChips

使用方法:

  -h                            显示此帮助信息


  必选 - 端点:

    -endpoint [rst or graph]    指定要使用的端点
                                : (-endpoint rst)   *经典Go365!* login.microsoftonline.com/rst2.srf。SOAP XML请求,XML响应
                                : (-endpoint graph)  login.microsoft.com/common/oauth2/token。HTTP POST请求,JSON响应

  必选 - 用户名和密码:

    -u <string>                 要测试的单个用户名
                                : 带或不带"@domain.com"的用户名
                                : 还必须提供-d标志以指定域
                                : (-u [email protected])

    -ul <file>                  要使用的用户名列表(覆盖-u)
                                : 文件每行应包含一个用户名
                                : 用户名可以包含"@domain.com"
                                : 如果未指定域,则使用 -d 指定的域
                                : (-ul ./usernamelist.txt)

    -p <string>                 尝试使用的密码
                                : 如果包含特殊字符,请用单引号括起来
                                : (-p password123) 或 (-p 'p@s$w0|2d')

    -pl <file>                  要使用的密码列表(覆盖-p)
                                : 文件每行应包含一个密码
                                : 可以使用 -delay 标志在每组尝试之间添加暂停
                                : (-pl ./passwordlist.txt)

    -up <file>                  要使用的用户密码列表(覆盖以上所有选项)
                                : 每行一个用户名和密码,用":"分隔
                                : 注意避免重复用户名!
                                : (-up ./userpasslist.txt)

  必选/可选 - 域:

    -d <string>                 要测试的域
                                : 如果用户名或用户名列表不包含"@targetcompany.com",则使用此项
                                : (-d targetcompany.com)

  可选:

    -w <int>                    尝试之间的等待时间(秒)。
                                : 默认值:1秒。建议5秒。
                                : (-w 10)

    -delay <int>                使用密码列表时,每次喷洒之间的延迟(秒)。
                                : 默认值:建议60分钟(3600秒)。
                                : (-delay 7200)

    -o <string>                 输出文件写入路径
                                : 如果文件存在则追加,否则创建文件
                                : (-o ./Go365output.out)

    -proxy <string>             单个SOCKS5代理服务器
                                : IP地址和端口,用":"分隔
                                : SOCKS5代理
                                : (-proxy 127.0.0.1:1080)

    -proxyfile <string>         包含SOCKS5代理服务器列表的文件
                                : 每行一个IP地址和端口,用":"分隔
                                : 每次请求前随机选择一个代理服务器
                                : (-proxyfile ./proxyfile.txt)

    -url <string>               发送请求的端点
                                : Amazon API Gateway 'Invoke URL'
                                : 强烈建议使用此选项。谷歌搜索,或
                                : 查看:https://bigb0sss.github.io/posts/redteam-rotate-ip-aws-gateway/
                                : (-url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login)

    -debug                      调试模式。
                                : 打印xml响应

示例

root@kitploit:~
  ./Go365 -endpoint rst -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com
  ./Go365 -endpoint graph -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5
  ./Go365 -endpoint rst -up ./userpass_list.txt -delay 3600 -d pwnthisfakedomain.com -w 5 -o Go365output.txt
  ./Go365 -endpoint graph -u legituser -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5 -o Go365output.txt -proxy 127.0.0.1:1080
  ./Go365 -endpoint rst -u legituser -pl ./pass_list.txt -delay 1800 -d pwnthisfakedomain.com -w 5 -o Go365output.txt -proxyfile ./proxyfile.txt
  ./Go365 -endpoint graph -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5 -o Go365output.txt -url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login

  您甚至可以使用 -pl 和 -delay 标志来安排整个密码猜测活动 :)
  ./Go365 -endpoint rst -ul ./user_list.txt -d pwnthisfakedomain.com -w 5 -o Go365output.txt -url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login -proxyfile listofprox.txt -pl listofpasswords.txt -delay 7200

  *高级提示:如果您收到大量“账户已锁定”响应,则可能需要使用代理或AWS Gateway。

账户已锁定!(域防御)

高级提示: 您可能实际上并没有锁定账户。

在向目标域发送一定数量的查询后,结果可能会开始报告账户已被锁定。

一旦触发此防御,用户枚举将变得不可靠,因为针对有效和无效用户的请求都会随机报告其账户已被锁定。

root@kitploit:~
...
[-] User not found: [email protected]
[-] User not found: [email protected]
[-] Valid user, but invalid password: [email protected]
[!] Account Locked Out: [email protected]
[-] Valid user, but invalid password: [email protected]
[!] Account Locked Out: [email protected]
[!] Account Locked Out: [email protected]
[-] Valid user, but invalid password: [email protected]
[-] Valid user, but invalid password: [email protected]
[!] Account Locked Out: [email protected]
...

这是由在特定时间内针对目标域的有效用户查询次数触发的防御机制。尝试次数和时间段取决于目标域,因为目标组织可以自定义阈值。

对抗防御

等待时间

防御机制基于时间和IP地址。Go365提供了在请求之间包含等待时间的选项,以及代理选项以分发请求来源。要规避目标域上的防御机制,请使用较长的等待时间和多个代理服务器。

建议至少等待15秒。 -w 15

SOCKS5代理

如果仍然收到“账户已锁定”响应,请开始代理您的请求。代理选项仅在使用SSH SOCKS5动态代理(ssh -D <port> user@proxyserver)时测试过。

在DO、AWS或Vultr等平台上创建一堆SOCKS5代理,然后创建一个如下所示的文件:

root@kitploit:~
127.0.0.1:8081
127.0.0.1:8082
127.0.0.1:8083
127.0.0.1:8084
127.0.0.1:8085
127.0.0.1:8086
...

该工具将随机遍历提供的代理服务器,并在请求之间等待指定的时间。

-w 15 -proxyfile ./proxies.txt

Amazon API Gateway

此外,可以指定端点URL,以便此工具与Amazon API Gateway进行接口。设置一个指向https://login.microsoftonline.com/rst2.srf端点的网关,然后将-url参数设置为提供的Invoke URL。您的IP应该在每次请求时轮换。

-url https://justanexample.execute-api.us-east-2.amazonaws.com/login

下载工具