絕對牛逼哄哄的shellcode記憶體注入,支援64,32,遠端記憶體注入,支援VMP殼最大強度保護

Editor發表於2018-09-25

論壇上記憶體注入的帖子不止三兩個,來來去去也就那樣,無非抄來抄去說原創。我也是抄的,不敢說原創,但是牛逼還是說的過去。支援注入任意程式,包括csrss,前提是你能有讀寫程式記憶體的許可權。看到MemLoadLibrary2註釋的人,如果覺得有點熟悉,那你一定老了。哈哈哈,因為這個MemLoadLibrary2的原型,沒記錯的話,應該是2009年以前的一個memoryloaddll。具體是誰寫的我也不懂了。包括現在的論壇上出現的各種MemoryLoad,我基本上都能看到這個memoryloaddll的身影。


整體原始碼很簡單,就兩個檔案,loader2.h和MainLoad.cpp。

loader2.h 是主要功能,包含:


  • MemLoadLibrary2 ()//為了方便提取shellcode,把重定位修復什麼的都寫到了這一個函式裡面去了,而且只有一個return 返回;
  • 同時為了能實現注入csrss.exe,把所有的Windows API 都弄成了NTDLL的API。

MainLoad.cpp是呼叫例子,裡面包含:


  • SaveShellCode();//提取shellcode寫到檔案;
  • test1();//直接呼叫 MemLoadLibrary2();記憶體載入DLL;
  • test2();//獲取 SaveShellCode 儲存的shellcode,遠端呼叫shellcode記憶體注入DLL。


選擇EXE和DLL各編譯一次,生成對應的x86或者x64的EXE和DLL執行就能看到效果了。


絕對牛逼哄哄的shellcode記憶體注入,支援64,32,遠端記憶體注入,支援VMP殼最大強度保護


原始碼裡有很詳細的註釋,這裡就不貼原始碼解釋了,都放在附件裡。(從原文連結,即可獲得附件)


絕對牛逼哄哄的shellcode記憶體注入,支援64,32,遠端記憶體注入,支援VMP殼最大強度保護



絕對牛逼哄哄的shellcode記憶體注入,支援64,32,遠端記憶體注入,支援VMP殼最大強度保護


SaveShellCode ()儲存起來的shellcode可以直接拿到什麼易語言,驅動之類的去用,只要引數傳的對了,就沒毛病。


絕對牛逼哄哄的shellcode記憶體注入,支援64,32,遠端記憶體注入,支援VMP殼最大強度保護


再給新手說下shellcode提取,要設定專案屬性->C/C++->程式碼生成->安全檢查=禁用安全檢查。


專案本身就設定好了,直接用就行了。


面對當前各種安全檢測,單純的記憶體注入是行不通的,具體要怎麼處理,還是得靠自己多轉變下思維。






原文作者:lononan

原文連結:https://bbs.pediy.com/thread-246934.htm

轉載請註明:轉自看雪學院



看雪閱讀推薦:


1、[翻譯] 使用S2E分析基於觸發器的惡意軟體


2、[原創]使用frida來hook加固的Android應用的java層


3、[原創]去一個小廣告


4、[原創]Unity3D mono模式遊戲保護之淺談

相關文章