Windows10蓝屏事件分析

news/2024/11/29 20:43:09/

Windows10 BSOD分析

近期突然曝出能够让Windows10系统拒绝服务的蓝屏符号链接:\.\globalroot\device\condrv\kernelconnect,只要在Google浏览器中输入这串字符串,电脑就会崩溃。上手就试,啪,很快啊~就崩溃了
在这里插入图片描述注意到发生崩溃的驱动文件是 c o n d r v . s y s \textcolor{orange}{condrv.sys} condrv.sys。打开内核调试器,重新尝试。
在这里插入图片描述
根据调用栈分析,在浏览器中输入这串字符串的时候,浏览器调用了 G e t F i l e A t t r i b u t e s ( ) \textcolor{cornflowerblue}{GetFileAttributes()} GetFileAttributes(),对应的内核函数为 N t Q u e r y F u l l A t t r i b u t e s F i l e ( ) \textcolor{cornflowerblue}{NtQueryFullAttributesFile()} NtQueryFullAttributesFile()并最终在 c o n d r v ! C d p D i s p a t c h C l e a n u p ( ) \textcolor{cornflowerblue}{condrv!CdpDispatchCleanup()} condrv!CdpDispatchCleanup()中发生崩溃。
在这里插入图片描述
原因就是访问了空指针!对应的伪代码:
在这里插入图片描述
是什么导致这个空指针的出现?回过头来看到路径中的KernelConnect,通过交叉引用来到了 C d C r e a t e K e r n e l C o n n e c t i o n ( ) \textcolor{cornflowerblue}{CdCreateKernelConnection()} CdCreateKernelConnection()
在这里插入图片描述
动态调试后发现判断是UserMode的执行模式就会直接返回拒绝类型,关键是 C d C r e a t e K e r n e l C o n n e c t i o n ( ) \textcolor{cornflowerblue}{CdCreateKernelConnection()} CdCreateKernelConnection()

v1->MajorFunction[0] = (PDRIVER_DISPATCH)CdpDispatchCreate;

中调用的,而 C d p D i s p a t c h C r e a t e ( ) \textcolor{cornflowerblue}{CdpDispatchCreate()} CdpDispatchCreate()属于 R I P _ M J _ C R E A T E \textcolor{orange}{RIP\_MJ\_CREATE} RIP_MJ_CREATE类型的分发函数。在分发函数中,返回非成功类型的值前都应该进行如下操作:

...
(PRIP)a2->IoStatus.Status = 0;
(PRIP)a2->IoStatus.Information = 0i64;
IofCompleteRequest(a2, 0);//分发完成例程请求

这样就能避免在失败的返回后还能获取到设备的对象。而出问题的代码段中正好少了这一步,导致返回了拒绝访问后还能让调用者获取到设备的对象,此时这个对象并没有被初始化,所以调用者使用完该对象后在释放对象的过程中就访问到了一个野指针,可能是某处对该指针的内存进行了清零,从而导致了这场了灾难!

到这可以说该蓝屏的问题与浏览器没有直接的关系,通过下面这段代码也能触发BSOD

#include<iostream>
#include<windows.h>using namespace std;int main() {GetFileAttributesW(L"\\\\.\\globalroot\\device\\condrv\\kernelconnect");return 0;
}

http://www.ppmy.cn/news/444983.html

相关文章

MS12-020漏洞利用||蓝屏攻击

MS12-020漏洞利用—蓝屏攻击 两台靶机&#xff1a;kali、win2003 被攻击者win2003 ip&#xff1a;192. 168.179.132 原理&#xff1a;利用操作系统内核的缺陷&#xff0c;发送大量数据包&#xff0c;则这个漏洞可能造成拒绝服务攻击或允许远程执行代码 前提&#xff1a;对方开…

win10突然出现蓝屏,终止代码:BAD_POOL_CALLER

最近win10系统更新过后,出现了系统蓝屏的情况,开始只是偶尔蓝屏一下,后来开始有规律的隔个一个多小时就蓝屏。不管你是在查资料还是在听音乐,coding,突然就"滋滋…",这谁顶得住啊,不行,必须的折腾一下,给它修好。 百度,Google翻了很多的资料和blog,试遍了网上的方法,…

MS12-020漏洞的利用(死亡蓝屏)

漏洞名&#xff1a;MS12-020&#xff08;全称&#xff1a;Microsoft windows远程桌面协议RDP远程代码执行漏洞&#xff09; 介绍&#xff1a;RDP协议是一个多通道的协议&#xff0c;让用户连上提供微软终端机服务的电脑。 windows在处理某些对象时存在错误&#xff0c;可通过特…

PC电脑端常见蓝屏代码自检测与解决方案

PC电脑端常见蓝屏代码自检测与解决方案 我将常见的电脑蓝屏情况都收集了一下&#xff0c;进行了整理&#xff0c;希望对各位不会修电脑的妹子用得到&#xff0c;不要影响it大佬的时间&#xff0c;哈哈哈 1.0X0000000A 问题故障&#xff1a;软件性冲突问题 参考根源&#xff…

WinDbg分析蓝屏dump原因

大多数人或许都经历过系统蓝屏问题,然而大多数人不清楚该怎么处理蓝屏问题,这里主要对系统蓝屏做一些解释,同时介绍下蓝屏问题分析工具WinDbg分析蓝屏问题的一般步骤。 微软官方对蓝屏的定义是,当系统遇到一些可能会威胁系统安全的情况时,系统会停止工作,这时的状态(即蓝…

MS12-020漏洞复现(死亡蓝屏)

实验环境&#xff1a; 攻击机kali IP&#xff1a;192.168.32.128 靶机windows server 2008 IP&#xff1a;192.168.32.132 1、了解windows server2008虚拟机的基本信息检查是否安装有关该漏洞的补丁 使用systeminfo命令查看&#xff1a; 通过该页面可知&#xff1a;虚拟机w…

常见电脑蓝屏代码以及解决办法

在我们使用电脑的过程中&#xff0c;最讨厌的一种颜色那便是“蓝色”了&#xff0c;有时候那突如其来的蓝屏简直让人崩溃。其实&#xff0c;电脑蓝屏也算是常见现象。造成电脑蓝屏的因素有很多&#xff0c;今天我将针对电脑常见的蓝屏给出相应的解决方案&#xff0c;希望对大家…

常见蓝屏代码解释及解决方法

蓝屏代码解释及解决方法 小云因为常遇到电脑蓝屏情况&#xff0c;今天就来整理一下部分常见的蓝屏代码分析及解决方法。 1、蓝屏代码 文字说明&#xff1a;IRQL-NOT-LESS-OR-EQVAL 通常的原因&#xff1a;驱动程序使用了不正确的内存地址。 解决方法&#xff1a;重新启动计…