WinLogon登录管理和GINA简介 winlogon.exe是什么

WinLogon登录管理和GINA简介Windows NT 和 Windows 2000 中的 Winlogon进程负责管理登录相关的安全性工作,它负责处理用户的登录与注销、启动用户shell、输入口令、更改口令、锁定与解锁工作站等。Winlogon 进程必须保证其与安全相关的操作对其他进程不可见,以免其他进程取得登录安全信息。

系统初始化,启动用户程序之前,Winlogon进行特定工作已保证以上的要求。Winlogon进程将创建并打开一个窗口工作站WindowStation)该工作站代表了物理屏幕、鼠标和键盘,然后在该工作站上创建三个桌面:Winlogon桌面、应用程序桌面、屏幕保护桌面
。Winlogon进程将设置只有本地系统可以完全控制这些对象,而交互登录的用户只能读该窗口工作站并完全控制应用程序工作站。Winlogon进程确保其他用户进程不能访问Winlogon桌面的任何数据和代码;这样就保护了口令、锁定桌面等操作的安全。Winlogon进程还会注册安全注意序列(SAS- secure attentionsequence)的热键,任何时候按下SAS热键(缺省为ctrl+alt+del),将调用Winlogon进程,切换到安全桌面,从而使一般的密码捕捉程序不能接收登录密码和更改密码等安全活动。

而登录的身份验证都是在GINA(GINA - Graphical Identification andAuthentication,图形标识和身份验证)中实现的,微软的WindowsNT/2000提供的GINA是MSGINA.dll,它实现了WindowsNT/2000默认的登录界面。不过为了支持更多的交互登录验证方式,这个GINA DLL是可替换的,可以自己开发GINADLL以实现其他的身份验证方法,如智能卡、指纹等其他验证机制,而且微软也提供了相关文档和例程。

当然这也为木马留下了机会,可以通过编写和系统GINA界面相同的GINADLL,然后取代MSGINA.dll,同时进行密码记录。在MSDN的例子里有一个GINA的例子。不过如果仅仅为了获取系统登录密码,就没有必要那么麻烦,只需编写一个接口和GINA一样的,然后所有函数在实现时都去调用MSGINA.dll的相同函数就可以了,不过这样就需要系统原来的msgina.dll,在MSDN的例子里也有这样一个例子叫做ginastub,当然作为木马还要在登录时将密码转储(更多的gina信息,请在MSDN里查找gina)。就我所知在去年(2000年8月)就已经出现了名为FakeGina的这种木马,该木马只有一个DLL,它是ginastub类型的木马,因此需要系统原来的msgina.dll,系统才能支持启动,可以从http://www.ntsecurity.nu/toolbox/fakegina/获得该木马的详细信息。

此外微软还在注册表里留了一个位置用于安装GINA,在HKLMSoftwareMicrosoftWindowsNTCurrentVersionWinlogon下设置GINADLL为某个GINADLL(GINADLL这个键缺省没有),如果设置了这个值,Windows NT/2000就会调用该GINADLL,而不会调用缺省的MSGINA.dll。FakeGina就是使用这种方式进行安装的。

由于GINADLL负责系统认证和安全登录,因此如果一旦出错,用户将不能登录系统,必须慎用。如果采用FakeGina的安装方式,在卸载时不能只删除fakegina.dll,而不理会注册表,只删掉该木马将导致系统不能启动。必须删除注册表里GINADLL这个键值才行。

如果安装出错或者Gina/GinaStub程序有问题,用户将不能登录。在MSDN中Gina例子部分介绍了4种恢复Gina程序错误的方法,由于多数Gina木马都是使用GinaStub方式,因此我介绍一下错误使用GinaStub程序后的系统恢复。

首先介绍一下GinaStub方式的Gina DLL失败的几个可能性:

1) 因为GinaStub方式的GinaDLL实际上没有完成真正的登录验证功能或者说没有全部完成这些功能,很多功能它都是调用系统原有的GinaDLL完成的,因此如果系统原来的Gina DLL丢失,那么系统自然不能启动。造成系统原有的GinaDLL丢失可能是因为安装者以为该Gina DLL是功能完整的GinaDLL,而把该DLL拷贝到系统目录并覆盖原来微软的MSGina.dll 。

2)在注册表里设置GINADLL为某个GinaStub,该GinaStub也拷入系统了,但后来删除该GinaStub时只删除该文件,而忘了删除注册表里GINADLL一项,系统根本找不到所指定的GinaDLL 。

3) GinaStub程序有Bug

由于以上不同原因造成系统启动问题的,系统的现象也不同,不过都是在系统应该出现正常的登录对话框的时候出现:

1) 这种情况下,有的Ginastub在初使化时会返回错误,通知Winlogon进程GinaDLL初使化失败,系统弹出对话框提示GinaDLL初使化失败。而有的Ginastub可能处理不周,使Winlogon进程非法操作,系统停止启动。如果删除了MsGina.dll,上边介绍的FakeGina就会出现后一种情况,这是由于该程序在调用原有的MsGina.dll时没有进行错误判断,直接认为调用成功,然后使用返回的句柄0x00000000造成的,可以参见下边该程序的这段反汇编后的代码。

2) 这种情况下,在Win2000上指明需要某个Gina DLL,但是系统找不到,系统不能继续启动。而在WinNT上,系统没有任何提示,直接重启动。

WinLogon登录管理和GINA简介 winlogon.exe是什么
3) 根据bug不同,现象可能有所不同。


Gina失败造成不能本机登录,不过仍然可以从网络上其它计算机访问该机的资源包括共享和注册表,因此采用网络方法是可以恢复这种故障的。

1) 此时可以把其他系统上或者原来备份的Msgina.dll覆盖GinaStub方式的GinaDLL即可。如果有多个NT/2000系统,可以使用另一个系统进行启动进行;也可以从网络上连接到该计算机的系统盘进行;或者卸下该硬盘,安装到其他NT/2000的计算机上进行。

2)用其他计算机连接到该机的注册表,把GinaDLL一项删除即可。或者也可以用前一种解决方法把系统原有的MsGina.dll拷贝成GinaDLL所指定的动态连接库。

3) 根据以上两种安装方式,分别采用上边两种方法进行卸载。

(不过当计算机启动后,使用网络共享访问计算机没有问题,不过使用注册表有一点儿问题,就是虽然可以连接上,但是不能打开各项。而且WinNT4在没有相应的GinaDLL会自动重启动,就不好用网络的方法恢复了。)

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/243746.html

更多阅读

csrss.exe是什么进程 taskmgr.exe是什么进程

csrss.exe是一个正常的系统进程,但是也会出现黑客利用该进程进行伪装,如果您的电脑出现关于csrss.exe问题,请详细阅读本专题中提到的解决方法。 csrss.exe是什么进程——工具/原料免费杀毒软件 金山毒霸2011经常出现csrss.exe错误提示

马克杯是什么|马克杯有哪些种类和特征 马克杯是什么

马克杯是什么|马克杯有哪些种类和特征——简介马克杯是什么?相信对于年轻一代的我们来说,并不陌生,它以款式新颖、色彩丰富等等特点名闻于世,深受这个追求个性化时代人的喜欢与欢迎。马克杯是什么|马克杯有哪些种类和特征——方法/步骤

sadu.exe是什么 360sadu

sadu.exe是什么 网友求助:他的电脑在开机的时候进程管理器中出现了sadu.exe这样的程序,不解于是咨询到pc电脑知识,问sadu.exe是什么?而且他的杀毒软件卡巴斯基列为不信任文件,360等会报毒。 ? ? 其实这个问

ctfmon.exe是什么进程 rthdcpl.exe是什么进程

小编在前面写了一篇为什么输入法不显示的文章,有兴趣的用户可以去了解下。一般输入法不显示可能是电脑ctfmon.exe程序的进程文件被关闭了,造成开机输入法不见了的电脑故障。那么ctfmon.exe是什么进程,可以删除吗?这就是小编要给大家讲解

mrt.exe是什么文件 autoupgrade.exe

mrt.exe是什么文件——简介网友咨询:mrt.exe 文件是什么东西?为什么使用 CPU 始终占用率很高?分享经验:这是微软的微软恶意软件删除工具,扫描的时候自然会这样!mrt.exe是什么文件——方法/步骤

声明:《WinLogon登录管理和GINA简介 winlogon.exe是什么》为网友爱人如猫分享!如侵犯到您的合法权益请联系我们删除