恶意代码实践作业5.2 初步动态分析

恶意代码实践作业5.2 初步动态分析

1.静态分析确定的线索

根据上次静态分析的结果,可判断这个文件的作用应该是替换kernel32.dll文件。过程是先关闭C:\Windows\System32\kernel32.dll,再将文件中的lab01-01.dll内容复制在C:\Windows\System32中的kerne132.dll文件中。所以我们这次搜寻的关键是kernel32.dll文件

上次静态分析过程中通过IDA反编译出的主函数部分代码:

image-20210601161120974

代码大致如下:

if ( argc == 2 && !strcmp(argv[1], aWarningThisWil) )
  {
    v3 = CreateFileA(FileName, 0x80000000, 1u, 0, 3u, 0, 0);
    v4 = CreateFileMappingA(v3, 0, 2u, 0, 0, 0);
    v5 = MapViewOfFile(v4, 4u, 0, 0, 0);
    v7 = CreateFileA(ExistingFileName, 0x10000000u, 1u, 0, 3u, 0, 0);
    v8 = CreateFileMappingA(v7, 0, 4u, 0, 0, 0);
    v9 = (const char **)MapViewOfFile(v8, 0xF001Fu, 0, 0, 0);
    qmemcpy(v14, v13, v16);
    }
    CloseHandle(hObject);
    CloseHandle(v50);
    if ( !CopyFileA(ExistingFileName, NewFileName, 0) )
      exit(0);
    sub_4011E0(aC, 0);
  }
  return 0;
}

2.动态分析对上述线索的验证分析过程

1 Process Explorer

ollydbg单步调试,从头到尾未出现子进程,程序在7C92E4F4处终止

image-20210601125715712

2 Process Monitor

设置过滤信息为PID=20228(Process Explorer中显示的信息),可以看到在ida伪代码中一些修改注册表、打开读取文件、读取文件、关闭文件创建文件的函数,但没有之前分析的copy等操作,也没看到所copy的Lab01-01.dll

image-20210601105614984

3 Wireshark抓包

设置地址为机器的ip号,什么都没抓到,静态分析中也确实没看到有联网的记录

image-20210601130955936

4 比较运行前后的系统文件

kernel32.dll

该文件没有被修改,但是在运行期间确实被访问了

image-20210601131221495

lab01-01.dll

该文件没有找到,本来猜测在Lab01-01.exe中,但其中只有一个PE头

kerne132.dll

该文件没有找到,可能是没有找到lab01-01.dll的缘故,所以没有实际copy的数据

3.动态分析的结论

该文件会对系统目录下的kernel32.dll进行访问并试图改动

该文件不会连接网络进行下载等操作

4.动态分析中尚不能确定,有待进一步分析的内容

由于缺少Lab01-01.dll,使得程序无法进行文件复制对kernel32.dll进行修改

从原书中找到了代码链接,已导入码云仓库中,欢迎下载
https://gitee.com/sin29/PracticalMalwareAnalysis-Labs

posted @ 2021-06-01 10:57  一个李长兴  阅读(115)  评论(0编辑  收藏  举报