首页
社区
课程
招聘
[原创]Android中unlink利用练习
2016-5-20 11:21 4972

[原创]Android中unlink利用练习

2016-5-20 11:21
4972
最近学习了一下unlink利用,于是在Android上设计了一个Demo用于练习unlink利用,以加深对原理的理解。附件是具体的利用分析,由于水平有限,难免有所错误,还请各位大大指教啊

ps:
没有找到好的Markdown导出pdf的方法,附件是用word排版的,觉得不太美观的话就可以直接访问:http://manyface.github.io/2016/05/19/AndroidHeapUnlinkExploitPractice/,另外求推荐相关转换工具啊,求推荐二进制相关的学习资源啊

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞1
打赏
分享
最新回复 (6)
雪    币: 53
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Zkeleven 2016-5-20 13:16
2
0
最近我也在学这个,支持
雪    币: 160
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sojia 2016-5-20 13:25
3
0
对unlink不了解,不过楼主讲的不错
不知道这种利用方式在什么情况下才用得上
雪    币: 1356
活跃值: (358)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
MindStorm 4 2016-5-20 16:04
5
0
https://github.com/shellphish/how2heap/blob/master/unsafe_unlink.c中的注释说:当有一个指针数组指向的是连续的malloc出的内存块时,并且知道指针数组的基址,就可以使用该利用技术。当然实际操作过程中还会配合信息泄露等其他漏洞。
雪    币: 29
活跃值: (499)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
万抽抽 2 2016-5-21 00:28
6
0
好文,感谢楼主分享!
雪    币: 34
活跃值: (45)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
步平凡 2016-5-21 13:20
7
0
楼主的pdf很不错,完美的诠释在android上利用unlink任意写入的奇妙。但是有个疑问,这种攻击如果是让free的ptr跳转到system函数,在这个时间节点之后很可能会导致其他进程对free的操作产生异常。能否将free.ptr跳转到自己的函数。这样更可控一点。
雪    币: 1356
活跃值: (358)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
MindStorm 4 2016-5-21 15:44
8
0
每个进程是隔离的,都有独立的虚拟地址空间,这里修改unlink_demo的free ptr并不会影响到其他进程。当然跳转到自己的函数也是可以的,但是这样又会引入新的问题,如何注入自己的shellcode?如何保证注入的shellcode有可执行权限。可能构造ROP会好一点。

ps:新手愚见,有不对的地方还请指正。
游客
登录 | 注册 方可回帖
返回