這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何實(shí)現(xiàn)Windows 10進(jìn)程鏤空技術(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷、微信平臺(tái)小程序開發(fā)、網(wǎng)站運(yùn)營(yíng)為一體的建站企業(yè);在網(wǎng)站建設(shè)告別千篇一律,告別似曾相識(shí),這一次我們重新定義網(wǎng)站建設(shè),讓您的網(wǎng)站別具一格。響應(yīng)式網(wǎng)站,實(shí)現(xiàn)全網(wǎng)營(yíng)銷!一站適應(yīng)多終端,一樣的建站,不一樣的體驗(yàn)!
在Win10 x64環(huán)境下替換正常的進(jìn)程,是一個(gè)比較高超的技術(shù)。使用該技術(shù),可以內(nèi)存執(zhí)行病毒、木馬。在文件層面實(shí)現(xiàn)免殺??梢园岩粋€(gè)木馬使用DES加密,放在資源里。執(zhí)行時(shí),從資源里釋放出來(lái),在內(nèi)存里進(jìn)行DES解密,注入到一個(gè)系統(tǒng)的進(jìn)程中。
1. VisualStudio 2015 企業(yè)版
2. 普通程序 Notepad.exe (C:\windows\system32\Notepad.exe)
3. 木馬程序 MalWare.exe
4. 源碼下載地址,http://www.isafe.cc/article.asp?id=77
5. EXE下載地址,http://www.isafe.cc/article.asp?id=77
創(chuàng)建一個(gè)掛起的進(jìn)程notepad.exe->讀取線程上下文->讀取進(jìn)程內(nèi)存->讀取Notepad.exe原始入口點(diǎn)->卸載Notepad.exe占用的內(nèi)存->將MalWare.exe二進(jìn)制放入內(nèi)存緩沖區(qū)->在Notepad.exe進(jìn)程中分配一個(gè)內(nèi)存空間->將MalWare.exe注入到Notepad.exe的進(jìn)程里->修改Notepad.exe的區(qū)段->修改Notepad.exe的入口點(diǎn)->恢復(fù)主線程->成功注入。
BOOL WINAPI CreateProcess( _In_opt_ LPCTSTR lpApplicationName, _Inout_opt_ LPTSTR lpCommandLine, _In_opt_ LPSECURITY_ATTRIBUTESlpProcessAttributes, _In_opt_ LPSECURITY_ATTRIBUTESlpThreadAttributes, _In_ BOOL bInheritHandles, _In_ DWORD dwCreationFlags, _In_opt_ LPVOID lpEnvironment, _In_opt_ LPCTSTR lpCurrentDirectory, _In_ LPSTARTUPINFO lpStartupInfo, _Out_ LPPROCESS_INFORMATIONlpProcessInformation);
a.) lpApplicationName 這個(gè)參數(shù)是可執(zhí)行文件的路徑。例如
c:\programfiles\sub dir\program.exe
c:\program files\a.exe
netstat
b.) lpCommandLine 這個(gè)表示應(yīng)用程序的參數(shù)。例如 -an
c.) lpProcessAttributes 進(jìn)程屬性結(jié)構(gòu)體變量
d.) lpThreadAttributes 線程屬性結(jié)構(gòu)體變量
e.) bInheritHandles 指定當(dāng)前進(jìn)程內(nèi)句柄不可以被子進(jìn)程繼承
f.) dwCreationFlags 進(jìn)程創(chuàng)建標(biāo)識(shí)符,CREATE_SUSPENEDE 表示創(chuàng)建一個(gè)掛起的進(jìn)程。
g.) lpEnvironment 指向一個(gè)新進(jìn)程的環(huán)境塊。如果此參數(shù)為空,新進(jìn)程使用調(diào)用 進(jìn)程的環(huán)境。
h.) lpCurrentDirectory 指向一個(gè)以NULL結(jié)尾的字符串,這個(gè)字符串用來(lái)指定子進(jìn)程的 工作路徑。這個(gè)字符串必須是一個(gè)包含驅(qū)動(dòng)器名的絕對(duì)路徑。如果這個(gè)參數(shù)為NULL,新進(jìn)程將使用與調(diào)用進(jìn)程相同的驅(qū)動(dòng)器和目錄。
i.) lpStartupInfo 指向一個(gè)用于決定新進(jìn)程的主窗體如何顯示的STARTUPINFO結(jié) 構(gòu)體。
j.) lpProcessInformation保存進(jìn)程所有信息的結(jié)構(gòu)體變量。
CreateProcess函數(shù)用于創(chuàng)建一個(gè)進(jìn)程,cAppName為C:\\Windows\\notepad.exe,是程序文件的路徑,第6個(gè)參數(shù)為CREATE_SUSPENDED,表示創(chuàng)建一個(gè)掛起的進(jìn)程。最后2個(gè)參數(shù)si,pi保存了進(jìn)程的相關(guān)信息(進(jìn)程的句柄,線程的句柄等)。
GetThreadContext函數(shù)用于獲取線程上下文。
Pi.hThread為線程句柄,
context線程信息結(jié)構(gòu)體。
ReadProcessMemory函數(shù)用于讀取另一個(gè)進(jìn)程的內(nèi)存。這里dwVictimBaseAddr存放讀取的數(shù)據(jù),大小為4個(gè)字節(jié)。
原型
BOOL ReadProcessMemory(HANDLE hProcess,LPCVOIDlpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORDlpNumberOfBytesRead);
第一個(gè)參數(shù)hProcess,要讀取的進(jìn)程句柄。
第二個(gè)參數(shù)lpBaseAddress,要讀取的進(jìn)程的內(nèi)存首址。開始地址。
第三個(gè)參數(shù)lpBuffer,接收數(shù)據(jù)內(nèi)容的緩沖區(qū)。
第四個(gè)參數(shù) nSize,從內(nèi)存中讀取的字節(jié)數(shù)。
第五個(gè)參數(shù)lpNumberOfBytesRead,已經(jīng)讀取的字節(jié)數(shù)。
函數(shù)返回0表示調(diào)用失敗。
pfnNtUnmapViewOfSection函數(shù)用于卸載進(jìn)程占用的內(nèi)存
VirtualAllocEx函數(shù)用于在指定進(jìn)程中分配一個(gè)內(nèi)存空間。
函數(shù)原型:
LPVOIDVirtualAllocEx(HANDLE hProcess,LPVOIDlpAddress,SIZE_T dwSize,DWORDflAllocationType,DWORD flProtect);
第一個(gè)參數(shù)hProcess,需要在其中分配空間的進(jìn)程的句柄。
第二個(gè)參數(shù)lpAddress,分配的內(nèi)存首址。
第三個(gè)參數(shù) dwSize,分配的內(nèi)存大小。
第四個(gè)參數(shù)flAllocationType,內(nèi)存區(qū)域的類型。
第五個(gè)參數(shù)flProtect,內(nèi)存保護(hù)屬性。
WriteProcessMemory函數(shù)用于向Notepad.exe進(jìn)程寫入任何數(shù)據(jù)。
函數(shù)原型:
BOOL WINAPI WriteProcessMemory( HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesWritten );
第一個(gè)參數(shù)hProcess,待操作的進(jìn)程句柄。
第二個(gè)參數(shù) lpBaseAddress,要寫入數(shù)據(jù)的起始地址。
第三個(gè)參數(shù)lpBuffer,要寫入數(shù)據(jù)的緩沖區(qū)首址。
第四個(gè)參數(shù) nSize, 要寫入數(shù)據(jù)的長(zhǎng)度。
第五個(gè)參數(shù)lpNumberOfBytesWritten,已寫入的數(shù)據(jù)長(zhǎng)度。
SetThreadContext()函數(shù)用于恢復(fù)線程上下文,這里指定了新的入口點(diǎn)地址 Rcx
ResumeThread ()函數(shù)用于啟動(dòng)掛起的線程。
必須用Visual Studio 2015進(jìn)行編譯。源碼下載(http://www.isafe.cc/article.asp?id=77)
在“解決方案資源管理器”中,右鍵->重新生成
在輸出窗口中看到成功1個(gè)(注意這里生成的是一個(gè)Release版的64位程序)
源碼下載(http://www.isafe.cc/article.asp?id=77)
打開VS2015,點(diǎn)擊菜單[文件]->[打開]->[項(xiàng)目/解決方案]。
打開Malware.vcxproj工程文件,進(jìn)行編譯,模式為Release,平臺(tái)為x64。
在輸出窗口中,提示成功1個(gè)。
將ProcessReplacement.exe拖入虛擬機(jī)。
雙擊,提示
看樣子是缺少什么文件?將VS2015環(huán)境下的文件vcruntime140.dll,復(fù)制到虛擬機(jī)
雙擊執(zhí)行ProcessReplacement.exe
小編介紹的Win10 x64進(jìn)程鏤空技術(shù),可以在文件層面實(shí)現(xiàn)木馬免殺。
上述就是小編為大家分享的如何實(shí)現(xiàn)Windows 10進(jìn)程鏤空技術(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:如何實(shí)現(xiàn)Windows10進(jìn)程鏤空技術(shù)
當(dāng)前地址:http://jinyejixie.com/article20/gggejo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站制作、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)