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

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

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

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

工具目录

分类

查看所有分类
Loading categories
goCabrito — 用于发送钓鱼攻击的超级有序且灵活的脚本 | Kitploit
工具/GitHubGitHub/kingsabri/gocabrito
钓鱼工具钓鱼攻击渗透测试社会工程学电子邮件收集红队
GitHubkingsabri/gocabrito

goCabrito

用于发送钓鱼攻击的超级有序且灵活的脚本

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

goCabrito

用于发送钓鱼邮件活动的超级组织和灵活的脚本。

功能

  • 发送给单个邮箱
  • 发送给邮箱列表(文本)
  • 发送带姓名的邮箱列表(CSV)
  • 支持附件
  • 将邮件分组发送
  • 在每组之间延迟发送
  • 支持在邮件正文中放置和替换标签
    • 在HTML消息中添加{{name}}标签,用于替换为姓名(与--to CSV配合使用)。
    • 在HTML消息的URL中添加{{track-click}}标签。
    • 在HTML消息中添加{{track-open}}标签。
    • 添加{{num}}标签,替换为随机电话号码。
  • 支持不同的活动配置文件,以避免错误和混淆。
  • 支持创建已发送邮件的数据库,每个邮件带有唯一哈希值(与getCabrito配合使用)
  • 支持干测试,在不发送邮件的情况下针对配置文件运行脚本,以在启动前测试活动。

问答

为什么不用goPhish?

goPhish也是一个很好的选择。但我更喜欢灵活性和简洁性兼具。我多次使用goPhish,但有时觉得它要么过于繁琐,要么不够灵活。

大多数时候,我不需要那么多统计数据,只需要一种灵活的方式来准备和发送钓鱼邮件活动。每次使用goPhish时,我都需要查阅文档学习如何添加网站、转发特定请求等。因此我创建了goCabrito和getCabrito。

getCabrito可以选择为每个邮件生成唯一的跟踪URL。

  • 邮件打开跟踪:跟踪像素
  • 邮件点击跟踪

通过为每个邮件生成哈希值,并将其附加到URL或图片URL的末尾,并将这些信息连同其他有用数据存储起来,供getCabrito导入和服务。这个功能是goCabrito与getCabrito脚本之间唯一的连接点,所以别担心!

“Cabrito”是什么意思?

这只是我喜爱的一家餐馆的名字,这个名字由我团队中的一位成员选定。

前提条件

安装gem依赖

root@kitploit:~
sudo apt-get install build-essential libsqlite3-dev

安装gems

root@kitploit:~
gem install mail sqlite3

使用方法

root@kitploit:~
goCabrito.rb — 一个简单但灵活的邮件发送程序。

帮助菜单:
    -s, --server HOST:PORT           SMTP服务器及其端口。
                                        e.g. smtp.office365.com:587
    -u, --user USER                  用于认证的用户名。
                                        e.g. [email protected]
    -p, --pass PASS                  用于认证的密码
    -f, --from EMAIL                 发件人邮箱(通常与发件人邮箱相同)
                                        e.g. [email protected]
    -t, --to EMAIL|LIST|CSV          收件人邮箱或收件人列表文件。
                                        e.g. [email protected] 或 targets.lst 或 targets.csv
                                         csv格式预期为:fname,lname,email,不带表头。
    -c, --copy EMAIL|LIST|CSV        抄送的收件人邮箱或收件人列表文件。
    -b, --bcopy EMAIL|LIST|CSV       密送的收件人邮箱或收件人列表文件。
    -B, --body MSG|FILE              邮件正文字符串或包含正文的文件(非附件)。
                                        用于点击和消息打开等跟踪:
                                        在HTML消息的URL中添加{{track-click}}标签。
                                          eg: http://phisher.com/file.exe/{{track-click}}
                                        在HTML消息中添加{{track-open}}标签。
                                          eg: <html><body><p>Hi</p>{{track-open}}</body></html>
                                        在HTML消息中添加{{name}}标签,用于替换为姓名(与--to CSV配合使用)。
                                          eg: <html><body><p>Dear {{name}},</p></body></html>
                                        添加{{num}}标签,替换为随机电话号码。
    -a, --attachments FILE1,FILE2     一个或多个附件文件,用逗号分隔。
    -S, --subject TITLE               邮件主题/标题。
        --no-ssl                      连接服务器时不使用SSL(默认:false)。
    -g, --groups NUM                  一次发送邮件的收件人数量。(默认所有收件人分为一组)
    -d, --delay NUM                   每组发送后等待的秒数。
    -P, --profile FILE                包含以上所有设置的JSON配置文件。
    -D, --db FILE                     创建SQLite数据库文件(包含邮件及其跟踪哈希值),供'getCabrito'服务器导入。
        --dry                         干测试,不实际发送邮件。
    -h, --help                        显示此消息。

用法:
  goCabrito.rb <OPTIONS>
示例:
  $goCabrito.rb -s smtp.office365.com:587 -u [email protected] -p P@ssword1 \
                       -f [email protected] -t targets1.csv -c targets2.lst -b targets3.lst \
                       -B msg.html -S "This's title" -a file1.docx,file2.xlsx -g 3 -d 10

  $goCabrito.rb --profile prf.json

实际如何使用?

  1. 为每个客户创建一个目录
  2. 在客户目录下,为每个活动创建一个子目录。该子目录包含:
    • 配置文件
    • 收件人、抄送和密送列表(CSV格式)
    • HTML格式的邮件正文
  3. 配置配置文件并准备HTML
  4. 首先以dry模式运行活动配置文件(检查配置文件中的dry值)
root@kitploit:~
ruby goCabrito.rb -P CUSTOMER/3/camp3.json --dry
  1. 移除--dry开关,并确保配置文件中的dry值为false
  2. 发送测试邮件
  3. 发送到真实列表

故障排除

SMTP认证问题

如今,许多基于云的邮件供应商默认阻止SMTP认证(例如Office365、GSuite)。这当然会导致错误。为解决此问题,以下是一些帮助你在不同供应商上启用SMTP认证的步骤。

启用SMTP Auth Office 365

要全局启用SMTP Auth,请使用PowerShell。

  • 支持Linux/Nix的SSL(以sudo运行pwsh)
root@kitploit:~
$ sudo pwsh
  • 安装PSWSMan
root@kitploit:~
Install-Module -Name PSWSMan -Scope AllUsers
Install-WSMan
  • 安装ExchangeOnline模块
root@kitploit:~
Install-Module -Name ExchangeOnlineManagement
  • 加载ExchangeOnline模块
root@kitploit:~
Import-Module ExchangeOnlineManagement
  • 使用主管理员用户连接到Office365 Exchange,系统会提示输入凭据。
root@kitploit:~
Connect-ExchangeOnline -InlineCredential

上述命令会提示你输入Office365管理员凭据

root@kitploit:~
  PowerShell credential request
  Enter your credentials.
  User: [email protected]
  Password for user [email protected]: **********
  • 或者使用此命令打开网页浏览器输入凭据(适用于双因素认证)。
root@kitploit:~
Connect-ExchangeOnline -UserPrincipalName [email protected] 
  • 全局启用SMTP AUTH
root@kitploit:~
Set-TransportConfig -SmtpClientAuthenticationDisabled $false
  • 为特定邮箱启用SMTP Auth
root@kitploit:~
Set-CASMailbox -Identity [email protected] -SmtpClientAuthenticationDisabled $false
Get-CASMailbox -Identity [email protected] | Format-List SmtpClientAuthenticationDisabled
  • 确认
root@kitploit:~
Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled

然后按照以下步骤操作:

  1. 从管理面板(https://admin.microsoft.com/)进入Azure门户(https://aad.portal.azure.com/)
  2. 选择所有服务
  3. 选择租户属性
  4. 点击管理安全默认值
  5. 在启用安全默认值下选择否
  • 资源
    • 启用或禁用SMTP AUTH | Microsoft Docs
    • Azure Active Directory安全默认值 | Microsoft Docs
    • Exchange online plan 1 504 5.7.4 无法识别的认证类型 - Microsoft Q&A
    • 如何设置多功能设备或应用程序使用Microsoft 365或Office 365发送邮件 | Microsoft Docs

Google GSuite

  • 资源
    • 从打印机、扫描仪或应用程序发送邮件 - Google Workspace管理员帮助

贡献

  • 修复错误
  • 改进代码
  • 报告问题
  • 请求功能
  • 传播脚本
  • 点击星标 :)
下载工具