Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
Crawlector — Crawlector 是一个威胁狩猎框架,旨在扫描网站中的恶意对象。 | Kitploit
工具/GitHubGitHub/mfmokbel/crawlector
OSINT (开源情报)漏洞扫描器威胁源与聚合器信息收集Web安全恶意软件分析威胁情报网络爬虫
GitHubmfmokbel/crawlector

Crawlector

Crawlector 是一个威胁狩猎框架,旨在扫描网站中的恶意对象。

查看仓库
12310359个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Crawlector

Crawlector(名称 Crawlector 是 Crawler(爬虫)与 Detector(检测器)的组合)是一个威胁狩猎框架,专门用于扫描网站中的恶意对象。

注意-1:该框架于 2022 年 10 月 22 日在意大利贝加莫的 No Hat 会议上首次展示(幻灯片,YouTube 录像)。此外,它于 2022 年 12 月 2 日在新加坡的 AVAR 会议上第二次展示。

注意-2:演讲中提到的配套工具 EKFiddle2Yara(该工具可将 EKFiddle 规则转换为 Yara 规则)也同时在这两次会议上发布。

注意-3:2.0 版本(Photoid Build:180923)是一个里程碑版本,于 2023 年 9 月 18 日发布。

注意-4:2.1 版本(Universe-647 Build:031023)于 2023 年 10 月 3 日发布。主要新增功能是 Slack 警报通知功能。

注意-5:2.2 版本(Hallstatt Build:051123)于 2023 年 11 月 5 日发布。主要新增功能是 Slack 远程控制功能。

注意-6:2.3 版本(Munich Build:241123)于 2023 年 11 月 24 日发布。主要新增功能是 DNS 名称服务器功能。

注意-6:2.3.1 版本(Nero Build:131225)于 2025 年 12 月 13 日发布。这是一个维护版本。

功能

  • 支持爬取网站以寻找更多用于扫描的链接(仅限 2 层深度)
  • 集成 Yara 作为后台规则扫描引擎
  • 支持在线和离线扫描
  • 支持爬取域名/站点的数字证书
  • 支持查询 URLhaus 以查找页面上的恶意 URL
  • 深度对象提取(DOE)
  • Slack 警报通知
  • 参数化支持 HTTP 重定向
  • 获取 Whois 信息
  • 支持使用 TLSH(Trend Micro 局部敏感哈希)以及其他标准加密哈希函数(如 md5、sha1、sha256 和 ripemd128 等)对页面内容进行哈希
    • 如果页面大小小于 50 字节或数据中缺乏足够的随机性,TLSH 将不返回值
  • 支持查询每个 URL 的评级和类别
  • 支持通过尝试查找同一域名的所有可用 TLD 和/或子域名来扩展给定站点
    • 此功能使用 Omnisint Labs API(截至 2023 年 3 月 10 日该站点已关闭)和 RapidAPI API
    • TLD 扩展实现为原生
    • 此功能与评级和分类相结合,能够找到针对原始域名的欺诈/钓鱼/恶意域名
  • 支持域名解析(IPv4 和 IPv6)
  • 保存扫描过的网站页面以供后续扫描(可保存为 zip 压缩文件)
  • 整个框架的所有设置均通过一个可自定义的配置文件控制
  • 所有扫描会话都保存到结构良好的 CSV 文件中,包含大量关于被扫描网站的信息,以及触发的 Yara 规则信息
  • 还有许多其他功能……
  • 所有 HTTP(S) 通信均支持代理
  • 单一可执行文件
  • 使用 C++ 编写

URLHaus 扫描与 API 集成

此功能用于针对每个被扫描页面检查恶意 URL。框架可以从 URLHaus 服务器查询恶意 URL 列表(配置项:url_list_web),或者从磁盘上的文件查询(配置项:url_list_file);如果指定了后者,则后者优先。

其工作原理是将每个页面的内容与 url_list_web 或 url_list_file 中的所有 URL 条目进行匹配,检查所有出现的位置。此外,如果匹配成功,且配置选项 check_url_api 设置为 true,Crawlector 将向 url_api 配置选项中设置的 API URL 发送 POST 请求,该请求返回一个包含匹配 URL 额外信息的 JSON 对象。此类信息包括 urlh_status(例如 online、offline、unknown)、urlh_threat(例如 malware_download)、urlh_tags(例如 elf、Mozi)和 urlh_reference(例如 https://urlhaus.abuse.ch/url/1116455/)。仅当 check_url_api 设置为 true 时,这些信息才会包含在日志文件 cl_mlog_<当前日期><当前时间><(上午|下午)>.csv(见下文)中。否则,日志文件将包含列 urlh_url(匹配的恶意 URL 列表)和 urlh_hit(每个匹配恶意 URL 的出现次数),前提是 check_url 设置为 true。

通过将配置选项 check_url 设置为 false,可以完全禁用 URLHaus 功能。

需要指出的是,考虑到需要检查的恶意 URL数量巨大(在撰写本文时约有 1.3 亿条),以及从 URLHaus 服务器获取额外信息所需的时间(如果选项 check_url_api 设置为 true),此功能可能会拖慢扫描速度。

文件与文件夹结构

  1. \cl_sites
    • 存储要访问或爬取的网站列表。
    • 支持多个文件和目录。
  2. \crawled
    • 所有爬取/爬行得到的 URL 保存到此处的文本文件中。
  3. \certs
    • 所有域名/站点的数字证书存储在此处(.der 格式)。
  4. \results
    • 访问过的网站保存于此。可通过选项 results_dir 配置。
  5. \pg_cache
    • 不属于爬虫功能的站点的程序缓存。可通过选项 cache_dir([default] 部分)配置。
  6. \cl_cache
    • 属于爬虫功能的站点的爬虫缓存。可通过选项 cache_dir([spider] 部分)配置。
  7. \yara_rules
    • 所有 Yara 规则存储于此。引擎将加载、解析、验证并评估该目录中的所有规则,然后才执行。
  8. cl_config.ini
    • 此文件包含所有可调整以影响框架行为的配置参数。
  9. cl_mlog_<当前日期><当前时间><(上午|下午)>.csv
    • 日志文件,包含关于访问过的网站的大量信息。
    • 日期、时间、Yara 扫描状态、触发的 Yara 规则列表(含每个匹配的偏移量和长度)、ID、URL、HTTP 状态码、连接状态、HTTP 头部、页面大小、已保存页面在磁盘上的路径,以及与 URLHaus 结果相关的其他列。
    • 文件名每个会话唯一。
  10. cl_offl_mlog_<当前日期><当前时间><(上午|下午)>.csv
    • 日志文件,包含关于离线扫描文件的信息。
    • 触发的 Yara 规则列表(含匹配的偏移量和长度),以及已保存页面在磁盘上的路径。
    • 文件名每个会话唯一。
  11. cl_certs_<当前日期><当前时间><(上午|下午)>.csv
    • 日志文件,包含关于找到的数字证书的大量信息。
  12. \expanded\exp_subdomain_<日期><时间><上午|下午>.txt
    • 包含发现的子域名(属于 [site] 部分)。
  13. \expanded\exp_tld_<日期><时间><上午|下午>.txt
    • 包含发现的域名(属于 [site] 部分)。

配置文件 (cl_config.ini)

在运行任何会话之前,您必须熟悉配置文件 cl_config.ini。所有部分和参数均在配置文件中提供了文档。

Yara 离线扫描功能是一个独立选项,意味着如果启用,Crawlector 将仅执行此功能,而不管其他已启用的功能。同样,爬取域名/站点数字证书的功能也是如此。无论如何,建议您在配置文件中禁用所有未使用的功能。

  • 根据配置设置(log_to_file 或 log_to_cons),如果 Yara 规则仅引用模块的属性(例如 PE、ELF、Hash 等),则 Crawlector 在匹配时将仅显示规则名称,不包含偏移量和长度数据。

注意:对于任何需要路径的选项,请始终提供绝对路径。

站点格式模式

要访问/扫描一个网站,URL 列表必须存储在“cl_sites”目录下的文本文件中。

Crawlector 接受三种类型的 URL:

  1. 类型 1:每行一个 URL
    • Crawlector 将为每个 URL 分配一个唯一名称,该名称派生自 URL 主机名。
  2. 类型 2:每行一个 URL,带有一个唯一名称。 [a-zA-Z0-9_-]{1,128} = <url>
  3. 类型 3:用于爬虫功能,使用独特的格式。每行一个 URL,格式如下:

<id>[depth:<0|1>-><\d+>,total:<\d+>,sleep:<\d+>] = <url>

例如:

mfmokbel[depth:1->3,total:10,sleep:0] = https://www.mfmokbel.com

这等价于: mfmokbel[d:1->3,t:10,s:0] = https://www.mfmokbel.com

其中,<id> := [a-zA-Z0-9_-]{1,128}

depth、total 和 sleep 也可以分别用其缩写形式 d、t 和 s 代替。

  • depth:爬虫支持深入两级以查找更多 URL(此为设计决策)。
  • 值为 0 表示深度为第 1 级,“->”后面的值将被忽略。
  • 第 1 级深度由 total 参数控制。因此,首先爬虫尝试从指定 URL 中找到尽可能多的附加 URL。
  • “->”后面的值表示对于每个找到的 URL(根据 total 参数值)要爬取的最大 URL 数量。
  • 值为 1 表示深度为第 2 级,其中“->”后面的值表示对于根据 total 参数找到的每个 URL 要查找的最大 URL 数量。为清楚起见,如上例所示,首先爬虫将查找 10 个 URL(如 total 参数指定),然后这些找到的 URL 中的每一个都将被爬取最多 3 个 URL;因此,在最佳情况下,我们最终将得到 40 (10 + (10*3)) 个 URL。
  • sleep 参数接受一个整数值,表示每次 HTTP 请求之间的休眠毫秒数。

注意 1:通过将配置文件 [spider] 部分中的配置参数 live_crawler 设置为 false,可以将类型 3 的 URL 转换为类型 1 的 URL。

注意 2:空行以及以“;”、“#”或“//”开头的行将被忽略。

爬虫功能

爬虫功能赋予 Crawlector 在目标页面上查找额外链接的能力。爬虫支持以下功能:

  • 域名必须为 Type 3 才能使爬虫功能生效。
  • 您可以通过 exclude_url 配置选项指定一个通配符模式列表(以竖线分隔),以防止爬取匹配的 URL。例如:*.zip|*.exe|*.rar|*.zip|*.7z|*.pdf|.*bat|*.db。
  • 您可以通过 include_url 配置选项指定一个通配符模式列表(以竖线分隔),以仅爬取匹配该模式的 URL。例如:*/checkout/*|*/products/*。
  • 您可以通过 exclude_https 配置选项排除 HTTPS URL。
  • 您还可以通过 add_ext_links 配置选项将出站/外部链接也纳入考虑(仅限主页面)。该功能遵循 exclude_url 和 include_url 配置选项。
  • 您可以通过 ext_links_only 配置选项仅考虑主页面的出站/外部链接,排除所有其他 URL。该功能遵循 exclude_url 和 include_url 配置选项。

ID 类型

在 2.0 版本中,ID 通过将以下类型之一附加到 ID 本身来显式分配其类型:

id_postfix (类型)描述
_t1_p类型 1,无 ID 的普通 URL
_sd子域名子类型
_tldTLD 子类型
_t2_p类型 2,有 ID 的普通 URL
_t3_s类型 3,爬取到的域名
_t3_sc类型 3,带子节点的爬取到的域名
_t3_ss类型 3,当类型 3(_t3_s)URL 转换为类型 1 URL
_t3_s_e类型 3,爬取到的域名外部链接
_obj_用于深度扫描和对象提取
_t4_ru用于重定向 URL(适用于所有类型)

每个 ID 都携带其类型,使得浏览和过滤结果更加容易。此外,此信息在内部出于各种原因使用。

站点排名功能

  • 此功能用于检查网站的排名。
  • 您提供一个包含网站列表及其排名的文件,格式为 CSV。
  • 提供网站排名列表的服务包括 Alexa top-1m(已于 2022 年 5 月停止服务)、Cisco Umbrella、Majestic、Quantcast、Farsight 和 Tranco 等。
  • CSV 文件格式(仅两列):第一列存放排名,第二列存放域名。
  • 如果单元格包含引用的数据,将自动取消引用。
  • 引用的文本中不允许换行。
  • 读取的单元格将去除前导和尾随空格。
  • 空行和注释行将被跳过。
  • 配置文件的 site_ranking 部分提供了一些选项,用于更改 CSV 文件的读取方式。
  • 此查询的性能取决于 CSV 文件中的记录数量。
  • Crawlector 将 CSV 文件中的每个条目与正在调查的域名进行比较,而不是反过来。
  • 仅比较注册/公共后缀域名。

查找 TLD 和子域名 - [site] 部分

下载工具