• 恶意代码——实践作业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:WINDOWSsystem32cmd.exe" /c del C:DOCUME~1ADMINI~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文件运行完成,是否会清理自己新增的注册表和修改过的值,将变化复原,尽可能避免被发现,完成后自动删除自己,还是仅仅删除自己。
  • 相关阅读:
    几个很实用的BOM属性对象方法
    JavaScript hash
    WPF中ControlTemplate和DataTemplate的区别
    C#性能测试方法
    Lc.exe已退出,代码为-1
    C#遍历enum类型
    WPF画线问题,几千条以后就有明显的延迟了。
    WPF学习笔记(3):Path绘制命令zz
    WPF: 旋转Thumb后,DragDelta移动距离出错的解决
    在Revit中如何显示附件模块(Add Ins) 这个命令页?zz
  • 原文地址:https://www.cnblogs.com/regina1st/p/14833769.html
Copyright © 2020-2023  润新知