⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syskey.txt

📁 修改NT密码的程序
💻 TXT
字号:
The Offline NT Password Editor(c) 1997-2000 Petter Nordahl-HagenUpdate: 01 apr 2000What happens when syskey is installed, and how to get rid of it---------------------------------------------------------------Background:-----------Syskey was added to NT with Service Pack 3 as a way to prevent easyaccess to the actual password hashes in the SAM (Security Accounts Manager)The original methods of making and storing the hashes makes itrather easy to bruteforce or dictionary-attack it to find the plaintextpasswords. (mostly caused by a somewhat flawed implementation & useof the cryptoalgorithms involved, but that's discussed elsewhere)Enabling syskey is optional, the administrator must run syskey.exe andanswer some dialog-boxes to turn it on. On Windows 2000 it's not optionalanymore, it's enabled by default at installation time.When syskey is active, the hashes are encrypted/obfuscated yetanother time before being stored in the SAM registry.However, they're stored in the old form in memory after boot(pwdump2 demonstrates this),since the old form is needed for NTLM authentication on the network etc.The key that obfuscates the hashes, or rather it looks like somethingthat decrypts the key, can be stored on floppy, generated from apassphrase to be entered at boot, or stored (obfuscated again) inthe registry.There's no official supported method to switch off syskeyonce activated, except restoring the registry from a rescuefloppymade before activation of syskey.So.. what's this got to do with my utility?-------------------------------------------My utility doesn't try to crack passwords, it puts new hashes intothe SAM, thus changing a users password. And it does this offline.Syskey was a showstopper for this.As far as I can see, there's 2 ways to solve this:1) Find the key in registry, get user to enter it, or get hold of floppy   then use the syskey on the new password too. However, it's not documented   and I haven't found any reverse engineering of it anyplace.2) Try to turn it off. This has one drawback, and one good side:   Bad: all passwords must be reset, since the old hashes will be invalid.   VeryBAD: SWITHCHING OFF IN WINDOWS 2000 NOT PERFECT,            WILL CAUSE TROUBLE, but you can access the computer            afterwards. Domain relationships & syskey may be            impossible to change after this, requiring a reinstall            (or possibly only an upgrade)   Good: There's no need for the key (which may be lost).3) (NEW 2000-04-01, no, not a joke) Insert old styles password-hashes   into the SAM, will be converted to syskey-hashes on next boot.   This is how syskey is enabled on NT4, the hashes won't be touched   until the first reboot after turning on syskey.I've found out how to do #2 and #3.What happens when syskey is turned on, and how to turn it off again:--------------------------------------------------------------------- 1 -Serveral new keys are added to HKLM\System\CurrentControlSet\Control\Lsa,it seems that most of the keys/values is used for the obfuscation of the keythey change when syskey is updated.However the value named 'SecureBoot' holds the mode of syskey:  1 - Key in registry  2 - Enter passphrase  3 - Key on floppyBut removing this key (or setting it to 0) isn't enough to disablesyskey. There's more..- 2 -HKLM\SAM\Domains\Account\F is a binary structure usually containing the computerSID and some other stuff related to that.When syskey is installed it's expanded (about twice the size), with somethingI guess is the key heavily encrypted + some flags and other values.One of these other flag/values also contains the same mode as SecureBoot above.So.. resetting this mode flag and SecureBoot to 0 is all that's neededto switch off syskey in NT4 (up to SP6 at time of writing). Changing only one of themresults in a warning about inconsistencies between the SAM and system settingson completed boot, and syskey is re-invoked.- 3 -On Windows 2000 there's yet another place info about syskey is stored:HKLM\security\Policy\PolSecretEncryptionKey\<default>which also is a binary structure, but also there the mode is stored.Reset this to 0, and syskey is gone on win2k.(if there's a mismatch between the three, it silently resets them to the most likely value on boot)- 4 -Then there's the password hashes.The usual (old) hashlength is 16 bytes, but all hashes are expanded to 20 byteswith syskey, the first 4 bytes looks like some kind of counter. (maybehistory-counter?).Strangely, they're not updated at once when syskey is turned on,update of the hashes happens during next reboot after syskey has been turned on.And when the key is later updated, the hashes are also updated?NO!! Strangely it SEEMS like the password hashes REMAINS THE SAME!(however, the binaries in the 3 keys noted above changes..)I'll try to dig more into this. Help wanted :)When syskey has been switched off, all passwords must be reset.My utility will write and adjust hash-lengths of the users (usuallyadministrator) that you reset the password for.NT itself will fix the rest of the hashes when you set new passwordsfrom NT.And yes, it's possible to re-enable syskey after turning it off.(not on win2k, yet!)So, anybody reverse engineered the whole syskeystuff?(yes, I know something's on it's way..)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -