首页
社区
课程
招聘
[讨论]如何不释放资源DLL到硬盘并注入别的进程运行
2014-5-7 23:33 13251

[讨论]如何不释放资源DLL到硬盘并注入别的进程运行

2014-5-7 23:33
13251
内存加载资源DLL的看到蛮多的了
不晓得如果注入的话要如何实现
假设现有现成的DLL
不对DLL做任何改写
仅把DLL作为资源或数组形式写在自身文件
如何编程实现

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (28)
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
AioliaSky 1 2014-5-8 00:45
2
0
可执行文件,都是从硬盘加载到内存的
不排除一些非常规手段,类似PE装载器,可以从自身加载
雪    币: 2847
活跃值: (595)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
sidyhe 1 2014-5-8 01:04
3
0
从系统的角度讲,任何镜像都是从文件加载的
都是经过ZwOpenFile,ZwCreateSection,ZwMapViewSection,再插入LDR来实现的
如果你不想释放文件,只能自己模拟镜像的加载,而模拟加载的镜像是不能被系统所承认的
在系统看来,模拟加载的镜像仅仅是一块普通的内存而已
雪    币: 215
活跃值: (90)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
HelloCrack 2014-5-8 08:58
4
0
用dll劫持
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-8 13:19
5
0
自身加载的看到论坛上有不少人发过了
但这样的注入方法能否实现呢
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-8 13:20
6
0
看来实现的难度挺大
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-8 13:21
7
0
想实现硬盘上不存在DLL的注入法
雪    币: 8861
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2014-5-8 13:37
8
0
写个shellcode远程内存LoadDLL就行了~把DLL作为一块内存投递给shellcode就行了~
在目标进程申请一大块内存,把DLL复制进去
在目标进程申请另一个大块内存,把shellcode复制进去
远程线程在目标进程运行 shellcode,参数是dll那大块内存。
然后问题就解决了~
雪    币: 74
活跃值: (193)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
alazif 2014-5-11 14:58
9
0
←_←不知道这个想法可不可行, 首先 ,申请一块内存 ,把dll 按照peloader的方式加载到这块内存中.   然后申请一块 Mapping File ,吧dll那块内存拷贝到Mapping File里, 然后对目标进程创建远线程,远线程里执行包括申请一块内存,读取Mapping File并拷贝到那块内存中,再重定位和修复导入表.......
雪    币: 339
活跃值: (133)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
地狱怪客 2 2014-5-11 15:36
10
0
从网络加载DLL到内存。。。
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-11 18:10
11
0
大块内存法
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-11 18:11
12
0
同大块内存法的思路
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-11 18:13
13
0
貌似都是要用shellcode才能实现了
雪    币: 2660
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
安于此生 34 2014-5-14 14:05
14
0
恩,分析过类似样本是通过shellcode来实现的
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-14 17:36
15
0
难怪找不到相关源码
高大上的技术
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
youyouyue 2014-5-27 10:49
16
0
www.rohitab.com/discuss/topic/40160-inject-code-into-other-processes-using-pe-injection/
没有dll,所有功能都在exe中实现,无需释放文件到磁盘
雪    币: 221
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
半斤八兩 10 2014-5-27 11:18
17
0
J师傅,上次不是给你发了一个load 的 shellcode吗.
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-27 18:34
18
0
找了个还需要获取地址的
这个竟然不用获取地址
雪    币: 12237
活跃值: (3310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xJJuno 2014-5-27 18:35
19
0
那个是LOAD硬盘DLL吧
雪    币: 221
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
半斤八兩 10 2014-5-27 19:54
20
0


不用啊,传的一个参数是内存地址.
雪    币: 26
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
萧柚 2014-5-28 17:25
21
0
可以考虑采用代码注入,注入的代码中包含PeLoader代码.
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
heting 2014-6-8 18:43
22
0
可以无dll,也不用写shellcode
用数据结构,里面全是指针,往目标进程里写入多次,写好多,就用两段结构相减,就是要写大小。
原理就是kernel32.dll里的函数的地址,都一样。
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
AASSMM 2014-6-8 19:54
23
0
同求一份。。。。8爷发个附件吧!
雪    币: 221
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
半斤八兩 10 2014-6-8 23:09
24
0
那是一个朋友写的.
只支持xp.
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
madkarl 2014-6-9 00:22
25
0
简单说 就是在程序里申请一块内存 然后根据PE加载的格式 把你的DLL填入内存就行了。
游客
登录 | 注册 方可回帖
返回