病毒入侵
2017年12月12日凌晨,某项目组为应对双十二高峰做了一次紧急扩容,由于时间紧张,新扩容的系统都没有加入4A保护,局方特许在机房直连操作。
夜里3点开始升级,4点升级结束,重新启动系统。原本一次再寻常不过的现场升级操作,此时突然出现数据库账号被锁定的问题!数据库进不去了,提示“你的数据库已经被SQL RUSH team锁死,请发送5个比特币到xxxxxxxxxxx地址,….”。
现场升级的同事呆住了: 系统中了勒索病毒!气氛立刻紧张到极点,这可是生产系统!虽然此时是深夜,没有用户使用,但距离营业厅开业只有三个小时时间,必须在这三小时里定位并消除病毒影响。
病毒是挂在网上下载的所谓破解版plsql developer的工具上的,这个工具普遍存在于各个项目组。里面的一个文件afterconnet.sql被黑客注入了病毒代码。这个代码会在你连接数据库后立即执行,如果你的账号拥有DBA权限,它会在你的数据库中创建多个存储过程和触发器,会阻止你连接数据,当你重启动后,会触发病毒触发器,加密并删除sys.tab$,导致你无法访问数据库中所有的schema。然后设置定时任务,如果在期限内不交赎金,就truncate你所有的表。病毒发作危害极大,而且原厂和相关的安全厂商都很难恢复。
这个病毒为了增加破坏效果,加强隐蔽性,只有当数据库创建时间超过1200天才会爆发,有很长的潜伏期。
查验方法
1、在Oracle Server端检查是否有下面几个对象:
Object_name Obeject_type
DBMS_SUPPORT_INTERNAL TRIGGER
DBMS_SUPPORT_INTERNAL PROCEDURE
DBMS_SYSTEM_INTERNAL TRIGGER
DBMS_CORE_INTERNAL TRIGGER
DBMS_SYSTEM_INTERNAL PROCEDURE
DBMS_CORE_INTERNAL PROCEDURE
DBMS_STANDARD_FUN9 PROCEDURE
参考SQL:
select * from dba_object where object_name like ‘%INTERNAL%’;
2、检查PLSQL DEV安装目录,查找afterconnect.sql,login.sql这个文件的大小应该是0字节,如果有内容,基本上就是病毒。
后续处理
这个病毒并不完备,在侵入过程中,出现了数据库操作异常而没有执行彻底,关键数据未发生致命性损伤。经过数据库专家紧急的手工恢复,最终将病毒清除。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论