首页
社区
课程
招聘
[求助]Zygote注入成功,但没有加载库
发表于: 2017-4-7 21:11 9586

[求助]Zygote注入成功,但没有加载库

2017-4-7 21:11
9586

这几天一直在看腾讯的《游戏安全》,也是看到了代码注入这里。Ptrace注入已经完成,想着试下Zygote注入,就使用随书代码跑了一下。

308是zygote的pid,主要功能就是向zygote里面注入testSo.so库,这条指令执行如下:

看起来确实是执行了库里面的函数,但是logcat中看日志:

04-07 21:03:37.025 17999 17999 E debug   : inject arg:
04-07 21:03:37.033 17999 17999 E debug   : attch pass
04-07 21:03:37.054 17999 17999 E debug   : call remote mmap res:0xf037d000
04-07 21:03:37.082   308   308 I main    : type=1400 audit(0.0:336): avc: denied { read } for name="testSo.so" dev="dm-0" ino=26975 scontext=u:r:zygote:s0 tcontext=u:object_r:shell_data_file:s0 tclass=file permissive=1
04-07 21:03:37.082   308   308 I main    : type=1400 audit(0.0:337): avc: denied { open } for path="/data/local/tmp/testSo.so" dev="dm-0" ino=26975 scontext=u:r:zygote:s0 tcontext=u:object_r:shell_data_file:s0 tclass=file permissive=1
04-07 21:03:37.082   308   308 I main    : type=1400 audit(0.0:338): avc: denied { getattr } for path="/data/local/tmp/testSo.so" dev="dm-0" ino=26975 scontext=u:r:zygote:s0 tcontext=u:object_r:shell_data_file:s0 tclass=file permissive=1
04-07 21:03:37.086   308   308 I main    : type=1400 audit(0.0:339): avc: denied { execute } for path="/data/local/tmp/testSo.so" dev="dm-0" ino=26975 scontext=u:r:zygote:s0 tcontext=u:object_r:shell_data_file:s0 tclass=file permissive=1
04-07 21:03:37.087   308   308 D debug   : Where am I?__from pid:308
04-07 21:03:37.088 17999 17999 E debug   : call remote shellcode res:16385
04-07 21:03:37.088 17999 17999 E debug   : injectProcess:341 r0:-496115760, orig_r0:-496115760, r7:336, pc:-269707252, cpsr:1610678288
04-07 21:03:37.088 17999 17999 E debug   : injectProcess:360 r0 not -0x200 and -514
04-07 21:03:37.088 17999 17999 E debug   : injectProcess:362 r0 not -513
04-07 21:03:37.100 17999 17999 E debug   : inject finish

这就很尴尬了,日志中拒绝了我的各种请求,并且/proc/308/maps里面也没有我的库。而且,我在运行之前已经使用setenforce 0 来临时关闭SELinux。所以我想问下各位大大,出现这个问题是什么原因?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 210
活跃值: (641)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
我也想知道为什么,顶一下
2017-4-10 12:41
0
雪    币: 48
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
没试过Zygote注入
2017-4-10 13:11
0
雪    币: 397
活跃值: (678)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
tcontext=u:object_r:shell_data_file:s0,    改一下target  context   
http://androidxref.com/5.1.1_r6/xref/external/libselinux/src/lsetfilecon.c#10
2017-4-10 17:17
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
adb  shell
#  chcon  u:object_r:system_file:s0  /data/local/tmp/testSo.so
或者
把  /data/local/tmp/testSo.so    copy到  /system/lib  下去,重新设置selinux上下文
#  chcon  u:object_r:system_file:s0  /system/lib/testSo.so
2017-4-10 18:27
0
雪    币: 290
活跃值: (413)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
我的系统是64位的Android7,是不是和系统也有些关系?
2017-5-13 13:28
0
雪    币: 290
活跃值: (413)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
上面的方法试过之后好像都没啥效果
2017-5-13 13:30
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
4.4  setenforce  0没什么作用,你换4.2就可以了。
2017-5-13 13:55
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我也跟你遇见同样的问题,    楼主解决了吗
2017-10-8 02:21
0
雪    币: 138
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
permissive=1 应该不是selinux的问题,代码也成功执行了。问题应该出在maps为什么看不到上,请问题主后来解决了吗?
2019-2-28 14:16
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
dou逗你玩 permissive=1 应该不是selinux的问题,代码也成功执行了。问题应该出在maps为什么看不到上,请问题主后来解决了吗?
github有个poison的注入解决了这个zygote注入的问题。
2019-2-28 14:37
0
雪    币: 138
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼主的问题不是 socket,都已经注入成功了
2019-2-28 14:56
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
关闭selinux,我用poison实现了zygote的注入,楼主是少了个关于zygote的特殊处理,所以maps里没有so,实际就是没有注入成功。
2019-2-28 15:07
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
无边 github有个poison的注入解决了这个zygote注入的问题。
链接?
2019-3-1 13:52
0
雪    币: 138
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
无边 关闭selinux,我用poison实现了zygote的注入,楼主是少了个关于zygote的特殊处理,所以maps里没有so,实际就是没有注入成功。
没注入成功的话 Where am I?__from pid:308 这条日志怎么打出来的呢?
2019-3-13 18:17
0
雪    币: 29
活跃值: (5672)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
你远程调用完dlopen进行注入后,顺势又远程调用了dlclose把你刚刚注入的动态库给卸载了...
2020-2-27 14:41
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
18
已阅
2020-2-27 15:19
0
游客
登录 | 注册 方可回帖
返回
//