




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、主要函數(shù) :CreateRemote Thread()LoadLibreary()Thread()VirtualAllocEx()線程注入基本步驟1. 提升權(quán)限通常為 DEBUG2. 調(diào)用 OpenProcess 函數(shù)打開目標(biāo)進(jìn)程 , 返回進(jìn)程句柄3. 申請空間,寫入要注入的DLL名,返回內(nèi)存空間首地址4. 調(diào)用 GetProcAddress 函數(shù)得到 LoadLibrary 函數(shù)地址5. 調(diào)用 CreateRemoteThread 函數(shù)創(chuàng)建并啟動線程 現(xiàn)在逐個解決首先,提升權(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. 接下來 , 得到進(jìn)程句柄OpenProcess(PROCESS_ALL_ACCESS,F(xiàn)ALSE,dwRemoteProcessId) /取得所有權(quán)3. 現(xiàn)在就開始向系統(tǒ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;最后就是啟動線程了呵呵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;/ 打開進(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;/ 打開目標(biāo)進(jìn)程if(hRemoteProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwRemoteProcessId)=NULL)printf(OpenProcess errorn);return FALSE;char *pszLibFileRemote;/ 申請存放 dll 文件名的路徑pszLibFileRemote=(char *)VirtualAllocEx( hRemoteProcess,NULL, lstrlen(DllFullPath)+1,MEM
10、_COMMIT, PAGE_READWRITE);if(pszLibFileRemote=NULL)printf(VirtualAllocEx errorn);return FALSE;/ 把 dll 的完整路徑寫入到內(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;/ 啟動遠(yuǎ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;/ 枚舉列表中的第一個進(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 截斷字符,得到盤符Path3=0x00;/ 得到 IE 帶路徑文件名strcat(Path,Program FilesInternet Exploreriexplore.exe);/ 啟動 IE ,為了防止系統(tǒng)中沒有 IE 進(jìn)程WinExec(Path,SW_HIDE);/ 暫停兩秒,等待 IE 啟動Sleep(2000);/ 得到 IE 進(jìn)程DWORD Pid=GetProcessID(iexplore.exe);/ 得到程序自身路徑GetCurrentDirectory(sizeof(DllPath),DllPath);/ 得到 DLL 帶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 柳編制工藝品企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 收據(jù)本企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 無縫內(nèi)衣企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 拉鏈企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 醫(yī)用塑料瓶回收企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 基于檢測行為的兩類動物傳染病模型的分析
- 移動邊緣計算系統(tǒng)分布式任務(wù)卸載與資源管理優(yōu)化
- 橡膠儲罐銷售合同范本
- 通經(jīng)除痹湯聯(lián)合撳針治療神經(jīng)根型頸椎?。L(fēng)寒濕型)的臨床觀察
- 面向區(qū)塊鏈的環(huán)簽名算法及其應(yīng)用研究
- 畜牧養(yǎng)殖設(shè)備(共73張PPT)
- 消防安全每月防火檢查記錄
- 論文寫作與學(xué)術(shù)規(guī)范 課程教學(xué)大綱
- DB32/T 4443-2023 罐區(qū)內(nèi)在役危險化學(xué)品(常低壓)儲罐管理規(guī)范
- GB/T 678-2023化學(xué)試劑乙醇(無水乙醇)
- 新能源汽車電池石墨類負(fù)極材料一體化項目環(huán)境影響評價報告書
- 高中英語-what's in a name教學(xué)課件設(shè)計
- 小學(xué)家長接送學(xué)生協(xié)議書
- 小兒腹瀉病診療規(guī)范
- IT服務(wù)連續(xù)性實現(xiàn)指南
- 采煤機維護(hù)培訓(xùn)手冊(電氣)
評論
0/150
提交評論