wowocock 发表于 2013-1-22 10:42

使用Bootkit绕过Windows 登录密码

本帖最后由 wowocock 于 2013-6-5 18:11 编辑

前几天想登录虚拟机里的一个WINDOWS,结果发现密码怎么也想不起来了,于是搜索了资料,写了个工具,以解燃眉之急。
其实WINDOWS的登录验证是通过WINLOGON 里的msv1_0.dll验证密码函数msv1_0!MsvpPasswordValidate,其内部会调用RtlCompareMemory,从SAM中取出的用户密码哈希和用户输入的密码哈希,比较长度为16个字节,所以只要PATCH了这个让其返回TRUE。则可以骗过密码验证直接登录WINDOWS。一般来说我们可以写一个驱动,PATCH了这个验证函数即可。但实际上出问题的时候,我们可能根本无法登录进WINDOWS,也无法安装我们的驱动,但通过利用BOOTKIT的方式,我们可以用U盘启动一个WINPE,然后在WINPE里安装我们的bootkit到硬盘的MBR里,然后启动系统,即可。老外以前写过一个简单的例子,但只支持XP,但在这个BOOTKIT技术已经烂大街的年代了,扩展到支持VISTA,WIN7 32位,也很容易。但WIN7 64则要麻烦点,因为要涉及到PATCH GUARD的处理,虽然也提供了支持,但可能有些系统下会起不来,目前只测试了WIN7 64和WIN2008 R2的部分系统,支持上来说不如32位完善,而32位下则除了WIN8以外,基本都能支持。
currently only support 32bit xp,2003,vista,win7!
maybe support 64bit win7!
syntax:
PwdIgnore /dump
PwdIgnore /restoredump
PwdIgnore /xp
PwdIgnore /win7
PwdIgnore /win7x64

首先使用/dump在当前目录下生成MBR.BIN文件,以供恢复原来的MBR使用,通过 /restoredump 来恢复MBR.
如果目标登录系统是32位的 2000,XP,2003 则使用   /xp 写入XP系列的BOOTKIT
如果目标登录系统是32位的 vista win7 则使用   /win7写入win7系列的BOOTKIT
如果目标登录系统是64位的 win7 2008 r2   则使用   /win7x64写入win7 64位系列的BOOTKIT 。
其他系统请勿使用,否则可能会导致系统无法启动,当然也可以在任何时候进WINPE下通过/restoredump 来恢复MBR 。
如果在非WINPE下,存在其他杀软的时候,写入MBR可能会被杀软阻止,点允许即可,如果是无提示写入的话,说明你需要更新你的杀软了,建议使用360安全卫士,防御效果来说还是不错的,嘿嘿。



Hmily 发表于 2013-1-22 10:43

大肉鸡又写木马了!不过挺实用。

yzh07137 发表于 2015-5-19 15:47

wowocock 发表于 2013-2-4 11:00
密码还是存在,没有任何修改,只是在验证的时候,被欺骗成验证通过,对原始密码无影响。

楼主求源码,,,新手表示最近就想把这个吃透一下。
carberp那个没有说明文档,,都是一堆代码,不知道怎么弄

zeif 发表于 2013-1-22 10:45

信肉鸡者得boot

system98 发表于 2013-1-22 10:45

建议使用360安全卫士,防御效果来说还是不错的       全文亮点

Dangzki 发表于 2013-1-22 10:45

围观。。。

五爷 发表于 2013-1-22 10:48

大肉鸡好邪恶啊。。。

q498019123 发表于 2013-1-22 10:48

11111111111111111111

Netsd_E 发表于 2013-1-22 10:54

求源码,无码无鸡鸡~

xjun 发表于 2013-1-22 10:57

好帖子必须来顶,膜拜众位大牛。

圣母皇太后 发表于 2013-1-22 11:00

真乃神人也。务必膜拜之。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 使用Bootkit绕过Windows 登录密码