|
9#

楼主 |
发表于 2008-12-3 00:11:00
|
只看该作者
又捣鼓了一个晚上,有了点新看法,不知道是否是真正的原因
抓了下smb协议的包,winpe发送的sesson请求里面没有身份信息,只有一个"user: \" 实际上这斜线的左右应该分别标识本机的domain和username
被访问的一台winxp虽然设置了"仅来宾"的方式,不管你提供任何用户名,都给你赋予guset的身份,但是如果不提供任何用户名的话,估计也赋予不了
google了一下,在微软的technet上有一篇文章提到
当你telnet到一台机器上后,再net use其他资源时,如果不加user:password的选项,也不会成功
因为出于安全考虑,不会在telnet中传输你自身工作站的身份信息,所以导致直接net use失败.
看起来winpe和这种情况类似.
后来我尝试了一下,如果先net use被访问机器上的任何一个共享目录(ipc$这样的空连接除外),然后果然就可以用explorer浏览列出其所有的共享资源了,看起来八九不离十了,初次建立连接后就有了身份标识,前面提到的FID也不再是0000了.
那么,假设我的猜测是正确的话,如何来解决这个问题呢,我粗略知道SAM是存储windows用户信息的文件,可惜在winpe目录里面连影子都没看到...
哪位前辈能给说说winpe具体启动过程么?
能否将winlogin这样的东西做进去(猜测而已,我并不了解实际是如何运转的,虽然pe目录里面有winlogon,但是不知道起没起作用),或者通过注册表也好,其他方式也好,把sam加进去?反正横竖让pe能有个用户身份验证信息?
其他方式:?
linux下有个smbclient,可惜没有windows版的,难道哪位高人写个新的explorer,这个难度怕是比较大
vista的PE2.0是否有身份验证信息?我没用过,用过的说一声,要测试的话可以这样做
运行net config workstation看有无错误提示
运行net user,看是否提示有发生错误(用户列表能显示并不代表没问题)
知道这里高手很多,以上内容只是我个人推测,供参考,强烈欢迎讨论
谢谢! |
|