為確保文件使用的安全,使用Windows 的用戶恐怕都無一例外地使用了“用戶名”和“密碼”組合這種方法進行系統登錄。不過,在遺忘密碼的情況下,windows系統的大門便會對登錄者說“不”,令他們無法進入。這時候如何破解Windows登陸密碼呢?這裡向你全面介紹了Windows登陸密碼破解的原理以及具體的操作和注意事項,讓我們開始逐一講述吧:
Windows登陸密碼破解原理:
windows的身份驗證一般最終都是在lsass進程,默認模塊是msv1_0.dll,而關鍵在其導出函數LsaApLogonUserEx2,
本程序通過注入代碼到lsass進程hook LsaApLogonUserEx2,截取密碼。只要有身份驗證的過程,
LsaApLogonUserEx2就會觸發,如ipc$,runsa,3389遠程桌面登陸等。
程序對不同系統做了處理,在2000,2003,xp,vista上都可以截取,
在2000,2003,xp中,通過UNICODE_STRING.Length 的高8位取xor key,如果密碼是編碼過的,則通過ntdll.RtlRunDecodeUnicodeString解碼,
vista則通過AdvApi32.CredIsProtectedW判斷密碼是否編碼過,解碼用AdvApi32.CredUnprotectW。
可以自己調試器掛lsass跑一下:)
Windows登陸密碼破解之接口問題:
HRESULT WINAPI DllInstall( BOOL bInstall, LPCWSTR pszCmdLine);
這是本dll導出的一個函數原型,請不要被名字蠱惑了,這個程序是綠色的。
這個函數內部並沒有做任何自啟動安裝的動作,沒有修改注冊表或系統文件。只是想選一個符合regsvr32調用的接口而已。
第一個參數本程序沒用到,
第二個參數請指定一個文件路徑(注意是UNICODE的),記錄到的數據將保存到這裡(是Ansi的)。
文件路徑可以像這樣 C:\x.log,
也可以像\\.\pipe\your_pipename,\\.\mailslot\yourslot
所以你可以自己寫loader來調用這個dll,讓dll截取到密碼時通過pipe或mailslot將數據發給你的程序。數據就是一個字符串(是Ansi的)
Windows登陸密碼破解的測試:
你可以不急著寫自己的loader來調用,用regsvr32作為loader來測試一下:(你可能需要關閉某些主動防御)
regsvr32 /n /i:c:\xxx.log c:\pluginWinPswLogger.dll
正常的話regsvr32彈出一個提示成功。
這時候你可以切換用戶或鎖定計算機,然後重新登陸進去,這個過程密碼信息就被攔截下來了並保存到c:\xxx.log。
然而只要了解本教程中的登錄密碼的破解原理,並提前做好准備,當再次遇到因忘記密碼而引發的尴尬事件時,便能夠利用它行使“芝麻開門”的功能,順利進入操作系統。