关于CertWatcher
CertWatcher是一款功能强大的证书监控和恶意活动检测工具,旨在实时分析SSL/TLS证书,并检测web服务器上的恶意活动、漏洞和错误配置。它通过捕获和跟踪证书透明度日志,并使用YAML模板检测和分析钓鱼网站以及其他类型的恶意活动来实现其功能。
Certwatcher持续监控证书数据流,并检查模式或恶意活动。Certwatcher还可以使用YAML模板定义的正则表达式进行自定义设置,以检测特定的网络钓鱼活动、暴露的令牌、敏感API密钥模式等。
Certwatcher等检测引擎基于自定义的YAML模板,允许用户定义检测模式的规则。这种灵活性使该工具能够进行定制,以满足组织或安全团队的特定需求。
除此之外,Certwatcher还可以与Nuclei等其他安全工具集成,以对Web系统进行更深入的漏洞分析。
总的来说,CertWatcher是一种通用的安全工具,可以通过实时检测恶意活动、漏洞和错误配置来改善网络系统的安全状况。
工具要求
最新版本Go环境
最新版本Git工具
工具安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地,然后切换到项目目录中并运行安装命令:
git clone https://github.com/drfabiocastro/certwatcher cd certwatcher make sudo make install
工具使用
./certwatcher --help
自定义模版使用
Certwatcher是基于YAML模板设计的,这些模板定义了如何处理获得的证书,这也使得Certwatcher具备了可扩展性和灵活性。
Certwatcher的自定义模版使用YAML编写,用于指定一种简单的可读格式来快速定义执行过程。
模版ID
Certwatcher中的每一个模版都有一个唯一ID,该ID在输出写入过程中用于指定输出行的模板名称:
id: fas-keywords-malware
ID不能包含空格,这样做是为了更容易进行输出解析。
模版信息
接下来就是模版的相关信息了,其中包含下列内容:
info: id: fas-keywords-malware name: Ads Malware Delivery author: Fábio Castro description: List of Ads Malware Delivery for keyword matching. classification: tags: - ads - windows reference: - https://github.com/certwatcher/certwatcher-templates
关键词
在Certwatcher的关键词部分,它主要使用关键词来筛选与YAML文件中证书日志返回的域相对应的信息,还可以用于限制需要分析的日志数量:
# Keywords for domain matching. keywords: - acrobat - adwcleaner - airtable - airvpn - androidstudio - anydesk
匹配器
Certwatcher的每一个匹配器都是一个字典,包含三个字段:模式、类型和描述。模式字段包含一个正则表达式,用于获取HTTP请求Body中的模式。字段类型指定在哪里查找模式,例如请求的Body或请求的Header。描述字段提供了它所对应的模式的描述:
matchers: # Using regular expressions to search in the page body. - pattern: "\\b(UA-167472923|UA-145098812)\\b" type: body description: "Matches UA tracking codes in the body of the request." - pattern: "\\bGTM-[A-Z0-9]+\\b" type: body description: "Matches Google Tag Manager container IDs" - pattern: "\\b(RC-|YCL)[0-9]+\\b" type: body description: "Matches Yahoo Search Ads conversion tracking IDs"
顶级域名TLD
顶级域名(TLD)是互联网分级域名系统中的最高级别。这些模式是识别和匹配包含常用于网络钓鱼的顶级域(TLD)的URL,即欺骗用户提供密码、银行或信用卡信息等个人信息:
tlds: - pattern: "\\b\\w+\\.net|org|io|info|xyz|top|club|pw|tk|ga|ml|cf|gq|online|tech\\b" type: url description: "Matches common TLDs used for phishing" - pattern: "\\b\\w+\\.link|bid|download|loan\\b" type: url description: "Matches common TLDs used for phishing"
证书模版
Certwatcher允许我们使用自定义模板来显示证书信息,代码库中提供了一些来自社区的公共自定义模板,可以在这个【代码库】中找到它们。
工具运行截图
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
CertWatcher:【GitHub传送门】