推动开源 推动网络安全

Sublert:自动化监控子域名变化的工具

Sublert 简介

证书透明度(CT)是一种新的互联网标准,使TLS/SSL证书颁发过程更加透明和公开。其旨在允许域所有者了解公共证书颁发机构(CA)颁发给域的TLS/SSL证书。

什么是Sublert?

证书透明度(CT)是一种新的互联网标准,可以使TLS / SSL证书颁发过程公开和公开。目的是允许域所有者了解公共证书颁发机构(CA)颁发给域的TLS / SSL证书。

Sublert是一种安全和侦察工具,使用Python编写以利用证书透明度,其唯一目的是监控特定组织部署的新子域并颁发TLS / SSL证书。该工具应该安排在固定的时间,日期或间隔(理想情况下每天)定期运行。新的已识别子域将通过通知推送发送到Slack工作区。此外,该工具执行DNS解析以确定工作子域。

Sublert主要是为了获取广泛范围的黑客赏金猎人,以加强他们的侦察游戏,并通过获得早期访问新的子域来击败竞争对手。但是,Sublert也可以在内部用作AppSec程序的一部分,以监控工程团队部署的各种子域。

Sublert 的优势

已有开源工具,如Cert SpotterFacebook监控工具,但这些工具主要是为组织监控网络钓鱼企图而设置的,每当有证书欺诈或错误地发布到域名时都会收到通知。这意味着,如果您正在监控拥有大量资产的组织,那么您将收到包含网络钓鱼域名和不感兴趣的超出范围资产以及每天数百封电子邮件的无关结果的垃圾邮件。

怎么设置?

要求

  • 在Unix上运行的虚拟专用服务器(VPS)。(我使用digitalOcean)
  • Python 2.x或3.x.
  • 免费Slack工作场所。

首先,您必须将工具从Github克隆到您的Web服务器:

$ git clone https://github.com/yassineaboukir/sublert.git&& cd sublert

现在,我们可以按如下方式安装所需的模块:

对于 Python 2

$ sudo pip install -r requirements.txt

或者,Python 3:

$ sudo pip3 install -r requirements.txt 

下一步是创建一个Slack工作区,以便将新子域发送到该工作区。只需浏览https://slack.com/并创建一个免费帐户即可。

然后,创建两个通道:一个用于子域,另一个用于错误记录,如下所示:

Sublert:自动化监控子域名变化的工具插图

接下来,我们需要为每个通道生成Webhook URL,以便我们可以利用Slack API。

浏览到https://api.slack.com/apps并创建一个新应用程序。

浏览到Incoming Webhooks并创建两个Webhook并将每个Webhook链接到之前形成的两个通道。

Sublert:自动化监控子域名变化的工具插图(1)

并将每个webhook与相应的Slack通道链接。

Sublert:自动化监控子域名变化的工具插图(2)

您将获得以下格式的链接:

https://hooks.slack.com/services/XXXXXXX/BF0XXXXME/XXXXXXXXXXXXX

复制两个webhook链接并编辑config.py

Sublert:自动化监控子域名变化的工具插图(3)

你差不多准备好了!现在有趣的部分是添加域来监控新的子域。目前,最好分别添加每个域。让我们添加PayPal例如:

$ python sublert.py -u paypal.com
Sublert:自动化监控子域名变化的工具插图(4)

您可以使用您想要监控的所有其他域名以相同的方式进行操作。完成目标添加后,下一步是配置Cron,以便在固定时间定期执行Sublert。

让我们制作Sublert.py可执行文件:

$ chmod u+x sublert.py

现在,我们需要添加一个新的Cron作业来安排在给定时间执行Sublert。为此,请输入:

$ Crontab -e

在Cron文件的末尾添加以下行:

0 */12 * * * cd /root/sublert/ && /usr/bin/python sublert.py -r -l >> /root/sublert/sublert.log 2>&1

你需要将/root/sublert/更改为Sublert的所在目录。

如果你使用的是python3,请将/usr/bin/python更改为/usr/bin/python3

0 */12 * * * → 表示每12小时运行一次Sublert。你可以使用https://crontab.guru/,来自定义你所希望的固定执行时间。

-r → 执行DNS解析。这是可选的,但建议使用。

– l →记录错误并将其推送到Slack channel。这是可选的,但建议使用。

/var/log/sublert.log 2>&1 → 将输出保存到/var/log/sublert.log。

您可以通过执行以下命令确保它已正确配置并顺利运行。你应该收到关于Slack的通知推送:

$ python sublert.py -l -r


Sublert将每12小时执行一次,如果有任何机会,您监控的域名列表部署了一个新的子域名,您将收到有关以下内容的Slack通知:

Sublert:自动化监控子域名变化的工具插图(5)

关于Slack的转租通知

如果Sublert被执行但未找到任何内容,您仍应该获得新的通知推送。看到:

Sublert:自动化监控子域名变化的工具插图(6)

Sublert找不到任何新的子域名

建议您在手机上安装Slack的移动版本,并禁用“ 请勿打扰”模式,以便随时随地获得通知。

Sublert:自动化监控子域名变化的工具插图(7)

您可以在任何给定时间使用Sublert添加新域名以监控或删除某些内容。以下是支持的各种参数:

将yahoo.com添加到受监控列表中。

$ python sublert.py -u yahoo.com

从列表中删除yahoo.com,它将不再受到监控。

$ python sublert.py -d yahoo.com

显示当前正在监控的所有域名。

$ python sublert.py -a

指定要使用的并发线程数(默认值:20)。如果需要,您还应该将参数添加到Cron作业中。

$ python sublert.py -t 30

指示Sublert执行DNS解析。

$ python sublert.py -r

启用基于Slack的错误记录。如果需要,您还应该将参数添加到Cron作业中。

$ python sublert.py -l

指示Sublert重置所有内容:将清理受监视的列表并删除所有本地存储的文件。只有在出现问题时才能使用。

$ python sublert.py -m


您必须只监控具有广泛和开放范围的bug赏金程序,以避免未经授权的监控和违反程序的安全策略。

项目地址:https://github.com/yassineaboukir/sublert

赞(58)
未经允许不得转载:Mrk丶Bolg » Sublert:自动化监控子域名变化的工具
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址