随着时代的变迁,人们对于网络的依赖变得日益加重,每时每刻都有成千上万G的流量在运营商的设备之间传输,随之产生的各种元数据对于企业来说就是金矿,分析元数据中可以获取各种有效的情报,这对于企业、国家、政体来说都是极为重要的资源。
随着OSINT变得越来越重要,针对着各类不同的元数据,也产生出了各种搜索引擎,分析师可利用的搜索引擎工具也更加丰富。
网络资产搜索引擎与 Google、百度这种搜索网址的搜索引擎不同。它们搜索的目标是存在于互联网中的资产。主要用于搜索特定的设备,或者搜索特定类型的设备如,服务器、摄像头、工控设备、智能家居等。不仅可以发现这些设备,并且可以识别出其版本,位置,端口,服务等一些信息,并且进行了一些相应分类。
一个系统的受攻击面越多,被入侵的风险也就越大。而他们可以很好的帮你找到其他攻击面。这就是本文所探讨的内容:简略分析各个网络资源搜索引擎的使用和差异。
Shodan是目前最为知名的黑客搜索引擎,它是由计算机程序员约翰·马瑟利(John Matherly)于2009年推出的,他在2003年就提出了搜索与Internet链接的设备的想法。发展至今已经变成搜索资源最全,搜索性能最强,TOP1级别的网络资产搜索引擎。
简述下shodan的工作原理:通过其强大的爬虫能力每隔一定时间扫描全互联网设备并抓取相应的banner信息建立索引,通过这些巨大的数据,你基本可以找到任何你想象得到的连接到互联网的东西。
相关语法:
hostname: # 搜索指定的主机或域名,例如 hostname:"google" port: # 搜索指定的端口或服务,例如 port:"21" country: # 搜索指定的国家,例如 country:"CN" city: # 搜索指定的城市,例如 city:"Hefei" org: # 搜索指定的组织或公司,例如 org:"google" isp: # 搜索指定的ISP供应商,例如 isp:"China Telecom" product: # 搜索指定的操作系统/软件/平台,例如 product:"Apache httpd" version: # 搜索指定的软件版本,例如 version:"1.6.2" geo: # 搜索指定的地理位置,参数为经纬度,例如 geo:"31.8639, 117.2808" before/after: # 搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:"11-11-15" net: # 搜索指定的IP地址或子网,例如 net:"210.45.240.0/24"a
案例:
首先强调一点,无论付费用户还是免费用户,都可以使用shodan的搜索功能,只不过付费用户可以获得更多的搜索结果和导出、监控等更多高级功能。
port:554 has_screenshot:true # RTSP未授权访问
快速扫描一下,就可以显示安装在各个地方的摄像头,这些摄像设备由于默认弱口令的RTSP服务而被直接抓取到流媒体数据。就比如下面的俄罗斯一景。
port:5900 screenshot.label:loggedin # 无认证vnc
查找无认证的VNC服务,就比如下面这台DNF工作室主机
篇幅有限,这里不过多演示案例了,有需要的可以自行去 https://www.shodan.io/explore 查看他人分享的搜索语法。
辅助工具
对于使用chrome浏览器的用户可以安装其官方插件,方便的查看当前网站的信息
对于使用firefox浏览器的用户其官方插件地址如下
对于经常使用命令行的用户可以使用官方提供的 cli 版本
同时,shodan也可以结合Metasploit一起使用
use auxiliary/gather/shodan_search set SHODAN_APIKEY ******************** set QUERY **** use auxiliary/gather/shodan_honeyscore # 蜜罐检测 set SHODAN_APIKEY ******************** set TARGET your_target
总体来说,shodan功能齐全,服务较为稳定,不过由于网络问题,国内访问较慢,并且在某些情况下,特定的搜索结果会被屏蔽,但整体来看仍是顶尖的资产搜索引擎。
BinaryEdge是一家来自瑞士的公司提供的资产搜索引擎,其为企业提供网络安全,工程和数据科学解决方案的评估。它利用机器学习技术收集有关基础设施的信息,并将收集的数据与从提要中获得的数据相关联。功能包括通过将发现结果与安全工具结合后从联网设备和运行于它们的服务中提取数据来提供通知,警报和报告功能。
他们的blog内容也很简单易懂 https://blog.binaryedge.io
相关语法:
ip # 目标IP,例如ip:“ 149.202.178.130/16” port # 端口,例如port:80 country # 目标国家/地区,例如国家/地区:FR ASN # 目标的AS号,例如asn:1234 type # BinaryEdge模块类型,例如类型:mongodb product # 所寻找的产品名称,例如产品:apache2 ipv6 # 过滤ipv6结果,例如Ipv6:true或ipv6:false tag # 可用标签列表:docs.binaryedge.io/search/#available-tags
案例
搜索含有“Dropbear sshd”关键词的网站和IP,在搜索框中输入
product:"Dropbear sshd"
由于我这边访问速度实在太慢,加载过久,就不举其他例子了。更多搜索语法可查看官方文档 https://docs.binaryedge.io/search/
该搜索引擎还支持直接搜索图片、数据泄露事件、Torrents、域名、传感器等信息。
支持对Torrents / DHT流量的监控
作为一家初创公司,其产品质量和功能非常优秀,还支持以ASN号进行搜索,但是对免费用户来说极不友好,API价格也不便宜。同样,由于网络原因,在国内访问速度较慢。
FOFA是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。
相关语法:
title="abc" # 从标题中搜索abc。例:标题中有北京的网站。 header="abc" # 从http头中搜索abc。例:jboss服务器。 body="abc" # 从html正文中搜索abc。例:正文包含Hacked by。 domain="qq.com" # 搜索根域名带有qq.com的网站。例: 根域名是qq.com的网站。 host=".gov.cn" # 从url中搜索.gov.cn,注意搜索要用host作为名称。 port="443" # 查找对应443端口的资产。例: 查找对应443端口的资产。 ip="1.1.1.1" # 从ip中搜索包含1.1.1.1的网站,注意搜索要用ip作为名称。 protocol="https" # 搜索制定协议类型(在开启端口扫描的情况下有效)。例: 查询https协议资产。 city="Beijing" # 搜索指定城市的资产。例: 搜索指定城市的资产。 region="Zhejiang" # 搜索指定行政区的资产。例: 搜索指定行政区的资产。 country="CN" # 搜索指定国家(编码)的资产。例: 搜索指定国家(编码)的资产。 cert="google.com" # 搜索证书(https或者imaps等)中带有google.com的资产。
案例:
搜索标题中含有“后台管理”关键词的网站和IP,在搜索框中输入
title="后台管理"
使用时查询速度很快,且对中文搜索内容较为友好,shodan搜索 title=“后台管理” 只有一个内容。
如果需求是搜索中文内容,且具有网络环境的原因,那么Fofa是值得推荐的。
ZoomEye 是北京知道创宇公司发布的网络空间侦测引擎,积累了丰富的网络扫描与组件识别经验。在此网络空间侦测引擎的基础上,结合“知道创宇”漏洞发现检测技术和大数据情报分析能力,研制出网络空间雷达系统,为政府、企事业及军工单位客户建设全球网络空间测绘提供技术支持及产品支撑。
ZoomEye 支持公网设备指纹检索和 Web 指纹检索。网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。设备指纹包括应用名、版本、开放端口、操作系统、服务名、地理位置等。
相关语法
app:nginx # 组件名 ver:1.0 # 版本 os:windows # 操作系统 country:"China" # 国家 city:"hangzhou" # 城市 port:80 # 端口 hostname:google # 主机名 site:google.com # 网站域名 desc:nmask # 描述 keywords:passwd # 关键词 service:ftp # 服务类型 ip:8.8.8.8 # ip地址 cidr:8.8.8.8/24 # ip地址段
案例
还是以"后台管理"关键字为例
以Dedecms的5.5版本有一个漏洞,使用ZoomEye的搜索结果如下:
横向对比Fofa和zoomeyey两个搜索引擎的特点:在很多情况,zoomeye不开放国内资产。同时,为防止恶意使用,对zoomeye只能获取总结果的30%左右,同时涵盖10,000结果条数上限。而fofa均无限制。
zoomeye很关键的一点就是关联seebug平台,而fofa则在pc端内置poc商城。
zoomeye显示查询结果同时,给出了关联漏洞。同时在活跃度,开放度,和平台挖掘数上,zoomeye十分占优。在漏洞搜索的表现上 zoomeye的表现优于fofa。
简单来说2个搜索引擎配合使用,效果更好,整体体验和shodan不相上下。
Censys搜索引擎能够扫描整个互联网,Censys 每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。
相关语法
23.0.0.0/8 or 8.8.8.0/24 # 可以使用and or not 80.http.get.status_code: 200 # 指定状态 80.http.get.status_code:[200 TO 300] # 200-300之间的状态码 location.country_code: DE # 国家 protocols: ("23/telnet" or "21/ftp") # 协议 tags: scada # 标签 80.http.get.headers.server:nginx # 服务器类型版本 autonomous_system.description: University # 系统描述
案例
比如,我们搜索一下开放了23号端口的设备。
当然,censys的强项在于证书这一块的搜索服务,当你需要通过一个证书找到与其相关的域名时会有很大的作用。
与shodan相比,Censys更注重于网络资产的搜索,例如各种证书、设备之类的,只不过价格较高,还有着部分限制。但其具有其他搜索引擎不可替代的功能点。
URL:https://dnsdb.io
顾名思义,这是一个搜索全网络所有DNS服务器的搜索引擎。
相关语法
DnsDB 查询语法结构为条件1 条件2 条件3 …., 每个条件以空格间隔, DnsDB 会把满足所有查询条件的结果返回给用户. 域名查询条件 查询语法为 `domain:.` 域名查询是指查询顶级私有域名所有的 DNS 记录, 例如查询 google.com 的所有 DNS 记录: `domain:google.com.` 域名查询可以省略 domain:. 主机查询条件 查询语法:`host:` 例如查询主机地址为 mp3.example.com 的 DNS 记录:`host:map3.example.com` 主机查询条件与域名查询查询条件的区别在于, 主机查询匹配的是 DNS 记录的 Host 值 按 DNS 记录类型查询 查询语法: `type:.` 例如只查询 A 记录: `type:a` 使用条件 : 必须存在 domain: 或者 host: 条件,才可以使用 type: 查询语法 按 IP 限制 查询语法: `ip:` 查询指定 IP: `ip:8.8.8.8` 该查询与直接输入 8.8.8.8 进行查询等效 查询指定 IP 范围: `ip:8.8.8.8-8.8.255.255` CIDR: `ip:8.8.0.0/24` IP 最大范围限制 655
案例
以搜索百度的子域名为例:
显示条目十分全面、条理清晰,但是dnsdb的弊端也很明显,即只能针对域名和ip进行搜索,不能做网络设备和端口的查询。并且现在正在转让网站技术及数据。
本文简单介绍了几种常见的资产搜索引擎的使用,并概括了优点与缺点,在OSINT日益火热的当下,搜索引擎Hacking是一项必备的技能。希望本系列教程可以对渴望入门OSINT领域的新手造成一定帮助,在阅读文章后不只是要理解简单的搜索语句,更要明白各个搜索引擎之间本质上的区别,明白其所适用的领域。
不过只要谈到搜索引擎google这类巨头是避不开的,这里为了不和shodan等比较,所以没有提及常见搜索引擎的内容,同时针对github等代码托管网站的监控也日益体现出了巨大的价值,之后会单独以google,百度等常见搜索引擎和github为例出一篇文章。
本文作者:江苏正信安全
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/122365.html