版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、主要函數(shù) :CreateRemote Thread()LoadLibreary()Thread()VirtualAllocEx()線(xiàn)程注入基本步驟1. 提升權(quán)限通常為 DEBUG2. 調(diào)用 OpenProcess 函數(shù)打開(kāi)目標(biāo)進(jìn)程 , 返回進(jìn)程句柄3. 申請(qǐng)空間,寫(xiě)入要注入的DLL名,返回內(nèi)存空間首地址4. 調(diào)用 GetProcAddress 函數(shù)得到 LoadLibrary 函數(shù)地址5. 調(diào)用 CreateRemoteThread 函數(shù)創(chuàng)建并啟動(dòng)線(xiàn)程 現(xiàn)在逐個(gè)解決首先,提升權(quán)限int EnableDebugPriv(const char * name) /提升進(jìn)程為 DEBUC權(quán)限HANDL
2、E hToken;TOKEN_PRIVILEGES tp;LUID luid;if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken) )printf(OpenProcessToken errorn);return 1;if(!LookupPrivilegeValue(NULL,name,&luid)printf(LookupPrivilege error!n);tp.PrivilegeCount = 1;tp.Privileges0.Attributes =SE_PRIVILE
3、GE_ENABLED;tp.Privileges0.Luid = luid;if(!AdjustTokenPrivileges(hToken,0,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL) ) printf(AdjustTokenPrivileges error!n);return 1;return 0;該函數(shù)用于提升進(jìn)程為DEBUG權(quán)限,函數(shù)入口為進(jìn)程名2. 接下來(lái) , 得到進(jìn)程句柄OpenProcess(PROCESS_ALL_ACCESS,F(xiàn)ALSE,dwRemoteProcessId) /取得所有權(quán)3. 現(xiàn)在就開(kāi)始向系統(tǒng)申請(qǐng)所需內(nèi)存空間 char *
4、pszLibFileRemote;pszLibFileRemote=(char *)VirtualAllocEx( hRemoteProcess,NULL, lstrlen(DllFullPath)+1, MEM_COMMIT, PAGE_READWRITE); if(pszLibFileRemote=NULL)printf(VirtualAllocEx errorn);return FALSE;if(WriteProcessMemory(hRemoteProcess,pszLibFileRemote,(void *)DllFullPath,lstrlen(DllFullPath)+1,NUL
5、L) = 0)printf(WriteProcessMemory errorn);return FALSE;在往后就是得到 LoadLibraryA 函數(shù)地址PTHREAD_START_ROUTINE pfnStartAddr=(PTHREAD_START_ROUTINE) GetProcAddress(GetModuleHandle(TEXT(Kernel32),LoadLibraryA); if(pfnStartAddr = NULL)printf(GetProcAddress errorn);return FALSE;最后就是啟動(dòng)線(xiàn)程了呵呵if( (hRemoteThread = Cre
6、ateRemoteThread(hRemoteProcess,NULL,0, pfnStartAddr,pszLibFileRemote,0,NULL)=NULL)printf(CreateRemoteThread errorn);return FALSE;return TRUE;以下是完整源代碼頭文件 :#include #include #include #ifndef FUN_H#define FUN_Hint EnableDebugPriv(const char * name) /提升進(jìn)程為 DEBUC權(quán)限HANDLE hToken;TOKEN_PRIVILEGES tp;LUID l
7、uid;/ 打開(kāi)進(jìn)程令牌環(huán)if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken) )printf(OpenProcessToken errorn);return 1;/ 獲得進(jìn)程本地唯一 IDif(!LookupPrivilegeValue(NULL,name,&luid)printf(LookupPrivilege error!n);tp.PrivilegeCount = 1;tp.Privileges0.Attributes =SE_PRIVILEGE_ENABLED;tp.
8、Privileges0.Luid = luid;/ 調(diào)整進(jìn)程權(quán)限if(!AdjustTokenPrivileges(hToken,0,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL) ) printf(AdjustTokenPrivileges error!n);return 1;return 0;注入函BOOL InjectDll(const char *DllFullPath, const DWORD dwRemoteProcessId) /數(shù)HANDLE hRemoteProcess;/ 獲得調(diào)試權(quán)限if(EnableDebugPriv(SE_DEBUG_N
9、AME)printf(add privilege error);return FALSE;/ 打開(kāi)目標(biāo)進(jìn)程if(hRemoteProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwRemoteProcessId)=NULL)printf(OpenProcess errorn);return FALSE;char *pszLibFileRemote;/ 申請(qǐng)存放 dll 文件名的路徑pszLibFileRemote=(char *)VirtualAllocEx( hRemoteProcess,NULL, lstrlen(DllFullPath)+1,MEM
10、_COMMIT, PAGE_READWRITE);if(pszLibFileRemote=NULL)printf(VirtualAllocEx errorn);return FALSE;/ 把 dll 的完整路徑寫(xiě)入到內(nèi)存,if(WriteProcessMemory(hRemoteProcess,pszLibFileRemote,(void *)DllFullPath,lstrlen(DllFullPath)+1,NULL) = 0)printf(WriteProcessMemory errorn);return FALSE;/ 得到 LoadLibraryA 函數(shù)地址PTHREAD_STAR
11、T_ROUTINE pfnStartAddr=(PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle(TEXT(Kernel32),LoadLibraryA);if(pfnStartAddr = NULL)printf(GetProcAddress errorn);return FALSE;HANDLE hRemoteThread;/ 啟動(dòng)遠(yuǎn)程線(xiàn)程if( (hRemoteThread = CreateRemoteThread(hRemoteProcess,NULL,0,pfnStartAddr,pszLibFileRemote,0,NULL)
12、=NULL)printf(CreateRemoteThread errorn);return FALSE;return TRUE;DWORD GetProcessID(char *ProcessName) / 獲得進(jìn)程 PIDPROCESSENTRY32 pe32; pe32.dwSize=sizeof(pe32);/ 獲得系統(tǒng)內(nèi)所有進(jìn)程快照HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap=INVALID_HANDLE_VALUE) printf(CreateToolhelp3
13、2Snapshot error); return 0;/ 枚舉列表中的第一個(gè)進(jìn)程BOOL bProcess=Process32First(hProcessSnap,&pe32); while(bProcess)/ 比較找到的進(jìn)程名和我們要查找的進(jìn)程名,一樣則返回進(jìn)程 id if(strcmp(strupr(pe32.szExeFile),strupr(ProcessName)=0)return pe32.th32ProcessID;/ 繼續(xù)查找 bProcess=Process32Next(hProcessSnap,&pe32);CloseHandle(hProcessSnap);return
14、 0;#endif主函數(shù)文件 :#include fun.hint APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)char Path255;char DllPath255;/ 得到 widnows 系統(tǒng)路徑 GetSystemDirectory(Path,sizeof(Path);/0x00 截?cái)嘧址?,得到盤(pán)符Path3=0x00;/ 得到 IE 帶路徑文件名strcat(Path,Program FilesInternet Exploreriexplore.exe);/ 啟動(dòng) IE ,為了防止系統(tǒng)中沒(méi)有 IE 進(jìn)程WinExec(Path,SW_HIDE);/ 暫停兩秒,等待 IE 啟動(dòng)Sleep(2000);/ 得到 IE 進(jìn)程DWORD Pid=GetProcessID(iexplore.exe);/ 得到程序自身路徑GetCurrentDirectory(sizeof(DllPath),DllPath);/ 得到 DLL 帶
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《汽車(chē)消費(fèi)需求特征》課件
- 《天加風(fēng)機(jī)盤(pán)管介紹》課件
- 戲水安全課件
- 贛州師范高等專(zhuān)科學(xué)?!稊?shù)量分析方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《修辭學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 課件活動(dòng)安全記錄表
- 三年級(jí)科學(xué)下冊(cè)第一單元土壤與生命第3課肥沃的土壤教案蘇教版
- 九年級(jí)化學(xué)上冊(cè)第五章燃料5.3二氧化碳的性質(zhì)和制法說(shuō)課稿新版粵教版
- 小學(xué)生宿舍用電管理制度
- 科技安全課件
- 林業(yè)標(biāo)準(zhǔn)林業(yè)調(diào)查規(guī)劃設(shè)計(jì)收費(fèi)依據(jù)及標(biāo)準(zhǔn)
- 山東昌樂(lè)二中的“271高效課堂”
- 人教版高中物理新舊教材知識(shí)對(duì)比
- 國(guó)際結(jié)算期末復(fù)習(xí)試卷5套及參考答案
- 六年級(jí)上冊(cè)數(shù)學(xué)圓中方方中圓經(jīng)典題練習(xí)
- 現(xiàn)場(chǎng)組織機(jī)構(gòu)框圖及說(shuō)明
- 《城鎮(zhèn)燃?xì)夤芾項(xiàng)l例》解讀
- 七年級(jí)數(shù)學(xué)幾何證明題(典型)
- X62W萬(wàn)能銑床電氣原理圖解析(共18頁(yè))
- 小康煤礦水文地質(zhì)類(lèi)型劃分報(bào)告
- (完整版)中央空調(diào)現(xiàn)場(chǎng)勘察信息表
評(píng)論
0/150
提交評(píng)論