Windows NTLM哈希-更改密码并返回哈希

Windows NTLM哈希-更改密码并返回哈希,windows,vb.net,winforms,hash,ntlm,Windows,Vb.net,Winforms,Hash,Ntlm,我正在做一个新的项目,这将极大地帮助那些有小兄弟的人 我想到了这个想法: 获取用户的NTLM哈希,将哈希写入文本文件 更改用户的密码(cmd.exe/c net user%username%123) 密码更改后,您可以输入帐户 我不想让别人知道我是为了这个账户来的 (有人看到我更改了他的密码) 想法是: 打开sam文件,然后写回旧的哈希值 (用保存在文本文件中的旧的散列替换通过更改密码创建的新的散列。) 这意味着我不必破解密码 1.将哈希保存到文本文件中 2.更改用户的密码 3.输入帐户 4

我正在做一个新的项目,这将极大地帮助那些有小兄弟的人

我想到了这个想法:

获取用户的NTLM哈希,将哈希写入文本文件

更改用户的密码
(cmd.exe/c net user%username%123)

密码更改后,您可以输入帐户

我不想让别人知道我是为了这个账户来的 (有人看到我更改了他的密码)

想法是:

打开
sam
文件,然后写回旧的哈希值

用保存在文本文件中的旧的散列替换通过更改密码创建的新的散列。)

这意味着我不必破解密码

1.将哈希保存到文本文件中

2.更改用户的密码

3.输入帐户

4.将保存的哈希写回sam文件(用新文件替换旧文件)

5.这意味着我不必破解散列,只要写回就行了

代码(仅用于解释):


PutNtlmHashBack函数不存在

有一个函数类似于
putntlhashback

我只需要将ntlm哈希写入sam文件


我可以通过
pwdump.exe
读取所有ntlm散列,如果我可以读取它以便写入。

您可以始终使用
runas
在不同用户的帐户下运行程序(例如shell)…最舒适的方法是进入帐户
Dim un As String = Environment.UserName 'UserName

Dim Hash As String = GetNtlmPass(un) 'Get Ntlm Hash By username

Shell("cmd.exe /c net user %username% 123") 'Change the password of current user

WaitCmdDone() 'Waiting until the password is changed.

PutNtlmHashBack(un,Hash) 'put the hash back by user name - This function is not exist!.