Source: Parnassusdata Blog勒索病毒软件(ransomware malware)会将ORACLE数据文件的部分内容或全部内容加密破坏。由于ORACLE的数据文件大小一般较大,全部加密耗时可能会很久,所以部分勒索病毒软件会选择仅加密ORACLE数据文件头部的连续或随机空间。对于这种局部的加密破坏,我们可以尝试使用DBRECOVER来恢复其中数据。由于数据文件头损坏,我们需要通过观察SYSTEM01.DBF的内容来搞清楚,各个数据文件的表空间号(TS#)和相对文件号(RFILE#)等信息。以下是数据文件清单: O1_MF_APP01_L782YY4Y_.DBF.ekingO1_MF_APP01_L782ZBM3_.DBF.ekingO1_MF_APP01_L782ZCP1_.DBF.ekingO1_MF_APP02_L782ZO7W_.DBF.ekingO1_MF_APP02_L7830DTG_.DBF.ekingO1_MF_APP02_L7830FJ6_.DBF.ekingO1_MF_DBRECOVE_L6G7B1Q3_.DBF.ekingO1_MF_SYSAUX_L5VP5QJ8_.DBF.ekingO1_MF_SYSTEM_L5VP4N7Y_.DBF.ekingO1_MF_TEMP_L5VPCQGO_.TMP.ekingO1_MF_UNDOTBS1_L5VP66PM_.DBF.ekingO1_MF_USERS_L5VP67TJ_.DBF.eking以上示例加密后缀为eking注意其中的TEMP、UNDOTBS1、SYSAUX与我们的恢复作业无关,可以忽略这些文件。我们首先启动DBRECOVER,使用字典模式DICT-MODE: 按实际情况选择 DB VERSION,对于版本高于12c的实例,例如18c 19c等均选择12。 仅仅加入SYSTEM01.DBF,并指定其TS#=0 rFILE#=1(注意这是固定的)。 以上勾选"SCAN BASE TABLES"选项可以更强有力地应对损坏情况。之后点击LOAD按钮,DBRECOVER会整体扫描SYSTEM01.DBF并找出其中的数据字典基表数据。我们打开SYS用户节点,查找TS$和FILE$ 2个基础表: TS$表存放了表空间信息,TS#列为表空间号,可以得出如下信息:TS#NAME0SYSTEM1SYSAUX2UNDOTBS13TEMP4USERS5UNDOTBS26DBRECOVER_TEST7APP018APP02即APP01表空间的TS#=7,而APP02表空间的TS#=8FILE$表存放了数据文件信息: 其中我们需要的是TS#和RELFILE#这2列TS#RELFILE#0113654772247879810811812通过将两张表格的数据映射合并,可以得到:TS#RELFILE#Tablespace Name01SYSTEM13SYSAUX65DBRECOVER_TEST47USERS72APP0124UNDOTBS178APP0179APP01810APP02811APP02812APP02删除掉不需要的SYSAUX、UNDOTBS1和已经知道的SYSTEM表空间,则只剩下:TS#RELFILE#Tablespace Name65DBRECOVER_TEST47USERS72APP0178APP0179APP01810APP02811APP02812APP02对应数据文件名字列表:O1_MF_APP01_L782YY4Y_.DBF.ekingO1_MF_APP01_L782ZBM3_.DBF.ekingO1_MF_APP01_L782ZCP1_.DBF.ekingO1_MF_APP02_L782ZO7W_.DBF.ekingO1_MF_APP02_L7830DTG_.DBF.ekingO1_MF_APP02_L7830FJ6_.DBF.ekingO1_MF_DBRECOVE_L6G7B1Q3_.DBF.ekingO1_MF_USERS_L5VP67TJ_.DBF.eking对照上面2个表格,不难发现其中对应关系。对于使用db_create_file_dest OMF文件管理的数据文件,一个表空间下的多个数据文件可按其文件名排序,其顺序与RELFILE#排序一致。对于用户自行管理的文件名(即不使用OMF的情况),一般也会以APP01{XX}(如APP0101、APP0102)之命名方式以便于管理,则也可以获得其对应关系。以上我们通过猜测获得完整的信息表:TS#RFILE#Tablespace NameFILE NAME65DBRECOVER_TESTO1_MF_DBRECOVE_L6G7B1Q3_.DBF.eking47USERSO1_MF_USERS_L5VP67TJ_.DBF.eking72APP01O1_MF_APP01_L782YY4Y_.DBF.eking78APP01O1_MF_APP01_L782ZBM3_.DBF.eking79APP01O1_MF_APP01_L782ZCP1_.DBF.eking810APP02O1_MF_APP02_L782ZO7W_.DBF.eking811APP02O1_MF_APP02_L7830DTG_.DBF.eking812APP02O1_MF_APP02_L7830FJ6_.DBF.eking重新打开DBRECOVER,进入字典模式: 仍需选择数据库版本DB VERSION。 加入所有必要的数据文件(所有可能存放用户数据的文件文件,UNDOTBS1、TEMP、SYSAUX这些不用加入),注意不要漏掉SYSTEM01.DBF(必须加入)。按照之前整理的表格,填写此处的TS#和RFILE#信息: 若正确填写相关信息,且加密损坏程度不高,则可以直接读取到数据: 由于加密病毒的特征各异,所以实际操作中可能需要更多问题。欢迎通过邮件与我们交流问题:service@parnassusdata.com
Read full article »
Followers on Owler
1