RunDLL与Regsvr32利用攻击的溯源及缓解方案咨询
RunDLL与Regsvr32利用攻击的溯源及缓解方案咨询
Hi Jay,既然你是资深用户,咱们直接直奔主题——你遇到的正是被归类为T1218.010的RunDLL32/Regsvr32滥用攻击场景,Malwarebytes能拦截连接是个好信号,但要彻底解决问题,得精准定位触发源才行。下面给你几个针对性的溯源和排查方向:
一、先抓进程调用链,找触发源头
- 用Process Explorer定位可疑的
rundll32.exe/regsvr32.exe进程:- 右键进程→「属性→映像」,确认文件路径是
C:\Windows\System32或C:\Windows\SysWOW64下的合法系统文件(避免是恶意伪造的同名文件); - 查看「进程树」,找到发起调用的父进程——很多时候是被感染的合法程序、计划任务或者启动项触发的。
- 右键进程→「属性→映像」,确认文件路径是
- 用Process Monitor过滤这两个进程的操作:
- 添加过滤规则,只显示这两个进程的「进程启动」和「网络」事件,追踪它们加载的DLL路径,以及具体的启动命令参数(比如是否在加载远程恶意DLL)。
二、排查恶意持久化机制
这类攻击常用持久化手段反复触发调用,重点检查这几个地方:
- 启动项与注册表:查看
HKLM\Software\Microsoft\Windows\CurrentVersion\Run、HKCU下的对应启动项路径,还有HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce等临时启动项,看是否有可疑的rundll32/regsvr32调用; - 任务计划程序:筛选所有任务,看是否有定期触发的任务,执行命令包含
rundll32.exe或regsvr32.exe,特别是那些设置了隐藏运行、随机触发时间的任务; - 系统服务:查看服务列表,找那些「可执行文件路径」指向rundll32/regsvr32的服务,或者服务启动后会调用这两个程序的;
- 浏览器与应用劫持:如果是在浏览网页时触发,检查浏览器扩展、插件,或者办公软件(如Word/Excel)的宏脚本——恶意宏常用来触发rundll32加载远程DLL。
三、验证系统文件完整性
- 运行命令
sfc /scannow和DISM /Online /Cleanup-Image /RestoreHealth,检查系统自带的rundll32.exe、regsvr32.exe是否被篡改替换——有些高级恶意软件会用带合法签名的恶意文件替换系统文件,常规扫描可能漏过; - 如果Malwarebytes拦截的是加载特定DLL的调用,找到该DLL的路径(可从MB的拦截日志里提取),提交到病毒分析平台检测,或者用逆向工具分析其行为,确认是否是本地残留的恶意组件。
四、网络层面补充追踪
- 既然已知是C&C服务器IP,先在Windows防火墙里添加出站规则,彻底阻断该IP的所有连接,避免临时绕过拦截;
- 打开「事件查看器→Windows日志→系统」和「安全」日志,根据MB拦截的时间点,查找对应的网络连接事件,关联到进程ID后,再对应到具体的触发进程。
彻底清除的补充建议
- 用Autoruns工具全面排查所有启动项、服务、浏览器辅助对象、计划任务等,禁用或删除所有可疑条目;
- 对于远程加载DLL的场景,可以通过修改注册表限制rundll32/regsvr32的行为:在
HKLM\Software\Policies\Microsoft\Windows\safer\codeidentifiers下配置规则,禁止加载未签名或来自不信任路径的DLL; - 如果常规扫描无法清除,尝试启用Malwarebytes的rootkit扫描功能,或者用专门的rootkit检测工具排查——这类攻击可能伴随rootkit隐藏恶意组件。
备注:内容来源于stack exchange,提问作者Jay Croghan




