早期客户数据库软件被注入恶意代码,导致数据库无法启动,报错ORA-00600: internal error code, arguments:[16703], [1403], [20],由于恶意攻击,$ORACLE_HOME/rdbms/admin/prvtsupp.plb被注入恶意代码,因prvtsupp.plb为加密文件,可使用网名“大头”的"unwrap.jar"解密查看。核心部分为一个触发器一个存储过程,清空了tab$,导致数据库启动时,bootstrap阶段无法完成。这里过多原因不再赘述,这里只讲干货。如果有备份的话,那么很简单就不展开了,本文主要介绍没备份的方法。

一.  因客户数据保密性,这里选择构造模拟场景:

1.  创建清空TAB$存储过程

2. 创建触发器

3. 创建test表测试数据

修改系统时间,abort数据库,重启后报错如下:

二 . 恢复步骤:

1. 使用核心恢复shell scan.sh生成恢复脚本(该脚本不做公布)

--//主要时间消耗在第3步,大约需要5分多钟.看看生成修改的脚本:

$ls  scan**.bbed*

scan3_bbed.txt                        --修改记录flag偏移脚本

scan4k_bbed.txt

scan4m_bbed.txt                   --修改mref_offset标识

san5_bbed.txt                          --sum apply脚本

2. 使用scanx.sh脚本检查tailchk值,这里tailchk值都一致。如不一致,需要去分析tailchk值是不是相差过大,如相差过大多数原因在于近期执行了delete操作,这部分内容不需要恢复。

$ cat scanx.sh

#! /bin/bash

grep dba scan3_bbed.txt | cut -d" " -f4 | uniq | while read dba

do

echo -n $dba :

echo "p dba $dba offset 8188"| rlbbed | grep "ub4 tailchk"

done

$ . scanx.sh | cut -c64-71 | sort|uniq -c

3. 执行生成的bbed脚本

4. 禁用sys.tab$的索引I_TAB1

5.禁用job和系统触发器,启动数据库

6. drop破坏脚本

7. 检查破坏脚本tab$备份表ORA与tab$记录

SQL> select count(*) from (

select obj# from ORACHK1C350A4E053D200A8C0FE9E

minus

select obj# from tab$);

COUNT(*)

----------

0

ORA开头表与tab$记录一致,不需要追加。

8. dbv校验system01.dbf

存在549个

kdbchk: the amount of space used is not equal to block size

used=5115 fsc=486 avsp=2981 dtl=8096

Page 86141 failed with check code 6110

类似错误。

建议:

将数据库迁移到另外数据库。

三.  迁移数据库

  1. 使用exp工具导出TEST用户数据

    [oracle@test bbed]$ exp 'userid="/ as sysdba"' owner=test  file=test06.dmp

    报ORA-01578: ORACLE data block corrupted (file # 1, block # 86141)错误,使用bbed撤销坏块标记,如下:

2. 再次导出TEST用户数据

也可以按表模式导出:

数据导出无报错的情况下,都能够正常恢复到另外数据库中,余下步骤不再演示,至此数据库完美恢复。后期会继续分享加密型勒索病毒恢复案例、ASM DATA磁盘组元数据损坏恢复案例等,敬请关注!    

修改jar 注入_ORA00600[16703]安装介质注入型勒索病毒恢复案例相关推荐

  1. dbf如何导入oracle_Oracle软件的安装介质被注入恶意程序事件分析与防御

    No.1 声明 由于传播.利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任. 雷神众测拥有对此文章的修改和解释权.如欲转载或传播此文 ...

  2. SQLMAP数据库注入工具下载安装

    介绍 Sqlmap 是一个自动化的 SQL 注入工具,其主要功能是扫描.发现并利用给定的 Url 的 Sql 注入漏洞,目前支持 MySQL. Oracle. PostgreSQL. Microsof ...

  3. sqlmap注入教程linux,Linux Sqlmap检测sql注入漏洞工具安装使用教程

    Sqlmap工具 什么是SQLmap? SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹.访问底层文件系统.执行命令) sql注 ...

  4. ORACLE安装启图形界面与oracle安装介质解压后缺jar包

    8月25日-8月27日,三天就安装一套oracle 10.2.0.5 for AIX 6100 HA双机,安装过程中真是问题很多.     首先,是启动OUI图形界面,安装是在机房直连网卡进行的,使用 ...

  5. bcb dll返回字符_⑩的游戏修改小课堂4——HOOK、DLL注入与游戏乱码修正

    本文采用 CC-BY-NC 协议进行授权. 本文的涉及代码已上传到GITHUB~ https://github.com/rumia-san/hook_finale​github.com 因为是以< ...

  6. 输入法注入源码_将注入进行到底:利用Mono注入C#游戏脚本

    本文作者01dTan9,首发于三叶草小组博客:http://blog.sycsec.com/   致力于引领每一位对windows安全感兴趣的萌新,希望让萌新能够对Windows有初步的了解.笔者的文 ...

  7. spring项目属性注入和bean管理xml 注入一般属性和集合属性

    IOC 介绍: 在Spring的应用中,Spring IoC容器可以创建.装配和配置应用组件对象,这里的组件对象称为Bean. Bean的实例化 在面向对象编程中,想使用某个对象时,需要事先实例化该对 ...

  8. SQL注入——基于报错的注入(五)

    本章目的 普及报错功能函数extractvalue()的用法,演示基于报错的SQL注入基本流程. 实验环境 攻击机:Pentest-Atk (1)操作系统:Windows10 (2)安装的应用软件:S ...

  9. SOL注入——基于联合查询的数字型GET注入(二)

    本章目的 普及数字型GET注入的原理和特点,掌握利用联合查询(unionselect)的方法实现SQL注入的基本流程. 实验环境 攻击机:Pentest-Atk (1)操作系统:Windows10 ( ...

最新文章

  1. 编程控制Word文档中Table的赋值
  2. Java笔记03-Constructor Override
  3. 蚂蚁集团技术专家山丘:性能优化常见压测模型及优缺点
  4. web自动化原理揭秘
  5. centos7 dns配置_Linux Sever简单笔记(第十三堂课)之linux下的网络管理及DHCP配置的相关操作 - 我杨晓东太难了...
  6. 关于如何安装cocoapods
  7. ExtJS4.2学习(18)时间控件
  8. python 英文字典-python如何制作英文字典
  9. 独立站运营到底要做什么!
  10. ArcGIS中将经纬度表格转为空间图层并制作采样点分布图
  11. 教务系统漏洞再生南工大FaceMash
  12. 小米平板4(Plus) LTE 版本,开通话模式教程(MIUI)
  13. 2019年东北四省赛感想
  14. 【微信小程序】wx.request请求后success回调的数据无法显示到页面上
  15. MB/s与Mbit/s的区别!!!
  16. Java使用@Value获取不到值
  17. MongoDB——文档操作(更新文档)
  18. 10款可视化大屏特效,酷炫又内涵!
  19. Oracle 11g 数据类型
  20. 小汪汪服务器不稳定,小汪汪登陆不上问题解决办法 游戏进不去怎么解决

热门文章

  1. How to Review a Technical Paper
  2. python异步处理请求_python:tornado+wsgi异步处理请求
  3. mysql rls_DBMS_RLS包实现数据库表行级安全控制
  4. Redis在项目中的应用(点评)
  5. es6---Promise
  6. MarkdownPad安装及基本配置
  7. PrimitiveCollection
  8. oracle起监听命令,lsnrctl oracle 监听器 命令行 操作命令 lsnrctl services
  9. 标志logo设计/欣赏
  10. 赶路人-----李小晓