数据库

首页 » 常识 » 问答 » 警惕双十二亲历生产系统数据库遭遇勒索病
TUhjnbcbe - 2021/3/17 22:58:00

病*入侵

年12月12日凌晨,某项目组为应对双十二高峰做了一次紧急扩容,由于时间紧张,新扩容的系统都没有加入4A保护,局方特许在机房直连操作。

夜里3点开始升级,4点升级结束,重新启动系统。原本一次再寻常不过的现场升级操作,此时突然出现数据库账号被锁定的问题!数据库进不去了,提示“你的数据库已经被SQLRUSHteam锁死,请发送5个比特币到xxxxxxxxxxx地址,….”。

现场升级的同事呆住了:系统中了勒索病*!气氛立刻紧张到极点,这可是生产系统!虽然此时是深夜,没有用户使用,但距离营业厅开业只有三个小时时间,必须在这三小时里定位并消除病*影响。

病*是挂在网上下载的所谓破解版plsqldeveloper的工具上的,这个工具普遍存在于各个项目组。里面的一个文件afterconnet.sql被黑客注入了病*代码。这个代码会在你连接数据库后立即执行,如果你的账号拥有DBA权限,它会在你的数据库中创建多个存储过程和触发器,会阻止你连接数据,当你重启动后,会触发病*触发器,加密并删除sys.tab$,导致你无法访问数据库中所有的schema。然后设置定时任务,如果在期限内不交赎金,就truncate你所有的表。病*发作危害极大,而且原厂和相关的安全厂商都很难恢复。

这个病*为了增加破坏效果,加强隐蔽性,只有当数据库创建时间超过天才会爆发,有很长的潜伏期。

查验方法

1、在OracleServer端检查是否有下面几个对象:

Object_nameObeject_type

DBMS_SUPPORT_INTERNALTRIGGER

DBMS_SUPPORT_INTERNALPROCEDURE

DBMS_SYSTEM_INTERNALTRIGGER

DBMS_CORE_INTERNALTRIGGER

DBMS_SYSTEM_INTERNALPROCEDURE

DBMS_CORE_INTERNALPROCEDURE

DBMS_STANDARD_FUN9PROCEDURE

参考SQL:

select*fromdba_objectwhereobject_namelike‘%INTERNAL%’;

2、检查PLSQLDEV安装目录,查找afterconnect.sql,login.sql这个文件的大小应该是0字节,如果有内容,基本上就是病*。

后续处理

这个病*并不完备,在侵入过程中,出现了数据库操作异常而没有执行彻底,关键数据未发生致命性损伤。经过数据库专家紧急的手工恢复,最终将病*清除。

相关阅读:

从勒索病*事件看企业OS补丁管理:应该如何制定更新策略、选择工具?

新型勒索病*Petya的技术和加密过程分析

更多相关文章

1
查看完整版本: 警惕双十二亲历生产系统数据库遭遇勒索病