zoukankan      html  css  js  c++  java
  • RUNDLL32.EXE的多种使用方式和检测特征

    恶意软件作者通常会模仿合法的Windows进程,因此经常可以看到恶意软件伪装为svchost.exe、rundll32.exe或Isass.exe进程,攻击者利用的就是大多数Windows用户可能都不清楚这些系统进程在正常情况下的行为特征。

    关于RUNDLL32.EXE

    用于运行DLL,即运行动态链接库。

    在MSDN中,对DLL的定义如下:

    动态链接库是一个模块,其中包含可以由另一个模块使用的函数或数据。

    合法的RUNDLL32.EXE

    rundll32.exe可执行文件可以是子进程也可以是父进程,具体取决于执行的上下文,为了确定一个rundll32.exe实例是否恶意,需要确认几件事。

    1.启动它的路径

    合法的rundll32.exe进程始终位于:

    WindowsSystem32
    undll32.exe
    WindowsSystemWOW64
    undll32.exe(64位系统上的32位版本)

    例如,如果是从%temp%调用kernel32.dll,这种情况显然是恶意的,此外还需要在VirusTotal这样的站点上检查哈希值。

    2.启动它时的命令行

    rundll32.exe实例的命令行,完全取决于要运行的内容,例如CPL文件、DLL安装等。

    SHELL32.DLL - “Control_RunDll","Control_RunDllAsUser"

    与shell32.dll一起使用的常见函数为Control_RunDll和Control_RunDllAsUser.这两个函数用于运行.cpl文件或控制面板选项。

    CPL即Control Panel Items(控制面板选项),是控制面板所提供功能对应的程序,是导出CPIApplet函数的DLL。

    例如,System32文件夹中的main.cpl文件包含两个applet,分别是鼠标和键盘属性。如果要在鼠标属性中更改指针,实际操作如下。

    C:WINDOWSSystem32
    undll32.exe C:WINDOWSSystem32shell32.dll,Control_RunDLL C:WINDOWSSystem32main.cpl,@0,1

    可以看到,可以轻松使用恶意版本的main.cpl替换原始的main.cpl文件。

    RUNDLL32.EXE - 执行HTML或JavaScript

    攻击者可能会在rundll32.exe中使用另一个命令行参数”javascript“标志。

    实际上,rundll32.exe实例可以使用mshtml.dll和javascript关键词来运行HTML或JavaScript代码。

    rundll32.exe javascript:"..mshtml,RunHTMLApplication < HTML Code >

    几乎没见过这种方式的任何一次合法使用,一旦在日志中发现这类使用方法,就应立即进行应急排查。

  • 相关阅读:
    CMDB
    Linux文档编辑
    Linux文件管理
    Scrapy框架全
    爬虫基础
    C#中的泛型-1
    网络协议
    PDF抽取文字 C# with Adobe API
    PDF转图片 C# with Adobe API
    浅谈Exchange 2013开发-如何操作邮件的附件
  • 原文地址:https://www.cnblogs.com/Virus-Faker/p/14804357.html
Copyright © 2011-2022 走看看