电脑显示lsass.exe系统错误 当试图更新密码时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电脑显示lsass.exe系统错误 当试图更新密码时相关的知识,希望对你有一定的参考价值。
电脑提示lsass.exe系统错误,具体原因如下:其一、虚拟内存不足。
常见的提示有:“lsass.exe系统错误:系统资源不够,无法完成API”。出现这种情况,一般是由于虚拟内存不足导致,这时我们可以利用启动光盘,比如winPE等,进入我的电脑>>属性>>高级>>性能选项卡,设置虚拟内存为系统盘之外的磁盘空间比较大的分区>>确定>>重启电脑即可正常进入系统。设置虚拟内存时,一般都建议将虚拟内存设置为物理内存容量的1.5~2倍(分别为虚拟内存的最小值和最大值)。
其二、不小心误操作。
常见于试图更改密码,提供的密码不正确,或者位于”C:WindowsSystem32Config“目录下的sam文件(无扩展名)损坏。这个时候只要依利用启动光盘,把"C:Windowsrepair"目录下的sam文件替换到上述路径即可。
其三、病毒原因,相关依赖文件丢失。
常见的提示有:“lsass.exe无法找到入口:无法定位程序输入点asn1ztcharstring_free于动态链接库msasn1.dll上”、“lsass.exe无法找到组件:没有找到dnsapi.dll”,至于是哪个dll丢失,则视情况而定。
lsass.exe是系统进程,用于本地安全认证服务器,它为winlogon服务的用户验证生成一个进程。如果身份验证成功,Lsass将生成用户的访问令牌,用于启动初始外壳程序。该用户启动的其他进程将继承这一令牌。它的进程信息如下:
进程文件:lsass 或者 lsass.exe
进程名称:Local Security Authority Service、本地安全权限服务
出品者:Microsoft Corp.
属于:Microsoft Windows Operating System
系统进程:是
后台程序:是
使用网络:否
硬件相关:否
常见错误:未知N/A
内存使用:未知N/A
安全等级 (0-5): 0
间谍软件:否
广告软件:否
Virus: 否
木马:否
注意:lsass.exe文件一般位于C:WindowsSystem32目录。如果在其它地方出现lsass.exe,那么,它可能是一个病毒、木马或恶意程序!常见的病毒名有W32.Sasser.E.Worm (Lsasss.exe)、W32.Nimos.Worm等。
参考技术A 您好 我的电脑提示内存不足后系统很多文字看不到 然后我强制关机重启 开机后看到鼠标然后提示
lsass.exe 错误 提示 :当试图更新新密码时,本返回状态表示所提供的当前密码不正确。不知道能不能在不重装系统的情况下解决呢?谢谢了本回答被提问者和网友采纳 参考技术B 系统问题重装
CVE-2017-0004相关lsass拒绝服务漏洞杂谈
昨天微软更新的补丁对lsass服务中的一处拒绝服务漏洞进行了修补,由于是远程拒绝服务漏洞遂决定看看(毕竟这种类型的这十几年也没出几个)。补丁解压之后可以发现这次更新修改了大量的dll(可以用expand.exe,原因么,用了就知道哈哈),lsass.exe本身没有修改
可能是运气好吧,我当时直接选了lsasrv这个dll,事实证明运气不错。
可以看到这个dll是本地密码相关的动态链接库。
通过binbiff对比可以发现确实有不少修改的地方。
因此昨天都在看这个dll的补丁对比,当时找到一些可疑的函数,其中一个函数为NegGetExpectedBufferLength,该函数是用于返回buffer长度的,补丁对比图如下。
详细的代码对比(左侧为最新的dll),可以看到红框中增加了对v8这个变量的长度校验,当获取的长度大于FFFF时,直接返回一个负值,如下所示:
如果此时返回的结果为90312,则会运行到后面的LsapAllocateLsaHeap。
在LsapAllocateLsaHeap中会通过之前获取的长度分配一个内存,如果前面没有检测的话,这个地方会因为超长size分配一段超大内存,导致失败,从而分配一个空指针,该空指针会被放到esi+44的地址中,从而后面导致空指针引用?这是昨天对这个地方的函数的想法,但是由于不知道怎么触发运行到这个函数(想要构造的话只能反复看该处的汇编代码,这可是个费时间的活儿),因此就暂停了分析。
幸运的是今天Nicolas Economou发布的一篇blog,该blog中对这次lsass服务的问题进行了精彩的阐述,并给出了相关的poc
https://www.coresecurity.com/blog/unpatched-lsass-remote-denial-service-ms16-137
该漏洞实际出现在lsasv模块的NegGetExpectedBufferLength函数中,该函数没有对发送的smb中的一个长度域做限制,当漏洞存在时,该size会作为内存分配函数LsapAllocateLsaHeap分配内存时的 size,攻击者可以将该size设置为一个大size,从而导致该处分配失败,失败后会生成一个空指针
该空指针会在NegpBuildMechListFromCreds中被引用,从而导致lssas进程重启。
运行poc之后如下,lsass崩溃。
发送的exp数据包如下,其中的f6308301即为导致漏洞触发的长度域。
可以看到漏洞触发后崩溃的地址,如kb之后发现,最后的地址即在上面NegpBuildMechListFromCreds中的RtlEnterCriticalSection之后。
直接在NegGetExpectedBufferLength下断,单步到Neg_der_read_length前如下,此时的长度变量为0。
函数运行之后可以看到此时获取的长度为f6308201,即为wireshark抓包获取的长度
最后LsapAllocateLsaHeap分配一个巨大的内存失败,返回一个空指针,并保存到esi+44的位置,该空指针会在后面被引用从而导致崩溃。
从Nicolas Economou发布的blog中可以知道实际上这个漏洞在去年的时候就补过,不过当时微软补的地方是针对NegpBuildMechListFromCreds中的空指针进行修改,而且当时补的时候对该空指针的结构也没有完全补对,直到昨天的更新中才将其中的根源NegGetExpectedBufferLength中的长度进行了限制。
时间有限,实际上我这个地方对该空指针后续的操作没有详细的调试,可能有误差,有时间后续的调试再补上吧!
参考
https://www.coresecurity.com/blog/unpatched-lsass-remote-denial-service-ms16-137
转载请注明出处
以上是关于电脑显示lsass.exe系统错误 当试图更新密码时的主要内容,如果未能解决你的问题,请参考以下文章
高悬赏:安装xp sp3时,重启后出现lsass.exe-系统错误,再重启后正常
刚重装的系统,各只有一个lsass.exe和smss.exe,用户名都是SYSTEM,但电脑还是经常卡机死机,求助大虾们!