应用程序崩溃时完全禁止运行 WerFault.exe

应用程序崩溃时完全禁止运行 WerFault.exe

我有一个简单的测试场景,其中应用程序崩溃,但我对获取/分析崩溃转储不感兴趣,但速度也是一个问题。出于这个原因,我尝试了各种方法来禁用 Windows 错误报告服务,因为它会启动以下进程,导致测试严重停机:

  • WerFault.exe-产生了多个进程
  • 执行程序

我尝试使用以下方法禁用 WER:

  • WER 设置:设置已禁用密钥为 1 - 无论是在正常状态还是在 WOW6432Node 配置单元中
  • 组策略设置,关闭 Windows 错误报告在下面计算机配置/管理模板/系统/Internet 通信管理/Internet 通信设置
  • 组策略设置,禁用 Windows 错误报告在下面计算机配置/管理模板/Windows 组件/Windows 错误报告
  • 两个都停止禁用services.msc 中的 Windows 错误报告服务

我已经跑了进程监控并设置适当的过滤器(进程和操作)以仅查看相关信息,我可以清楚地看到,WerFault.exe 始终在运行,并正在写入以下文件:

  • C:\ProgramData\Microsoft\Windows\WER\Temp[进程名称].tmp
  • C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_[进程名称]\Report.wer.tmp

当我手动导航到那里时,文件不在那里,因此我有一种预感,尽管机器已完全与互联网切断,但 Windows 仍在后台生成崩溃转储以发送给 MS。

是否有可能以某种方式禁止运行这些进程?

答案1

找到了解决方案:创建一个新键作为HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\WerFault.exe 添加的新字符串值,名为“Debugger”,并为其指定一个不存在的 exe 名称。这样,WerFault.exe 就会使用无效的调试器运行,并且不会启动。

有用的网址: https://pentestlab.blog/2020/01/13/persistence-image-file-execution-options-injection/ https://github.com/tdebaets/wertweak

相关内容