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

实践作业5.2 初步动态分析

以静态分析为基础,对相应代码进行初步动态分析,要求体现出:

1.静态分析确定的线索

  • 首先,仿照上次使用PEView来查看IMPORT Address Table中的导入函数:
    • REG很多函数,修改注册表键值、删除、创建等等操作
    • GetEnvironmentStrings这个函数来获取环境,这个函数为当前进程返回当前系统的环境变量。
    • ShellExecuteA函数调用,进行某项操作。
    • Createfile函数打开对象,CreateServiceA这个函数一般是用作创建一个服务的,说明这个恶意代码会当做一个服务运行在Windows的机器里面。
      image
      image
  • 其次,上面是能够直接看到的信息,但是仍然存在一些无法查看到的线索,因此使用strings -a Lab09-01.exe查看信息
    • 参数参考:
  -a - --all                Scan the entire file, not just the data section [default]
  -d --data                 Only scan the data sections in the file
  -f --print-file-name      Print the name of the file before each string
  -n --bytes=[number]       Locate & print any NUL-terminated sequence of at
  -<number>                   least [number] characters (default 4).
  -t --radix={o,d,x}        Print the location of the string in base 8, 10 or 16
  -w --include-all-whitespace Include all whitespace as valid string characters
  -o                        An alias for --radix=o
  -T --target=<BFDNAME>     Specify the binary file format
  -e --encoding={s,S,b,l,B,L} Select character size and endianness:
                            s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
  -s --output-separator=<string> String used to separate strings in output.
  @<file>                   Read options from <file>
  -h --help                 Display this information
  -v -V --version           Print the program's version number

image

  • 我们同样能观察到在PEView里面的引入函数,除此之外,我们还发现了
    • cmd.exe调用了命令行
    • http1.1超文本传输协议,使用GET包,NOTHING, CMD, DOWNLOAD, UPLOAD, SLEEP操作,与上网有关
    • /c del会删除,结合起来是运行完后会删除自身,以达到隐身的效果
    • 有一个网址,有上网的操作,和该网址应该有交互,可以在后续进行抓包
    • 没有文件名的.exe的,有一个系统环境变量和-cc -re -in应该是命令后面的参数

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

  • 使用process explorer来监测我们的进程,第一张为运行Lab09-01.exe前的截图,第二张为运行Lab09-01.exe后的截图(由于Lab09-1.exe运行结束快,无法截到)
    image
    image

  • 分析:看到这个绿色标记的PE文件,双击它,选择string栏,里面的详情前面是无法识别的字符,后面是很多函数和dll文件,最后是一段XML格式的内容,这可能是Lab09-01.exe修改生成后得到的可执行文件。

  • 使用promon

    • 使用工具中的进程树,监测到Lab09-01.exe进行的操作,其中包含了cmd.exe的一个进程,点击查看详情,能够看到C:\WINDOWS\system32\cmd.exe" /c del C:\DOCUME~1\ADMINI~1\桌面\Lab09-01.exe >> NUL,这显然是恶意PE文件在运行结束后通过cmd来删除自身。而且整个运行时间非常的短,只有1秒钟,也就是我们很难在process explorer中截到它运行的图的原因。
      imageimage
    • 设置过滤条件为进程 is Lab09-01.exe,然后确定
      image
    • 打开时,未运行PE文件,界面即为空,运行PE文件,界面一下子就出现许多操作,主要是关于进程、文件的操作和注册表的操作,例如process startcreate fileclose file(运行进行、创建关闭文件等等操作)、querydirectory查询目录、RegopenkeyRegclosekeyRegquerykey等等对注册表的一系列操作。
    • 我们推测Lab09-01.exe会对进程的操作,会创建关闭文件,创建的文件去具体路径下查看,使用记事本打开其中一个.pf文件,其中的内容无法看懂,得到的注册表也会被修改,表项在图片中能看到详细信息。
      image
      image
      image
    • 我们点击其中一条查看详情,这里面有两个模块Lab09-01.exentdll.dll包含它们 的地址、大小和路径。
      image
  • 由于之前线索能看到有一个网址,并且提示有一系列操作,我们对其进行监测。

    • 首先,ping www.practicalmalwareanalysis.com得到网址的ip地址
      image
    • 然后,我在wireshark中设置ip地址的过滤条件,运行Lab09-01.exe,可是没有抓到包,推测是这个网址并不是实际交互的网址的ip地址。
      image

3.动态分析的结论

  • 这个PE文件与老师上课分析的例子不大相同,我们没有多个直接观测到被调用的.exe文件,也没有资源节需要我们去观测分析。
  • 它会在运行时创建注册表项,PE文件会打开某个服务,修改注册表,创建一个服务的,说明这个恶意代码会当做一个服务运行在Windows的机器里面,会与网络上的网站www.practicalmalwareanalysis.com有一定的操作,但是无法抓包,从静态分析中能看到NOTHING, CMD, DOWNLOAD, UPLOAD, SLEEP的操作,没有得到验证。
  • 运行结束后,调用cmd,使用/c del命令删除Lab09-01.exe

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

  • 关于上网,与网址进行的交互的操作,我们并不是很清楚,NOTHING, CMD, DOWNLOAD, UPLOAD, SLEEP的操作,没有得到验证。
  • 在静态分析中在线杀毒中心看到的报告中的Conhost.exe和svchost.exe没有很明显的变化
  • PE文件运行完成,是否会清理自己新增的注册表和修改过的值,将变化复原,尽可能避免被发现,完成后自动删除自己,还是仅仅删除自己。
posted @ 2021-05-31 22:55  regina1st  阅读(115)  评论(0编辑  收藏  举报