分享一个EDR导致windows蓝屏的处理方法以及通用的蓝屏处理方法
安装EDR后蓝屏1.确认蓝屏代码,其中0x50为永恒之蓝漏洞攻击导致 2. 改名实时监控驱动,确认是否为edr驱动导致蓝屏 a. 驱动路径C:\Windows\System32\drivers\ 找到sfavflt.sys文件,重命名为sfavflt.sys.bak b. 重启电脑确认是否还会出现蓝屏。 注意:该操作只是验证是否实时监控导致,改名之后实时监控不生效了不管是否有效都需要重命名回来 通用处理方法 蓝屏:蓝屏的全称是Blue Screen Of Death,简称BSOD。是windows系统检测到无法恢复的错误,然后终止系统,并且提示如下错误信息 史上最全蓝屏代码 1.有效排查步骤 确认蓝屏主机和具体蓝屏的时间点; 确认蓝屏代码; 确认使用过程中蓝屏还是开机蓝屏; 确认蓝屏前是否安装了软件或者驱动; 确认目前主机是否影响业务,是否恢复使用; 确认是否大面积出现; 2.获取蓝屏dump文件进行分析 获取MEMORY或者minidump文件,正常文件的路径为:C:\Windows\MEMORY.DMP或者C:\Windows\Minidump\xxxxx.dmp 主机不能正常开机,在确认生成了dump文件的前提下,有两个办法获取虚拟机dump文件; 方法一:使用带网络的安全模式或者最后一次正确配置尝试开机; 方式二:使用PE系统进去主机,拷贝出dump文件 虚拟机蓝屏了,但是没有生成dump的情况下,需要检查以下选项 a.dump文件目录修改了,默认在如下图所示的目录; b. 禁用了虚拟内存或者虚拟内存太小,检查虚拟内存是否为空或者小于dump文件的大小,正常虚拟内存空间需要大于1G c. 保存dump文件的磁盘空间不足; 3. 分析dump前需要安装windbg工具,因此首先就需要做好windbg的安装和设置 获取windbg安装包来安装
使用 WinDbg 开始调试工作之前,最重要的就是配置好符号表,符号表是WinDbg关键的“数据库”,如果没有它,WinDbg基本上无法分析出更多问题原因,所以使用WinDbg设置符号表,是必须要走的一步。 a.运行WinDbg软件,然后按【Ctrl+S】弹出符号表设置窗; 4.拿到dmp文件后,可使用【Ctrl+D】快捷键来打开一个dmp文件,或者点击WinDbg界面上的【File】-【Open Crash Dump…】按钮,来打开一个dmp文件。 第一次打开dmp文件时,可能会收到如下提示,出现这个提示时勾选“Don’t ask again in this WinDbg session”,然后选择否即可。
分享一些命令 1、!sym nosiy :查看符号文件时,加载的信息和提示会更详细(分析dump前可以先执行这个命令); 2、!analyze -v:如下图所示,执行!analyze -v查看当前异常的原因和详细信息,主要关注BUGCHECK_STR(异常错误代码)、PROCESS_NAME(导致异常的进程名称)、MODULE_NAME(导致异常的模块名称)、STACK_TEXT(异常的堆栈信息); 3、kb:显示当前异常的堆栈信息,如下图所示,nt是内核,windows系统自带的模块可以不关注,主要关注其他模块,比如:qutmdrv(360软件的驱动模块); 4、!lmi 模块名或者lmvm 模块名:查看具体的模块详细信息;如下图所示,不确认qutmdrv驱动是什么软件带的,可以使用lmvm qutmdrv找到文件路径后查看该驱动的签名和厂商信息来确认是什么软件带的这个驱动; 5、.reload -f:强制调试器加载字符表,需要可以连接外网时执行,执行后需要等待一段时间,自动下载字符表6、lm:显示当前系统的加载所有模块,输出包括模块字符表、模块名称等信息,只有微软本身的模块才显示字符表,没有字符表的模块就是第三方的,比如下图的sfvdi_minifilter(桌面云限制U盘读写的驱动); 7、!process :查看导致系统异常进程的详细信息, Image(导致异常的进程名); !process 0 0 :列举当前系统加载的所有进程; 8、!dml_proc:显示系统当前加载的进程列表,并提供链接以获取关于流程的更详细信息; 9、 !running -it:查看当前蓝屏系统正在运行什么进程以及当前系统的详细信息; !thread:查看当前的线程的详细信息、起始地址、当前堆栈等;
r:用于查看或者修改寄存器和伪寄存器信息; 6、lm:显示当前系统的加载所有模块,输出包括模块字符表、模块名称等信息,只有微软本身的模块才显示字符表,没有字符表的模块就是第三方的,比如下图的sfvdi_minifilter(桌面云限制U盘读写的驱动); |