绝对牛逼哄哄的shellcode内存注入,支持64,32,远程内

2018-09-25  本文已影响495人  看雪学院

论坛上内存注入的帖子不止三两个,来来去去也就那样,无非抄来抄去说原创。我也是抄的,不敢说原创,但是牛逼还是说的过去。支持注入任意进程,包括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

原文链接:https://bbs.pediy.com/thread-246934.htm

转载请注明:转自看雪学院

看雪阅读推荐:

1、[翻译] 使用S2E分析基于触发器的恶意软件

2、[原创]使用frida来hook加固的Android应用的java层

3、[原创]去一个小广告

4、[原创]Unity3D mono模式游戏保护之浅谈

上一篇下一篇

猜你喜欢

热点阅读