0x01 线索
近日,我们留意到一个新闻:以色列供水设施ICS遭伊朗黑客入侵
原文地址如下:https://www.otorio.com/blog/what-we-ve-learned-from-the-december-1st-attack-on-an-israeli-water-reservoir/
在原文中,OTORIO团队提到了一个供水设施工业控制系统的互联网的人机接口(HMI),指出了该HMI系统未授权暴露在整个互联网上,直接通过Web界面即可访问。
其实在很多国外的安全文章中,都会使用Shodan给出某个具体IP或产品名用于佐证。安全研究人员经常会对这些文章中体到线索进行追溯、分析,下面将给出一个实际的例子。
0x02 分析
在OTORIO团队原文中截图如下:
IP被作者隐藏了,那么我们如何通过上图信息进行挖掘找到真正的系统呢? 我们从上图中提取出3点要素:
- ASN为
16116
; - 同时开放80端口、502端口;
- 协议分别是http协议和modbus协议。
Quake检索系统中主要有两大部分,分别是 服务数据
和 主机数据
:
服务数据
是保留端口返回response和协议返回内容的地方,会以累计
的形式保存全量历史数据,用于刻画一个IP的全部历史活动痕迹;主机数据
是删除端口返回、协议详情的地方,会以去重
的形式保存全量数据,用于刻画一个IP的完整端口及其对应信息;
基于主机数据高级搜索语法(Quake高级会员、终身会员特有):
ports
,语法仅能在Quake主机数据
中使用,表示某个IP同时开放了哪些端口;services
,语法仅能在Quake主机数据
中使用,表示某个IP同时使用了哪些协议;
基于上述信息,在 "主机数据"中 使用搜索语法如下:
ports:"80,502" AND services:"http,modbus" AND asn: "16116"
得到7个独立IP地址
188.64.203.x
91.135.106.x
91.135.105.x
91.135.106.x
85.159.161.x
85.159.163.x
85.159.162.x
搜索这些IP在 Quake服务数据
中的502端口,可以看到modbus协议解析内容和Shodan的一致:
(ip:"188.64.203.x" OR ip:"91.135.106.x" OR ip:"91.135.105.x" OR ip:"91.135.106.x" OR ip:"85.159.161.x" OR ip:"85.159.163.x" OR ip:"85.159.162.x") AND port: "502"
分别访问80端口发现,有3个无法访问,2个系统加了HTTP认证(通过服务数据交叉验证,就是文章中体到的系统)。
同时我们发现了另一个新的供水设施工业控制系统存在未授权访问:
0x03 拓线
另外,OTORIO安全团队通过分析判定该系统为Ovarro公司的T-Box
系统。基于上述相关线索,我们进行扩展发现,该系统对应的指纹如下:
response:"<body style=\"margin:0;padding:0\">" AND response:"<iframe src=\"index.xhtml\"" AND response:"content=\"text/html; charset=utf-8\"/>"
对分布情况进行统计如下:
可以看出该系统主要是欧洲各国使用较多,国内不存在该系统。
访问后可以看出该工控系统涉及电力、能源、水利等等领域:
最后:Happy Hunting by 360-Quake.