Shodan能搜到互联网上的一切东西。谷歌及其他常见搜索引擎只索引Web页面,Shodan索引网上一切——网络摄像头、污水处理设备、游艇、医疗设备、交通信号灯、风力涡轮发电机、驾照读取器、智能电视机、智能冰箱;
只要联网,没有什么是Shodan搜不到的。
了解Shodan强大搜索能力的最佳方法是去读其缔造者 John Matherly 的书。
基本算法倒是简单易用,如下:
1. 产生一个随机IPv4地址
2. 从Shodan理解的端口列表中生成要测试的随机端口
3. 在该随机端口上检查该随机IPv4地址并获取旗标
4. 返回第1步
就这么简单。找出所有东西,索引所有东西,让一切都可搜索。
Shodan工作机制
开放端口上的服务都有各自的旗标。旗标向整个互联网公开声明自己提供的服务及互动方式。Shodan给出的FTP旗标样例如下:
220 kcg.cz FTP server (Version 6.00LS) ready.
虽然Shodan不索引Web内容,但确实会查询80和443端口。CSOonline网站的https旗标就长这样:
$ curl -I https://www.csoonline.com
HTTP/2 200
server: Apache-Coyote/1.1
x-mod-pagespeed: 1.12.34.2-0
content-type: text/html;charset=UTF-8
via: 1.1 varnish
accept-ranges: bytes
date: Fri, 25 May 2018 14:16:18 GMT
via: 1.1 varnish
age: 0
x-served-by: cache-sjc3135-SJC, cache-ewr18125-EWR
x-cache: HIT, MISS
x-cache-hits: 2, 0
x-timer:
S1527257779.808892,VS0,VE70
vary: Accept-Encoding,Cookie
x-via-fastly: Verdad
content-length: 72361
其他端口上的其他服务提供特定于服务的信息。公开的旗标信息是真是假并不保证。但大多数情况下是真的,且故意公布误导性旗标的做法也是通过隐匿来实现安全。
一些企业禁止Shodan爬取其网络,Shodan也尊重他们的选择。但是,攻击者并不需要Shodan找出你网络中的脆弱设备。封禁Shodan可能避免一时的尴尬,但并不能改善你的安全态势。
Shodan令人惊恐
不了解互联网运作机制的非技术人员对Shodan惊恐不已。2013年时,CNN将Shodan称为“互联网上最令人恐惧的搜索引擎”。怎么可以让黑客知道所有电厂的位置好方便他们炸飞电厂呢?这太可怕了!
这显然是无知引起的夸张反应。意图造成伤害的攻击者并不需要Shodan来发现目标。这是运行zmap的僵尸网络的工作。Shodan真正的价值在于帮助防御者更加了解自己的网络,获得自身网络更多的可见性。
如果不知道自己必须守护好什么,怎么开展防御工作?而这一点对企业和整个社会来说都是一样的。我们如今身处的世界里,数字网络与物理实体互通互联,设备众多,分布广泛,漏洞与弱点多如牛毛,而Shodan能赋予我们对这个不安全世界更为全面的可见性。
用Shodan辅助防御
现代企业的互联网暴露面通常比企业自身以为的要大。员工将各种设备接入网络以完成自身工作,还有影子IT在倍增互联网暴露面。所以,企业安全团队面临的是一个不断扩大的攻击界面。
Shodan可以很方便地搜索子网或域名,查找出联网设备、开放端口、默认凭证,甚至已知漏洞。攻击者能看到同样的东西,所以,在他们决定攻击之前先补好漏洞未雨绸缪比较好。
很多设备都会在旗标中公开声明自己的默认口令。比如思科设备,会广播默认的用户名/口令组合“cisco/cisco”。在攻击者之前抢先找出自己网络中的这些设备似乎是个不错的主意。
Shodan还能查找易遭特定漏洞攻击的脆弱设备,比如心脏出血。除了帮助防御者发现设备以预设安全措施,Shodan还能帮助渗透测试员收集信息——在扫描嗅探客户整个子网方面,Shodan比Nmap快速隐秘得多。
付费用户还可以使用API,能在所监测的网络中有新设备加入时获得通知,不失为一种便宜而有效的网络监控措施。
停止往互联网上添加糟糕设备
然而,Shodan最著名的方面,却可能是提升了公众对互联网被接入大量不安全关键基础设施的认知。Shodan的互联网绘图能力可以量化互联网面对的系统性安全问题,供记者撰写文章,决策者辩论分析,解决方案处理问题。
拿ICS/SCADA做个例子。工业控制系统早于互联网面世,设计时没考虑过网络安全问题。这些系统本就没有接入全球互联网的意图,物理安全控制更多着眼的是防止恶意攻击者将未经处理的污水直接倒入饮用水供应之类的问题。
但时移世易,本无意接入互联网的关键基础设施如今也就在攻击者几次跳转便可达的范围内。Shodan让人们可以很方便地搜索这些系统,拉响了关键基础设施的网络安全警报。污水处理设施、大坝、焚尸炉、游艇,这些东西无论何种情况下都应接入互联网吗?或许不应该如此,而Shodan令提高对这一问题的认知更加容易了。
类似的,一大波不安全IoT设备涌入千家万户,从联网咖啡机到智能性爱玩具到联网冰箱,零零总总不一而足。市场明显不能为这些设备选择强网络安全,监管者也很大程度上无法介入以要求更强的网络安全控制。更糟的是,破产或者干脆放弃对所生产设备支持的IoT制造商,将消费者留在了既不安全又无法补救的深渊——这些设备很容易沦为僵尸网络指挥下的傀儡。不安全IoT给整个互联网带来的系统性风险不能被低估。
非技术人员发现Shodan时最初的那声惊呼,正是市场和令这一状况得以发展的监管力量的最佳目标。
基本要素
Shodan是免费的,但免费账户所能得到的结果有数量限制。高级过滤器功能需要付费(49美元永久有效)。需要大量实时数据流的开发者和企业用户也能购买付费会员权益。
保护公司免于陷入尴尬境地或许有公关方面的价值,但并不能带来安全价值。Shodan能赋予公司对外部及其他公司安全态势的可见性。
互联网安全欠账越积越多。Shodan能使我们更加清晰地看到这一问题,无论这会让某些非技术人员有多不舒服。
Shodan创始人的电子书链接: