如今,威胁情报或有关信息安全威胁的信息的主动收集,是识别IS事件的必不可少的工具。 TI的典型来源包括带有恶意指示器的免费订阅,描述漏洞的硬件和软件制造商公告,带有威胁详细描述的安全研究人员的报告以及TI供应商的商业订阅。 而且,使用上述资源获得的信息常常没有足够的完整性和相关性。 本文将讨论在信息安全中使用OSINT(开源情报)和进攻方法(即,不是防御者而是攻击者的特征的方法),它们可以有助于提高TI的效率和质量。
免责声明
本文仅供参考。 作者不承担与本文所述某些行为的执行相关的第三方网络和/或服务的可能损害和/或中断的责任。 作者还鼓励读者遵守法律。
不是,而是在一起
我想立即保留一点,这不是拒绝或替换从传统的付费和免费来源获得的威胁情报信息,而是补充和充实它。
因此,使用其他TI方法可以提高其效率,并有助于解决许多问题。 例如,随着下一个IoT流行病影响某些易受攻击的固件版本,我要多久才能获得具有潜在易受攻击设备的IP地址的摘要,以便快速检测其在外围的活动? 或者,如果监视系统规则是由一年或更早之前被标记为恶意的指示器(IP地址或域名)触发的,则如何理解该指示器是否仍然是恶意的,前提是您对指示器进行了一些其他验证: “暂时”通常是不可能的。
也就是说,根据David Bianco
[0]的“痛苦金字塔”(IP地址,域名,网络工件),添加和充实对于中年指标特别有用(但是,在某些情况下,有可能获得新的长期指标(在金字塔上方))分析师。

互联网扫描
网络扫描是获取威胁情报有用的方法之一。
扫描时通常收集什么通常,在进行扫描时,最有趣的结果是通过收集所谓的“横幅”获得的-扫描系统应用软件对扫描仪请求的响应。 “横幅”包含大量数据,这些数据在“另一侧”标识了应用软件及其各种参数,并且这种验证很快完成。
解决扩展威胁情报范围的任务时,扫描将针对整个Internet。 扫描公共地址空间(〜37亿个IPv4地址,不包括保留地址)时,可以提取以下有用的信息:
- 哪些节点容易受到漏洞的攻击,这些漏洞已被广泛用作实际恶意活动的一部分,并且鉴于此事实,它们是恶意暴露的潜在来源。
- 哪些节点是僵尸网络[1]的控制服务器,可以通过受保护范围内的受感染节点来标识对其的访问。
- 哪些节点属于分布式匿名网络的非公共部分,这些节点可用于谨慎地在受保护范围之外进行不受控制的出口。
- 有关监视系统运行中“点亮”的节点的更多详细信息。
工具选择
在信息网络的发展历年中,已经创建了大量用于网络扫描的工具。 在当前软件中,可以区分以下扫描仪:
简要考虑这些工具在丰富Internet空间中丰富TI的主要优缺点。
地图
也许是20年前创建的最著名的网络扫描仪。 由于可以使用自定义脚本(通过Nmap脚本引擎),因此这是一个非常灵活的工具,不仅限于收集应用的“横幅”。 目前,已经编写了大量的NSE脚本,其中许多是免费的。 由于Nmap监视每个连接,换句话说,它具有同步特性,因此由于扫描仪的速度较慢,因此不宜将其用于大型网络(例如Internet)。 同时,由于NSE的强大功能,建议在由更快的工具获得的小地址样本中使用此工具。
关于Nmap Speed尽管最初的生产率很低,但是自从此扫描仪发布以来,其开发人员已添加了许多功能来提高扫描速度。 其中包括并行操作模式和每秒数据包速率的任务。 但是,即使设置扭曲,Nmap在速度上仍落后于异步竞争对手。 以在具有1个Xeon Gold 6140 CPU和千兆位通道的虚拟机上的443 / tcp端口上扫描/ 15个子网为例,我们得到:
- 使用参数
-T5 -n -Pn -p 443 --open --min-rate 1000000 --randomize-hosts --defeat-rst-ratelimit –oG nmap.txt
Nmap的71.08秒-T5 -n -Pn -p 443 --open --min-rate 1000000 --randomize-hosts --defeat-rst-ratelimit –oG nmap.txt
- 使用参数
-p 443 –o zmap.txt
9.15秒
Zmap
相当知名的异步网络扫描仪,虽然不是同类产品中的第一个,它于2013年问世。 根据在第22届USENIX安全模拟研讨会上发布的开发者报告
[5] ,该工具能够在不到45分钟(通过一个端口)中扫描具有千兆位Internet连接的普通计算机上运行的整个公共地址范围。 Zmap的优点包括:
- 高速; 使用PF_RING框架和10吉比特的连接,公共IPv4地址空间的理论扫描时间为5分钟(一个端口)。
- 支持随机扫描网络地址。
- 对TCP SYN扫描,ICMP,DNS查询,UPnP,BACNET [6]和UDP探测的模块支持。
- 通用GNU / Linux发行版的存储库中(此外,还支持Mac OS和BSD)。
- 除了Zmap之外,还开发了许多相关的实用程序项目,这些项目扩展了扫描仪的功能。
如果我们谈论Zmap的缺点,这里我们可以注意到目前仅在一个端口上扫描地址的能力。
在与Zmap相关的项目中,针对有趣的任务扩展了其功能,可以区分以下内容:
- ZGrab是一种应用程序协议扫描程序,支持TTP,HTTPS,SSH,Telnet,FTP,SMTP,POP3,IMAP,Modbus,BACNET,Siemens S7和Tridium Fox协议(具有高级功能的横幅抓取器)。
- ZDNS是用于快速DNS查询的实用程序。
- ZTag是用于标记ZGrab提供的扫描结果的实用程序。
- ZBrowse是基于Chrome的无头分发实用程序,用于跟踪网站内容的更改。
关于ZGrab功能应用协议ZGrab的高级扫描程序,已经发布了2.0版(与1.X版没有完全功能上的同等性,但是将在不久的将来实现,之后可以谈论用新版本完全替换旧版本),这使您可以灵活地过滤结果扫描归功于对结构化输出格式(JSON)的支持。 例如,要仅从HTTPS证书中收集专有名称颁发者和主题,一个简单的命令就足够了:
zmap --target-port=443 --output-fields=saddr | ./zgrab2 tls -o - | jq '.ip + "|" + .data.tls.result.handshake_log.server_certificates.certificate.parsed.issuer_dn + "|" + .data.tls.result.handshake_log.server_certificates.certificate.parsed.subject_dn' > zmap-dn-443.txt
马斯坎
与Zmap在同一年创建的异步扫描程序在命令语法上与Nmap类似。
创建者(罗伯特·大卫·格雷厄姆(Robert David Graham))宣称其生产力比当时存在的所有异步扫描仪(包括Zmap)要高,这一切都是通过使用自定义TCP / IP堆栈实现的。
扫描仪优势:
- 高速,理论性能高达每秒1000万个数据包,这使您可以在10 GB的连接上在几分钟内(在一个端口上)扫描所有IPv4公共空间(与使用PF_RING框架的Zmap相同)。
- 支持TCP,SCTP和UDP协议(通过从Nmap发送UDP负载)。
- 支持随机扫描网络地址。
- 支持在扫描时同时选择IP范围和端口范围。
- 支持用于输出扫描结果的各种格式(XML,grepable,JSON,二进制,列表)。
同时,扫描仪有几个缺点:
- 结合使用自定义TCP / IP堆栈,建议对专用IP运行扫描,以避免与OS堆栈冲突。
- 与ZGrab相比,横幅抓取器的可能性相当有限。
扫描仪比较表
下表摘要提供了这些扫描仪功能的比较。
表行中的值“ ++”-实现得很好
“ +”-已实施
“±”-有限制地实施
“-”-未实现

选择目标和扫描方法
选择要使用的工具后,需要确定扫描的对象和目的,即了解扫描的内容和原因。 通常,如果第一个没有问题(这是一个公共的IPv4地址空间,有很多例外),那么第二个则完全取决于所需的最终结果。 例如:
- 为了识别受特定漏洞影响的节点,首先使用快速工具(Zmap,Masscan)遍历扫描范围以识别具有易受攻击的服务的开放端口的节点是合理的; 在确定了地址列表之后,值得将Nmap与相应的NSE脚本一起使用(如果存在的话),或者根据安全研究人员出版物中有关漏洞的可用信息来创建自定义脚本。 有时,一个简单的grep就足以收集所收集的应用程序标语,因为许多服务都会在其中显示有关其版本的信息。
- 为了识别隐藏基础结构的节点(匿名网络和C2节点(即僵尸网络的控制服务器)),有必要编译自定义的有效负载/探测。
- 为了解决识别受感染节点,匿名网络基础结构的某些部分等问题,在TLS握手过程中,证书的收集和解析可能会带来很多麻烦。
基础设施选择
现代快速扫描程序可以在普通处理器的相当有限的资源上显示出令人印象深刻的结果,但这并不意味着网络基础架构上的负载将微不足道。 由于扫描期间生成的流量的特定性,因此获得了足够高的每秒数据包速率。 根据经验,普通处理器的一个核心(在近年来的生产型CPU上,在虚拟环境中,在任何操作系统下,无需对TCP / IP堆栈进行任何调整)每条通道每秒可生成100-150万个数据包的流,速率约为50 Mb / s。 ,这对软件路由器来说是沉重的负担。 硬件网络设备也可能会遇到无法达到ASIC性能极限的问题。 同时,以100-150 Kpps(每秒千个数据包)的扫描速度,绕过公共IPv4范围可能会花费10多个小时,即 相当长的时间。 为了真正快速地进行扫描,您应该使用由扫描节点组成的分布式网络,该网络将扫描池分成几部分。 随机扫描顺序也是必需的,以便在“最后一英里”使用Internet通道和提供商的设备批量加载不重要。
困难和“微妙”的时刻

在实践中,进行大规模网络扫描时,可能会遇到许多技术和组织法律上的困难。
性能和可用性问题
如前所述,大规模网络扫描会创建具有高PPS值的流量流,从而在本地基础结构和扫描节点所连接的提供商网络上造成很大的负载。 在进行任何扫描以进行研究之前,必须与本地管理员和提供者的代表协调所有操作。 另一方面,在Internet托管服务上租用虚拟服务器时,在末端扫描节点上可能会出现性能问题。
并非所有的VPS都同样有用。在从非主流托管商租用的VPS上,可能会遇到这样一种情况:在生产型VM(几个vCPU和几GB内存)上,Zmap和Masscan数据包速率不会超过几十Kpps。 大多数情况下,过时的硬件与虚拟环境软件的非最佳组合的组合起着负面作用。 根据作者的经验,一种或另一种方式只能从公司-市场领导者那里获得或多或少的实质性性能保证。
同样,在识别易受攻击的节点时,值得考虑的是,某些NSE检查可能导致扫描节点上的服务被拒绝。 这种情况的发展不仅不道德,而且绝对不在法律领域之内,并以对刑事责任最大的形式引起后果。
我们在寻找什么以及如何寻找?
为了找到东西,您需要知道如何寻找东西。 威胁在不断发展,不断需要进行新的分析研究来识别威胁。 有时,研究文档中发布的分析方法已过时,促使他们进行自己的研究。
一个著名的例子例如,我们可以研究Zmap作者在2013年的研究
[5],该研究致力于TOR网络节点的识别。 在文档发布时,通过分析证书链并识别自签名证书中的特殊生成的主题名称,发现在tcp / 443端口上工作的约6.7万个TOR节点和在tcp / 9001上工作的约2.9万个节点。 目前,通过这种方法检测到的TOR节点列表要小得多(使用了更多种类的端口,使用了obfs传输,发生了向Let's Encrypt证书的迁移),这迫使使用其他分析方法来解决类似的问题。
滥用投诉
扫描Internet时,几乎有100%的风险会收到滥用投诉。 特别烦人的是,自动生成了几十个SYN数据包。 而且,如果定期重复扫描,手动创建的投诉也可能会流传。
谁最常抱怨滥用的主要来源(大部分是自动滥用)是* .edu域中的教育机构。 根据经验,您应该特别避免扫描来自印第安纳大学(美国)拥有的ASN的地址。 同样在Zmap
[5]和Masscan
[7]的演讲中
,人们可以找到一些有趣的例子,这些例子对网络扫描的响应不足。
不要掉以轻心,因为:
- 对于投诉,托管人通常会阻止与租用虚拟机之间的流量,甚至中止其运行。
- ISP可以禁用上行链路,以消除阻塞自治系统的风险。
减少投诉的最佳做法是:
- 了解您的Internet /托管服务提供商的服务条款。
- 在扫描源地址上创建一个信息页面,说明扫描的目的; 在DNS TXT记录中进行适当的说明。
- 收到滥用投诉时澄清扫描内容。
- 维护排除列表,以排除在首次请求时适用的子网,并在信息页面上提供排除过程的澄清。
- 扫描不再是完成任务所需要的,而且不再进行。
- 按源,目标地址以及可能的时间分配扫描流量。
网络扫描外包
进行独立的质量扫描需要一种平衡的方法(上面已描述了风险),但是您必须意识到,如果所用扫描结果的分析处理不够深入,则最终结果可能不令人满意。 至少在技术上,您可以使用现有的商业工具来简化任务,例如:
更多服务除了提到的服务外,还有相当多的项目与全球网络扫描相关联。 例如:
- Punk.sh(以前为PunkSPIDER网络搜索引擎)
- Sonar项目(数据集,包含Rapid7的网络扫描结果)
- Thingful(另一个物联网搜索引擎)
Shodan

第一个也是最著名的互联网上已发布服务的搜索引擎,最初由IoT搜索引擎创建,并于2009年由John Materley发起
[11] 。 当前,搜索引擎在其内部提供了对信息的多个访问级别。 如果不注册,则可能性非常基本,在注册和购买会员资格时,可以使用以下功能:
- 按基本过滤器搜索。
- 发布有关节点的详细信息(“原始数据”)。
- 一个“基本” API,能够与诸如Maltego,Metasploit,Nmap等通用实用程序集成。
- 导出搜索结果的功能(收费,“信用”-服务的内部货币)。
- 能够根据请求扫描各个地址和范围(收费,“贷方”)。
提到的功能对于基本的OSINT
[12]已经足够了,但是,搜索引擎通过Enterprise订阅充分展示了其功能,即:
- 按需扫描Internet的整个公共IPv4范围,包括检查指定的端口范围和指定特定于协议的标语收集器。
- 基于运行扫描结果的实时通知。
- 可以上传原始扫描结果以进行进一步分析(无限制,整个数据库可用)。
- 为特定任务(非标准协议等)开发定制收集器的能力。
- 访问历史扫描结果(至2015年10月)。
Shodan项目创建了许多相关项目,例如恶意软件猎人,蜜罐扫描,漏洞利用,丰富了扫描结果。
森思

由Zmap的作者Zakir Durumerik创建并于2015年公开展示的不仅是基于IoT的搜索引擎。 搜索引擎使用Zmap技术和许多相关项目(ZGrab和ZTag)。 与Shodan不同,未经注册,搜索引擎每天最多只能从一个IP请求5个请求。 注册后,使用的可能性得以扩展:出现一个API,增加了请求的搜索结果(最多1000个结果),但是,最完整的访问权限(包括历史数据的下载)仅在企业计划中可用。
与Shodan相比,搜索引擎的优势包括以下功能:
- 基本关税计划的搜索过滤器没有任何限制。
- 高速更新自动扫描的结果(根据作者的说法,每天; Shodan的速度要低得多)。
缺点包括:
- 与Shodan相比,扫描端口更少。
- 无法按需扫描(按IP范围和按端口)。
- 使用“开箱即用”的手段来丰富结果的深度较小(这很明显,因为通过相关项目实施的Shodan工具数量更多)。
如果在Censys支持的端口范围内收集的结果足以实现此目标,则由于更新扫描结果的速度很高,因此缺少按需扫描的功能不应成为严重的障碍。
变焦眼

由中国信息安全公司Knowsec Inc在2013年创建的IoT搜索引擎。 如今,搜索引擎使用自己的开发工具-Xmap(主机扫描仪)和Wmap(网络扫描仪)进行工作。 搜索引擎在相当广泛的端口上收集信息,搜索时可以根据大量标准(端口,服务,OS,应用程序)进行分类,并提供每个主机的详细信息(应用程序标语的内容)。 搜索结果列出了相关SeeBug项目中已标识的应用程序软件的可能漏洞(无需检查适用性)。 对于注册帐户,还可以使用API和网络搜索以及一组完整的过滤器,但显示结果的数量有限。 为了消除限制,建议购买企业计划。 在搜索引擎的优势中,我们可以注意到:
- 大量扫描端口(与Shodan近似)。
- 扩展的网络支持。
- 应用程序和操作系统标识符。
缺点包括:
- 扫描结果的更新间隔较慢。
- 无法按需扫描。
- 扫描结果的丰富仅限于识别服务,应用软件,操作系统和潜在的漏洞。
服务比较表
下表汇总了所考虑服务的功能。
表行中的值“ ++”-实现得很好
“ +”-已实施
“±”-有限制地实施
“-”-未实现

扫描自己
自己的基础架构也可以成为TI的有用资源,因此您可以了解网络上出现了哪些新的主机和服务,它们是否易受攻击甚至恶意? 如果可以使用外部服务来扫描外围(例如,Shodan用户案例正式支持了这种用例),那么外围内部的所有操作都只能独立执行。 在这种情况下,用于网络分析的工具范围非常广泛:它们都是无源分析器,例如Bro
[13] ,Argus
[14] ,Nfdump
[15] ,p0f
[16]和有源扫描器-Nmap,Zmap,Masscan及其商业竞争对手。 IVRE框架
[17]允许您获得自己的类似于Shodan / Censys的工具,可以帮助解释结果。

该框架是由一组信息安全研究人员开发的,作者之一是Scapy实用程序的活跃开发者
[18] Pierre Lalet
[19] 。 该框架的功能包括:
- 使用视觉分析来识别模式和异常异常。
- 先进的搜索引擎,可详细分析扫描结果。
- 通过具有Python支持的API与第三方实用程序集成。
IVRE也非常适合分析Internet的大型扫描。结论
扫描和主动网络智能是信息安全领域中各种研究人员长期以来使用的出色工具。但是,对于“经典”保安人员而言,这种工作方法仍然是新的。OSINT和进攻方法与经典防守手段的结合使用将大大加强保护并确保其主动性。信息安全事件的监视和响应中心的专家Mikhail Larin Jet CSIRT,Jet Infosystems。