SiteOmat
卡巴斯基实验室高级安全研究员Ido Naor和以色列安全研究员Amihai Neiderman在卡巴斯位于墨西哥坎昆举行的安全分析师峰会期间,就加油站的安全问题展开了全面分析。他们的研究表明,攻击者可以改变汽油价格,窃取记录在控制器上的信用卡信息,获取车牌号码,造成油料泄露,调整温度监控器等等。
当攻击者获得root权限时,他们可以做很多任何想做的事。因为密码安全性较低,可以通过互联网远程连接这些加油站的控制器。
此次事件的主角是Orpak 公司的 SiteOmat,该软件专门为运行在嵌入式 Linux 设备或标准 PC 之上而设计,能够提供“完整且安全的现场自动化、管理分配、支付终端、前院设备与燃料箱控制功能,从而全面监督并记录一切交易活动。”
这些安全漏洞还允许黑客在目标企业的网络内横向移动,访问支付系统、窃取财务数据并获取客户信息(例如车牌号以及司机身份数据)。
在测试中,Neiderman和Naor能够在一台加油机上将每升燃气的价格从6.54ILS(以色列新锡克尔)远程修改为6.66ILS。Neiderman写了一个脚本来自动修改价格,并可以通过使用手机来触发。

图片来源:http://www.sohu.com/a/220834929_100066938 黑客世界

图片来源:http://www.sohu.com/a/220834929_100066938 黑客世界
对漏洞的分析:
首先下载文中所提到的用户手册。虽然公司已经声明他们已经撤回官网的手册,但是利用Google搜索还是能够找到。通过查看手册,我们能够知道默认用户名(Admin)+登录密码(Admin),如下图:

并且由于目前有大量加油站系统暴露在互联网上,所以我们通过shodan可以查看到许多有用的信息,如下图:

当前暴露在互联网上的设备,统计如下:

以下部分操作请勿模仿。
下面的登录界面是直接Google到的。通过输入正确的用户名密码可以登录进去。管理员登录界面,如图:

登入后的系统,如图:

下图是用户手册上的截图,这个截图是该公司提供的用户登录进系统的界面。用户手册提供了软件详细的使用流程:

具体分析本次暴露出的几个漏洞:
1、硬编码凭证:硬编码是将可变变量用一个固定值来代替的方法。用这种方法编译后,如果以后需要更改此变量就非常困难了。该系统存在的问题是嵌入在SiteOmat源代码中的后门,带有硬编码的用户名和密码。这将允许远程黑客绕过系统的前端密码保护,并访问任何Orpak加油站,无论加油站所有者是否更改了默认密码。后门提供了对SiteOmat网页管理界面的全面管理访问,包括修改燃油价格和其他设置的权限。SiteOmat实际上并不需要管理权限来修改燃油价格,任何有权限访问系统的人都可以在没有授权的情况下对燃油价格进行修改。总结:导致该漏洞的原因是不严谨的编码和控制代理管理机制的访问不完善。
2、缓冲区溢出漏洞:可取得系统特殊权限,进行非法操作。尽管系统跟踪日志会记录价格的变化,但实验人员发现的缓冲区溢出漏洞使得攻击者能够控制系统并删除所有日志。
3、持久性XSS:攻击行为伴随着攻击数据一直存在,同时向浏览器传送一个cookie,(即使是使用了session验证的方法,还是需要客户端支持cookie), cookie会保存会话连接中的数据,Session ID作为会话标识,浏览器的后续请求就会基于后续请求,攻击者可以提供一个攻击链接,用户点击该链接时,向攻击者自己的服务器发送一条保存有session id 的信息,这样就窃取到用户的session id,得到用户的登录权限了。将攻击行为存入数据库,攻击者在会话有效期内即可获得admin的用户权限,并且由于攻击数据已经在数据库,所以不删除数据库里的记录,还是会有可能受到攻击。
4、不安全通信:SiteOmat以非加密格式存储用户信息,如用户名和密码,并使用未签名和未加密的固件,这意味着攻击者可以使用受感染的SiteOmat软件来覆盖合法版本。最终wireshark证实系统采用明文传输,未加密。
5、SQL注入
6、代码注入
7、远程代码执行等
此次攻击所利用到的漏洞列出如下:
硬编码凭证(CNNVD-201709-1067、CVE-2017-14728)、
持久性XSS(CNNVD-201709-1192、CVE-2017-14850)、
SQL注入(CNNVD-201709-1191、CVE-2017-14851)、
不安全通信(CNNVD-201709-1190、CVE-2017-14852)、
代码注入(CNNVD-201709-1189、CVE-2017-14853)、
远程代码执行(CNNVD-201709-1188、CVE-2017-14854)等。
SiteOmat的更多相关文章
随机推荐
- IIS中应用Application Request Route 配置负载均衡
转自:https://blog.csdn.net/wucong60/article/details/84930234 简介ApplicationRequest Route(后面简称为ARR)是一个寄宿 ...
- Flutter的布局方法
重点是什么? Widgets 是用于构建UI的类. Widgets 用于布局和UI元素. 通过简单的widget来构建复杂的widget Flutter布局机制的核心就是widget.在Flutter ...
- 最新 竞技世界java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.竞技世界等10家互联网公司的校招Offer,因为某些自身原因最终选择了竞技世界.6.7月主要是做系统复习.项目复盘.Leet ...
- idea设置方法注释
1. File-->Settings-->Editor-->Live Templates 1.1 新建Template Group: 命名为 methodNote 1.2 在meth ...
- 洛谷 题解 P2937 【[USACO09JAN]激光电话Laserphones】
看到这题,一下就想到了爆搜.(不过这题输入也是够坑的) 单纯的搜索肯定是会超时的,所以这里需要考虑一些剪枝. 我们令bin[i][j][k]为在第i行j列时,方向为k的最小镜子数,若当时的镜子数已大于 ...
- [CF1065F]Up and Down the Tree_tarjan_树形dp
Up and Down the Tree 题目链接:https://www.luogu.org/problem/CF1065F 数据范围:略. 题解: 我们把每个叶子向它上面$k$个点连边,然后tra ...
- Oracle存储过程——日常记录
代码规范 Oracle存储过程,关键字大写,变量小写并以v_开头,规范代码,提高可读性 赋值与判断符号 Oracle存储过程,变量赋值使用 := 符号,条件判断直接用 = 符号. 变量声明需在 beg ...
- Redis 学习笔记(篇八):事件
Redis 服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件: Redis 服务器通过套接字与客户端(或者其他 Redis 服务器)进行连接,而文件事件就是服务器对套接字操作的抽象.服 ...
- 数据结构 -- 队列Queue
一.队列简介 定义 队列(queue)在计算机科学中,是一种先进先出的线性表. 它只允许在表的前端进行删除操作,而在表的后端进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有 ...
- xpath定位器
目录 什么是xpath? xpath的作用 xpath的术语 xpath语法 XPath 轴 XPath 运算符 xpath的优势 什么是xpath? 官方解释:XPath即为XML路径语言(XML ...