网易首页 > 网易号 > 正文 申请入驻

盘点RUNDLL32.EXE的多种滥用方式及检测特征

0
分享至

0x00 前言

在进行威胁狩猎的过程中,如果想要找到恶意软件,首先需要对平台和操作系统具有一定的了解。如果想要甄别合法软件和恶意软件,首先必须明确哪些是合法的。

作为一个具有30多年历史之久的操作系统,由于Windows的复杂性,往往使我们很难实现上面这一点。

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

此前,我们讨论过svchost.exe进程及其命令行选项。在这篇文章中,我们将深入挖掘rundll32.exe,以期对其有所了解。

0x01 关于RUNDLL32.EXE

顾名思义,rundll32.exe可执行文件是用于运行DLL(RUN DLL),即运行动态链接库的。

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

动态链接库(DLL)是一个模块,其中包含可以由另一个模块(应用程序或DLL)使用的函数和数据。

以下是使用rundll32.exe的最基本语法:

rundll32

rundll32.exe可执行文件可以是子进程,也可以是父进程,具体要取决于执行的上下文。为了确定一个rundll32.exe实例是否属于恶意,我们需要确认几件事。首先,需要确认启动它的路径,其次是命令行。

合法的RUNDLL32.EXE进程始终位于:

\Windows\System32\rundll32.exe

\Windows\SysWOW64\rundll32.exe(64位系统上的32位版本)

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

接下来,我们来看几个例子。

0x02 运行DLL

在其基本形式中,rundll32.exe将仅执行一个DLL,因此,如果我们看到了rundll32.exe实例,首先要检查被调用的DLL的合法性。

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

0x03 SHELL32.DLL – “OpenAs_RunDLL”

Rundll32.exe还可以执行DLL中的特定函数。例如,当选择一个文件并右键单击时,将会显示出一个上下文菜单,其中包含多个选项。这里的一个选项是“OpenWith”(打开方式)。在点击后,将会出现一个弹出窗口,可以从系统上安装的应用程序中进行选择。

实际上,在此过程的背后,是使用shell32.dll和OpenAs_RunDL函数启动rundll32.exe实用程序。

C:\Windows\System32\rundll32.exe C:\Windows\System32\shell32.dll,OpenAs_RunDLL < file_path >

这种在DLL中调用特定函数的行为非常普遍,因此我们恐怕无法将所有函数都了解全面。下面的两篇文章详细介绍了一系列rundll32.exe调用和对应的作用。

https://www.tenforums.com/tutorials/77458-rundll32-commands-list-windows-10-a.html

http://chagdali.free.fr/dcs/RunDll.htm

0x04 SHELL32.DLL – “Control_RunDLL”、“Control_RunDLLAsUser”和控制面板程序

我们发现与shell32.dll一起使用的另一个常见函数是Control_RunDLL或Control_RunDLLAsUser。这两个函数用于运行.CPL文件或控制面板选项。

例如,如果我们要更改计算机的日期和时间,可以从控制面板启动对应的applet。

在后台,Windows实际上是使用以下命令行启动了rundll32.exe实例。

C:\WINDOWS\System32\rundll32.exe C:\WINDOWS\System32\shell32.dll,Control_RunDLL C:\WINDOWS\System32\timedate.cpl

除了验证DLL的合法性。在使用Control_RunDLL或Control_RunDLLAsUser函数时,应该始终检查.CPL文件的合法性。

0x05 控制面板选项(.CPL)

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

.CPL文件可以包含一个applet索引可以引用的多个applet,每个applet可以包含一个选项卡索引可以引用的多个选项卡。

我们可以通过rundll32.exe实用程序访问和请求此信息,如下所示。

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

C:\WINDOWS\System32\rundll32.exe C:\WINDOWS\System32\shell32.dll,Control_RunDLL C:\WINDOWS\System32\main.cpl,@0,1

如我们所见,我们可以轻松使用恶意版本来替换原始的main.cpl文件,不了解这方面知识的用户很容易注意不到这一点。实际上,这正是恶意软件作者感染计算机的方式。

在正常情况下,使用Control_RunDLL函数的rundll32.exe实例的父进程应该是explorer.exe或者control.exe。

其他进程也可以使用该函数启动rundll32.exe。例如,当运行inetcpl.cpl进行代理或网络配置时,rundll32.exe的父进程有可能是Google Chrome、MSGEDGE或IE。

如果大家想了解有关CPL以及恶意软件如何滥用的,可以阅读这篇趋势科技对CPL恶意软件的研究报告( https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-cpl-malware.pdf )。

0x06 DEVCLNT.DLL – “DavSetCookie”(Web Dav客户端)

Rundll32.exe实例有一个神秘的命令行,可能会大量出现在日志中,其格式如下。

C:\WINDOWS\System32\rundll32.exe C:\Windows\system32\davclnt.dll,DavSetCookie < Host > < Share >

当使用file://协议时,无论是在Word文件中,还是通过共享窗口,有时(如果SMB被禁用)会使用WebDav客户端来请求这些文件。在此时,会通过rundll32.exe实用程序发出请求。

这类请求的父进程是svchost.exe,其中的“-s WebClient”参数并不是必须添加的。

C:\Windows\system32\svchost.exe -k LocalService -p -s WebClient

类似Emotet这样的恶意软件在此前已经利用了这种技术。因此,我们始终需要分析这类命令行中包含的主机,并确保全部都是合法的。

0x07 RUNDLL32.EXE – “-sta”或“-localserver”标志

有一个鲜为人知的命令行参数,就是“-sta”和“-localserver”。二者均可以用于加载恶意注册的COM对象。

如果我们在日志中看到以下内容,或者发现有进程使用了下面的命令行参数运行:

rundll32.exe –localserver < CLSID_GUID >rundll32.exe –sta < CLSID_GUID >

我们就需要验证相应的注册表项\HKEY_CLASSES_ROOT\CLSID\

我强烈推荐大家阅读@bohops的文章,以详细了解这种技术。在hexacorn的博客中,详细介绍了“-localserver”的变体。

https://bohops.com/2018/06/28/abusing-com-registry-structure-clsid-localserver32-inprocserver32/

0x08 RUNDLL32.EXE – 执行HTML或JavaScript

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

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

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

我从未见过这种方式的任何一次合法使用。因此,一旦我们在日志中发现了这类使用方法,就应该立即进行应急排查。

可以通过下面的资源,了解这种技术的更详细信息:

https://pentestlab.blog/2017/05/23/applocker-bypass-rundll32/

https://oddvar.moe/2017/12/13/applocker-case-study-how-insecure-is-it-really-part-1/

https://lolbas-project.github.io/lolbas/Binaries/Rundll32/

0x09 总结

感谢大家的阅读,希望能通过本篇文章对Rundll32有所了解。

如果大家有任何反馈或建议,欢迎通过Twitter @nas_bench与我联系。

0x0A 参考文章

[1] https://bohops.com/2018/06/28/abusing-com-registry-structure-clsid-localserver32-inprocserver32/

[2] https://threathunterplaybook.com/evals/apt29/report.html

[3] https://www.hexacorn.com/blog/2020/02/13/run-lola-bin-run/

[4] https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-cpl-malware.pdf

[5] https://support.microsoft.com/en-us/help/149648/description-of-control-panel-cpl-files

[6] https://isc.sans.edu/forums/diary/Lets+Trade+You+Read+My+Email+Ill+Read+Your+Password/24062/

[7] https://blog.didierstevens.com/2017/11/13/webdav-traffic-to-malicious-sites/

参考及来源:https://medium.com/@nasbench/a-deep-dive-into-rundll32-exe-642344b41e90

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
在中国狂赚3600万,在国外年薪却只有8万人民币,曾经的南美新星

在中国狂赚3600万,在国外年薪却只有8万人民币,曾经的南美新星

体坛风之子
2026-01-16 04:30:03
欧洲多国向格陵兰岛派兵,英国1人荷兰1人……俄媒:总人数甚至凑不满美国一间学校教室

欧洲多国向格陵兰岛派兵,英国1人荷兰1人……俄媒:总人数甚至凑不满美国一间学校教室

扬子晚报
2026-01-16 12:15:38
震惊!你绝对想不到艾滋病高发地是这里!

震惊!你绝对想不到艾滋病高发地是这里!

特约前排观众
2026-01-15 00:10:08
24小时内3位名人传离世噩耗,最大92岁,最小47岁,有人突遭意外

24小时内3位名人传离世噩耗,最大92岁,最小47岁,有人突遭意外

叨唠
2026-01-16 01:41:57
油轮背后的静默屠杀:中方七十二小时的底层逻辑重构

油轮背后的静默屠杀:中方七十二小时的底层逻辑重构

宇视天下
2026-01-15 23:14:30
中俄投了弃权票

中俄投了弃权票

第一财经资讯
2026-01-15 09:20:18
猪肚炖得对,药铺关门睡!学会炖一锅,胃病、湿气都怕它!别不懂

猪肚炖得对,药铺关门睡!学会炖一锅,胃病、湿气都怕它!别不懂

江江食研社
2026-01-15 07:30:08
一滴也别喝!科学家调查发现,2020年全球有74万人因饮酒患癌

一滴也别喝!科学家调查发现,2020年全球有74万人因饮酒患癌

蜉蝣说
2026-01-15 10:50:10
老外集体“变中国人”?学喝热水穿拖鞋,网友:第一次当中国人,怪紧张的...

老外集体“变中国人”?学喝热水穿拖鞋,网友:第一次当中国人,怪紧张的...

英国那些事儿
2026-01-15 23:32:23
突然!李湘遭全平台封号,近期行程曝光令人费劲,知情人曝原因

突然!李湘遭全平台封号,近期行程曝光令人费劲,知情人曝原因

八斗小先生
2026-01-16 10:53:18
涉嫌违反美国移民法规则,吴佩慈"婆婆"在美被捕

涉嫌违反美国移民法规则,吴佩慈"婆婆"在美被捕

红星新闻
2026-01-16 08:05:18
李德要不要为第5次反围剿失败负责?亲历者回忆:主要责任在中国人

李德要不要为第5次反围剿失败负责?亲历者回忆:主要责任在中国人

饭小妹说历史
2026-01-15 09:36:42
21地市书记依次述职,黄坤明逐一点评

21地市书记依次述职,黄坤明逐一点评

南粤女声
2026-01-15 10:08:58
婆婆住我们家,接来妈妈后,婆婆走了,没想到三个月后我追悔莫及

婆婆住我们家,接来妈妈后,婆婆走了,没想到三个月后我追悔莫及

朝暮书屋
2025-11-18 18:08:25
湖南小女孩突发心脏病死亡后:知情人曝更多,母亲已社死,恐担责

湖南小女孩突发心脏病死亡后:知情人曝更多,母亲已社死,恐担责

阿纂看事
2026-01-15 14:09:01
马斯克这招太绝了:砍掉FSD买断制,表面是降门槛,背后其实藏着三个心眼

马斯克这招太绝了:砍掉FSD买断制,表面是降门槛,背后其实藏着三个心眼

新浪财经
2026-01-15 11:24:04
杨贵妃出浴时该穿多少衣服?

杨贵妃出浴时该穿多少衣服?

钱唐胡公子
2026-01-16 08:21:18
聂卫平住院照曝光:吸氧坐轮椅,穿病号服仍不忘下棋,女儿想念他

聂卫平住院照曝光:吸氧坐轮椅,穿病号服仍不忘下棋,女儿想念他

观察鉴娱
2026-01-16 09:47:21
英伟达悄然修改论文错误 数据中心铜需求重估

英伟达悄然修改论文错误 数据中心铜需求重估

财联社
2026-01-16 10:20:21
狂输上海后!广东队升级阵容,萨林杰or奎因2选1,朱芳雨还要签人

狂输上海后!广东队升级阵容,萨林杰or奎因2选1,朱芳雨还要签人

绯雨儿
2026-01-16 12:46:12
2026-01-16 14:55:00
嘶吼RoarTalk incentive-icons
嘶吼RoarTalk
不一样的互联网安全新视界
8127文章数 10545关注度
往期回顾 全部

科技要闻

被网友"催"着走,小米紧急"抄"了特斯拉

头条要闻

上海网红餐厅服务员辱骂顾客:吃到一万四再让我服务

头条要闻

上海网红餐厅服务员辱骂顾客:吃到一万四再让我服务

体育要闻

聂卫平:黑白棋盘上的凡人棋圣

娱乐要闻

黄慧颐手撕保剑锋 曾黎意外卷入风波

财经要闻

深圳有白银商家爆雷 维权群超350人

汽车要闻

经典之上再造经典 BJ40探险家上市 13.49万元起

态度原创

游戏
教育
时尚
本地
艺术

《辐射:伦敦》mod开发者称贝塞斯达应该卖了《辐射》IP

教育要闻

师范生,正在集体失业?这个视频,建议报志愿前看三遍!

年度最扎心电影,看得中年男女坐立难安

本地新闻

云游内蒙|黄沙与碧波撞色,乌海天生会“混搭”

艺术要闻

300亿!341米!迪拜将建全球首个奔驰品牌城市

无障碍浏览 进入关怀版