虹膜调查

API文档

概述

Iris Investigate API非常适合调查和编排人类规模的用例。

这些调查通常由分析师按需触发,以寻求单个指标的额外背景,从一个或多个域名开始的调查可获得最佳结果。

虹膜调查API的主要特点包括:

  • 每个结果上的数十个域名属性,包括:
    • 领域风险评分来自邻近性和威胁概况算法
    • Whois, IP,主DNS,网站和SSL数据
    • 大多数属性上连接域的计数
  • 统一的API端点域配置文件和枢轴搜索
    • 支持批处理和分页
    • 搜索身份,IP,名称服务器,邮件服务器,SSL证书,和更多
  • 提供交互式虹膜网络应用程序

从虹膜调查API开始

API端点:

https://api.domaintools.com/v1/iris-investigate/

API认证:

虹膜调查API使用与所有DomainTools API相同的身份验证机制,有一个重要的区别:查询限制来自分配给虹膜调查UI的查询,并与查询共享。

这意味着API用户名必须与DomainTools企业帐户连接,该帐户被授权访问虹膜调查。通常,这发生在DomainTools企业支持团队设置帐户期间。请确保使用DomainTools联络点颁发给组织的正确API用户名和API密钥。

在开发和测试期间必须小心,以确保交互式查询不会由于脚本错误而被无意中耗尽。考虑在项目的测试阶段从免费示例查询开始。

免费示例查询:
这些查询可用于测试API,不计入查询限制:

https://api.domaintools.com/v1/iris-investigate/?domain=domaintools.com
https://api.domaintools.com/v1/iris-investigate/?ip=199.30.228.112

域名配置文件与虹膜调查API

Iris Investigate API使用单个参数(除了身份验证令牌之外)支持域配置文件用例。只需在domain参数中传递一个域名,就可以检索该域上Iris中可用的所有信息。

例如:

https://api.domaintools.com/v1/iris-investigate/?domain=domaintools.com

您还可以在单个批处理中传入一个逗号分隔的最多100个域名列表。API将批处理请求视为单个查询,用于计算和速率限制目的,因此任何时候都鼓励进行批处理,只要您需要分析多个域名。

例如:

https://api.domaintools.com/v1/iris-investigate/?domain=domaintools.com,domaintools.net,dailychanges.com

为了获得最好的结果,特别是对于很长的域名列表,可以考虑使用HTTP POST方法而不是GET参数。

虹膜调查API将返回在虹膜数据集中找到的每个域名的记录。如果您批量提交了域名列表,请确保将API响应中返回的域名列表与您自己的列表进行比较,以便您可以检测到您请求的域名在Iris数据集中没有找到。使用Iris记录中的“domain”属性进行匹配。

引导枢轴与虹膜调查API

交互式虹膜调查产品中最强大的功能之一是引导枢轴,它可以帮助用户快速识别一个域名的哪些属性与相对较少的其他域名相连。计数越小,域名之间的相关性就越大。

Iris Investigate API为域响应中的几乎每个属性、每个域记录交付这些计数,甚至在处理一批域名时也是如此。

这些计数作为属性的属性包含在API响应中,与属性值相邻,以便更容易在集成中利用它们。这也解释了为什么字段的值比您预期的要深一级。例如:

ip:[{地址:{值:"199.30.228.112",计数:3},asn:[{值:17318,计数:101}],country_code:{值:"us",计数:239988363},isp:{值:"Domaintools LLC",计数:108}}]

在这里,我们将IP地址“199.30.228.112”,ASN“17318”和ISP“Domaintools LLC”作为潜在的轴心点,或者至少作为有意义的分析来帮助分析域名。例如,指向它们的其他域很少的IP地址通常表示由同一实体控制的专用主机。

在虹膜调查UI中,我们使用默认阈值500个连接来决定哪些属性吸引用户的注意。考虑从类似的阈值开始集成,但是为用户提供选择不同阈值的选项来匹配他们的用例。

注意,空数据元素的计数为0。

使用虹膜调查API搜索和枢轴

Iris调查API也可以用于搜索模式。您可以向API提供一个或多个搜索字段,而不是域名,例如IP地址、SSL散列、电子邮件等,Iris将返回具有与这些参数匹配的记录的任何域名。这允许在一个API端点的一个或多个字段上进行“反向”搜索。

例如:

https://api.domaintools.com/v1/iris-investigate/?ip=199.30.228.112

跨多个参数的查询被解释为逻辑与查询,这意味着多个参数将把搜索范围缩小到更小的结果集。虹膜调查API目前不支持逻辑或查询;相反,为每个参数提交单独的查询,并在自己的代码中组合结果集。

结果集中返回的域记录与从一个或多个域名查询返回的记录相同,这提供了一个丰富的结果集,可以显示给最终用户,并且非常适合进一步的旋转。例如,考虑使用引导的枢轴计数来显示扩展结果集的新方法。或者,您可以根据风险评分(从高到低)排序,将风险最高的域名列在前面,向最终用户显示结果。

支持参数

参数 功能 比较
知识产权 在活动DNS检查期间,注册域最后指向的IPv4地址 反知识产权
电子邮件 来自最近可用的Whois记录,DNS SOA记录或SSL证书的电子邮件地址 反向域名查询服务
email_domain 仅Whois或DNS SOA电子邮件地址的域部分 反向域名查询服务
nameserver_host 名称服务器的完全限定主机名(ns1.domaintools.net) -
nameserver_domain 名称服务器的注册域部分(domaintools.net) 反向命名服务器
nameserver_ip 名称服务器IP地址 -
注册商 与Whois注册商字段完全匹配 反向域名查询服务
注册人 在Whois注册人字段上搜索子字符串 反向域名查询服务
registrant_org 在Whois注册人组织字段上进行子字符串搜索 反向域名查询服务
mailserver_host 邮件服务器的完全限定主机名(mx.domaintools.net) 反向MX
tagged_with_any 在虹膜调查平台中被标记为“特定”域名标签/“其中之一”标签的域名 -
tagged_with_all tagged_with_all -
mailserver_domain 只有邮件服务器的注册域部分(domaintools.net) -
mailserver_ip 邮件服务器的IP地址 -
redirect_domain 找到观察到的域名,以重定向到另一个域名 -
ssl_hash SSL证书SHA-1哈希 -
ssl_org 与SSL证书上的组织名称完全匹配 -
ssl_subject SSL证书的主题字段 -
ssl_email SSL证书中的电子邮件地址 -
google_analytics 具有谷歌分析跟踪代码的域 -
广告联盟 具有谷歌AdSense跟踪代码的域 -
search_hash 虹膜用户界面的编码搜索 -

域标记作为搜索参数

虹膜调查API支持检索已经在虹膜调查UI中标记的域的能力。目前,在虹膜调查UI实例中创建的所有标签都可以通过API访问。

下表总结了使用search参数时的功能:

场景 样本参数 预期的结果
检索与指定标记之一匹配的域
? tagged_with_any =看监视器
所有被标记为“监视”或“监视”的域名
检索匹配标签列表的域
? tagged_with_all =块,危险、邪恶
所有的域名都被贴上了3个标签——“屏蔽”、“危险”和“邪恶”

查询限制和分页

虹膜调查API中的某些查询有可能匹配一个非常大的域集。理想情况下,实现将利用Iris中返回的域名查询计数,以编程方式选择合理的枢轴,但这仅适用于从域名开始调查的情况。对于搜索以上面列出的参数之一开始的情况,必须检查Iris结果,以查看搜索是否超出限制或已进行分页。

例如,考虑以下查询:

https://api.domaintools.com/v1/iris-investigate/?nameserver_domain=markmonitor.zone

虹膜调查API返回以下响应片段:

response: {limit_exceeded: false, has_more_results: true, message: "There is more data for you to enjoy.", results_count: 500, total_count: 3735, position: "2c056abadfb64b67ba18896af2c5b900", results: [{domain: "1000miglia. "看”,…

“limit_exceeded”值为“false”告诉我们,我们的搜索是在Iris和我们约定的服务水平的能力范围内的,因此我们可以从Iris检索完整的结果集。

“has_more_results”值为“true”表示我们的响应不包括与我们的搜索匹配的所有域名。我们可以精确地看到在“results_count”字段中包含了多少,在“total_count”字段中有多少是可用的。

要检索完整的结果集,请使用相同的查询参数再次提交查询,但在响应中的位置值中添加“position”参数集。

例如:

https://api.domaintools.com/v1/iris-investigate/?nameserver_domain=markmonitor.zone&position=2c056abadfb64b67ba18896af2c5b900

对每个结果集中的新位置值重复此模式,直到响应中的has_more_results值设置为“false”。

虹膜搜索过滤器

在某些情况下,通过附加过滤器限制Iris结果集是有用的,甚至是必要的。这些参数可以添加到虹膜调查API中的任何搜索中,尽管它们不能单独使用。

活跃的 设置为“true”仅返回在全局DNS系统中有条目或被注册中心列出为已注册的域。设置为“false”仅返回在全局DNS系统中没有条目且未被注册中心列为已注册的域。完全排除筛选器以找到处于这些状态中的任何一个域。
data_updated_after 以YYYY-MM-DD格式在该日期午夜或午夜之后更新的虹膜记录。必须与另一个参数配对。对于监视用例非常有用(参见下面)。
tld 将结果限制为只包含特定顶级域中的域(即“tld=com”或“tld=ru”)
create_date 只包含在特定日期创建的域,以YYYY-MM-DD格式
expiration_date 只包含在特定日期到期的域,以YYYY-MM-DD格式
tagged_with_any 只包括在虹膜调查平台中标记有“特定”标签/“其中之一”标签的域名
tagged_with_all 只包含带有筛选条件中指定的所有标记的域
not_tagged_with_any 排除在虹膜调查平台中标记有“特定”标签/“其中之一”标签的所有域名
not_tagged_with_all 排除在虹膜调查平台中标记有“标签列表”的所有域名

域“标签”作为过滤器参数

虹膜调查API支持通过过滤域进一步限制结果集的能力,这些域已经被标记为虹膜调查UI中的调查的一部分。目前,在虹膜调查UI实例中创建的所有标记都可以通过API访问。

下表总结了使用search参数时的功能:

场景 样本参数 预期的结果
过滤结果集,只显示匹配指定“标签”之一的域名
? nameserver_domain = markmonitor.zone&tagged_with_any =观察、监控
只列出标记为“观察”或“监控”的域名
通过只显示匹配“标签”列表的域来过滤结果集
? nameserver_domain = markmonitor.zone&tagged_with_all =块,危险、邪恶
只列出所有3个标签标记的域名-“观察”和“危险”和“邪恶”
通过排除匹配指定“标签”之一的域来筛选结果集
? nameserver_domain = markmonitor.zone¬_tagged_with_any =看监视器
只列出没有标记为“观察”或“监控”的域名
通过排除域过滤结果集
? nameserver_domain = markmonitor.zone¬_tagged_with_all = zerolisted,安全、可信的
只列出没有被标记为“零列表”和“安全”和“可信”的域名
匹配“标签”列表 - -

使用虹膜调查API进行监控

Iris Investigate API可以用作强大的监控工具,用于检测指向特定ip的新域,托管在目标名称服务器上,重定向到特定站点,以及可以在Iris API查询中框架的任何其他条件。甚至可以监视域名的虹膜记录中可用属性的变化。

只需将data_updated_after参数添加到任何虹膜搜索中,将值设置为当前日期,并每天重复该查询一次以查找新的更新即可。

一个潜在的实现可能遵循类似于下面的模式:

  1. 在Iris中创建一个搜索查询,定义要监视的属性。
  2. 将查询提交给Iris以获得基线。将数据存储在您自己的系统中。
  3. 每天,重新提交相同的查询,但是添加data_updated_after参数,设置为当天的日期。然后:
    • 与存储的基线进行比较,以查找添加或删除的域
    • 遍历基线快照中已经存在但已以某种方式更新的域。与他们的基本记录进行比较,并注意差异。
    • 将添加、删除或更新作为新的基线存储,可能会保留以前的值以进行历史跟踪

这种功能使虹膜调查API成为DomainTools企业API监视器的一个令人信服的替代品,目前在其结果中只返回一个域,包括注册人监视器,名称服务器监视器和IP监视器。它还将监控扩展到超出这些端点的范围,包括对SSL属性、跟踪代码、注册器等的监控,并使用tld=过滤器将额外的选项缩小到特定的tld。

集成虹膜调查UI和虹膜调查API

虹膜调查平台提供了一个丰富的用户界面搜索和枢轴通过域名数据。虹膜调查“Pivot Engine”窗格中的几乎所有数据都可以在虹膜调查API中访问,最常见的研究模式可以通过该API轻松完成。

然而,即使在API中有这些功能,仍然有一些场景,用户只能通过虹膜调查UI中提供的完整的工具和资源来实现他们的目标。这些场景包括:

  • “或”搜索,或跨多个字段和值的嵌套“与”和“或”搜索。
  • 对单个域的托管、whois或截图历史进行特别调查
  • 图可视化和图启动的旋转
  • 被动DNS查询ip和主机名

这意味着用户可能会在虹膜调查UI中开始调查,但随后会将调查结果带到第三方产品中。API中的search_hash参数使这成为可能。下面是它的工作原理。

首先,用户在虹膜调查UI中进行调查,可能会构建复杂的查询,以查找给定域名或威胁参与者的所有连接基础设施。他们访问虹膜调查中的高级搜索,并导出他们搜索的编码表示。

接下来,用户将这个编码的字符串提供给您的解决方案,然后在search_hash参数中使用该字符串创建Iris Investigate API搜索。不需要或不支持其他搜索参数(除了应该始终存在的基本授权参数)。Iris API“解包”编码的搜索,再次运行相同的查询,并返回最新的完整结果集。

Iris Investigate API除了search_hash参数外还支持data_updated_after过滤器(请参阅上面的监视用例)。这使得以编程方式监视用户虹膜查询的结果成为可能。