build your own shodan/censys/zoomeye

如何制作自己的 shodan/censys/fofa/zoomeye. 1. What is shodan/censys/fofa/zoomeye. shodan 通过扫描全球范围内的 IPv4地址,通过探测端口开放、检测端口的服务,再通过服务提取源数据。最后提供数据供安全研究人员使用。国外类似的还有 censys,国内有 fofa 和 zoomeye。 2. Why we need our shodan? 首先第一个原因是没有钱。上述的各个商业公司提供了企业版的解决方案。企业用户才能获得原始数据,普通付费用户只能通过 API 做有限的查询。 第二个原因是使用别人的数据具有较大的局限性。例如无法获得实时最新的数据、无法自定义扫描范围、无法对某个 IP 段进行高频次扫描。 最后一个原因是想要造轮子。使用服务提供商的API 查询服务时,每一次查询服务都会被服务提供商记录,这对于我来说是不太可接受的。 3. Let's start! build shodan 总共分三步,分别是端口扫描、banner 获取和banner 入库(供检索)。 3.1 端口扫描和 banner 获取 端口扫描和 banner 获取 censys 的开发者给我们提供了线程的解决方案,他们是 zmap 和zgrab2,通过这两个工具我们可以得到全网的 banner 指纹。 解释一下 banner 的概念: 在主机外部探测开放端口的服务主要是通过发送握手报文(hello string)-得到服务器的返回数据-与指纹库做匹配来获取远程的服务信息。 比如 ssh…