• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-60  評(píng)論-262  文章-1  trackbacks-0
            今天終于完成了往 vista 內(nèi)所有 ring 3 進(jìn)程的注入. 包括 csrss.exe 進(jìn)程.

            主要的中心思想就是,
                1. 提升本進(jìn)程訪問令牌, 使其有調(diào)試權(quán)限.
                2. 獲得本進(jìn)程的當(dāng)前線程的內(nèi)核對(duì)象的安全描述符, 將其復(fù)制出來備用.
                3. 準(zhǔn)備遠(yuǎn)程線程的執(zhí)行代碼以及執(zhí)行參數(shù). 其中包括 loadlibrarya 和 RtlExitUserThread 調(diào)用, 例子嘛, 本來前一篇文章里有, 再次貼在這里方便各位看官.
            #define LoadLibraryA_ADDR       0xDDDDDDDD 
            #define RtlExitUserThread_ADDR  0xEEEEEEEE 

            static __declspec(naked) DWORD WINAPI ThreadDummy(LPVOID lpParam) 
            {
                __asm { 
                    push    dword ptr [esp
            +4]           ; // 將傳進(jìn)來的線程函數(shù)的參數(shù)壓棧 
                    mov     eax, LoadLibraryA_ADDR      ; // LoadLibraryA 或 FreeLibrary 函數(shù)的地址 
                    call    eax                         ; // 調(diào)用 LoadLibraryA 函數(shù)
                    push    eax                         ; // 將 RtlExitUserThread 函數(shù)的參數(shù)壓棧
                    mov     eax, RtlExitUserThread_ADDR ; // RtlExitUserThread 函數(shù)的地址 
                    call    eax                         ; // 調(diào)用 RtlExitUserThread 函數(shù)
                    ret     4                           ; // 返回 
                } 
            }

                4. 以第 2 步獲取的安全描述符以及第 3 步準(zhǔn)備的代碼和數(shù)據(jù)作為參數(shù)調(diào)用 RtlCreateUserThread 函數(shù), 在目標(biāo)進(jìn)程創(chuàng)建遠(yuǎn)線程. 等待執(zhí)行完畢.
                5. 清理第 2 步和第 3 步分配的內(nèi)存. 整個(gè)過程完畢.

            總結(jié): 整個(gè) dll injection 的探索開發(fā)歷時(shí)月余, 開始看似順利, 后期艱難困苦. 特別是那個(gè)超級(jí)變態(tài)要求: 必須注入到 csrss.exe 進(jìn)程里去. 從普通的 SetWindowHookEx 和 known dll, 到 CreateRemoteThread, 最后到 NtCreateThread 以及 NtCreateThreadEx, 最后回歸到 RtlCreateUserThread 函數(shù). 中間夾雜了 DPC, APC, 以及在內(nèi)核修改 knowndlls\\kernel32.dll 可執(zhí)行映像 inline hook CreateThread 函數(shù)等等等等. 從應(yīng)用層到內(nèi)核, 再回歸應(yīng)用層, 搞了個(gè)遍.

            現(xiàn)在我可以牛逼哄哄的說一句了, Injection DLL? Just so so!!!

            順便 BS 一下 Rising, 這個(gè)寶貝殺軟竟然直接 kill 掉了所有遠(yuǎn)程線程函數(shù), 不對(duì)用戶做任何通知和給用戶選擇的機(jī)會(huì). 但我在內(nèi)核修改任何可執(zhí)行映像時(shí), 這個(gè)寶貝卻愉快的告訴我, 我的系統(tǒng)很安全. 再次 BS 一下.

            一個(gè)小小的測(cè)試程序, 在這里下載

            posted on 2008-06-20 11:24 free2000fly 閱讀(3265) 評(píng)論(11)  編輯 收藏 引用

            評(píng)論:
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-20 12:58 | cppexplore
            描述的太簡(jiǎn)單太簡(jiǎn)單了 看了之后難以跟進(jìn)重現(xiàn)啊
            放首頁,炫耀意義大于借鑒意義  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-20 13:01 | free2000fly
            @cppexplore
            工作成果, 不便公開詳情, 可以看看頭兩篇文章, 相信您會(huì)明白究竟的.   回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) [未登錄] 2008-06-20 13:10 | CppExplore
            @free2000fly
            不好意思 原來是是連續(xù)的 呵呵   回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-22 23:04 | 影視劇
            博主就是牛啊,牛是要有資本滴。贊一個(gè)  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-23 12:52 | 查看
            大哥, 你以前是搞驅(qū)動(dòng)的吧?
            QQ:244089156  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-23 14:43 | free2000fly
            @查看
            是啊, 現(xiàn)在也是  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-27 14:24 | UI Automation
            能不能給點(diǎn)提示,如何提升token的權(quán)限?我給你發(fā)了留言,有問題想請(qǐng)教。  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-27 14:44 | free2000fly
            @UI Automation
            提升令牌權(quán)限的代碼滿大街都是. 沒什么稀奇的.
            至于要注入到所有進(jìn)程, 當(dāng)然得編寫驅(qū)動(dòng)了, 不然你就得時(shí)時(shí)刻刻枚舉進(jìn)程的總數(shù), 然后一個(gè)一個(gè)注入, 累死你, 而且效率低下, 實(shí)時(shí)性也不強(qiáng).   回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-06-29 16:33 | UI Automation
            謝了,我嘗試了下dll Process_Attach事件時(shí),同時(shí)安裝系統(tǒng)鉤子,似乎還行在Vista上,以后再有問題繼續(xù)請(qǐng)教,呵呵.  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-12-15 14:49 | 啊啊啊
            幾百年前的東西還在研究, 真讓人吃精.  回復(fù)  更多評(píng)論
              
            # re: 完成 windows nt 系列的 DLL injection 功能的開發(fā) 2008-12-15 14:58 | free2000fly
            @啊啊啊
            吃精!? 你真幽默  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            91视频国产91久久久| 精品久久人人做人人爽综合| 伊人久久大香线蕉精品不卡| 久久久无码精品亚洲日韩蜜臀浪潮| 久久人人添人人爽添人人片牛牛| 精品国产99久久久久久麻豆| 久久综合综合久久97色| 热综合一本伊人久久精品| 亚洲精品乱码久久久久久久久久久久 | 99热都是精品久久久久久| 色综合久久天天综线观看| 久久国产精品99国产精| 久久久久国产精品嫩草影院| 波多野结衣AV无码久久一区| 精品国产综合区久久久久久| 久久精品中文无码资源站 | 久久久久国产亚洲AV麻豆| 亚洲AV日韩精品久久久久久 | 久久久久人妻一区二区三区vr | 久久中文字幕人妻丝袜| 99久久国产免费福利| 亚洲va久久久噜噜噜久久| 欧美午夜A∨大片久久| 久久精品免费一区二区三区| 中文字幕乱码久久午夜| 久久久久国产一区二区| 青青草原综合久久大伊人精品| 婷婷久久久亚洲欧洲日产国码AV| 久久人人青草97香蕉| 日本加勒比久久精品| 久久精品国产只有精品66| 青青草国产成人久久91网| 久久精品视频免费| 国产精品久久久久9999| 久久久久无码精品国产| 久久成人国产精品| 国产成人综合久久综合| 99精品久久久久中文字幕| 久久久精品一区二区三区| 久久精品国产亚洲网站| 国产毛片久久久久久国产毛片 |