絕對牛逼哄哄的shellcode內存注入

絕對牛逼哄哄的shellcode內存注入

來自專欄看雪論壇4 人贊了文章

論壇上內存注入的帖子不止三兩個,來來去去也就那樣,無非抄來抄去說原創。我也是抄的,不敢說原創,但是牛逼還是說的過去。支持注入任意進程,包括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運行就能看到效果了。

源碼里有很詳細的注釋,這裡就不貼源碼解釋了,都放在附件里。(從原文鏈接,即可獲得附件)

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

再給新手說下shellcode提取,要設置項目屬性->C/C++->代碼生成->安全檢查=禁用安全檢查。

項目本身就設置好了,直接用就行了。

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

- End -

原文作者:lononan

原文鏈接:bbs.pediy.com/thread-24

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

看雪閱讀推薦:

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

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

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

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


推薦閱讀:

TAG:內存RAM | 虛擬內存 | 科技 |