首页
社区
课程
招聘
[原创]Android沙盒中记录root命令执行的一种方法
2014-6-6 13:20 7346

[原创]Android沙盒中记录root命令执行的一种方法

2014-6-6 13:20
7346
在Android沙盒监控恶意软件运行时,通常会有记录执行了什么shell(root)命令的需求。一般执行root命令通常会使用Runtime.getRuntime.exec("su"),获取一个Process对象后通过InputStream往里面填命令。有些偷懒的会直接su command来执行。

监控这种类型的命令执行,第一个监控点是在su的main入口中,记录argv来获取命令。但更多情况下,su是会调用sh去获得一个shell,后续的命令交互就交给了这个shell。

那么就还需要去修改下shell的代码。Android 4.x之后用更强大的体积更小的mksh取代了ash,但是模拟器的build里还没有这么做,需要手动用mksh去覆盖掉ash。

对mksh的修改集中在两个方面:
1)对于shell启动时直接接收参数,或者对于exec等特殊的shell指令,同样在main函数中做记录
2)对于通过标准输入记录的指令,在main.c的command函数中,解析Source结构体,获取传入的命令并记录。

通过这两种方式,就可以较好地记录应用执行过什么root命令了。

具体可见http://blog.flanker017.me/一种android沙盒中监控root命令执行的方法-enable-command-logging-in-android/

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞1
打赏
分享
最新回复 (4)
雪    币: 378
活跃值: (2857)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
appview 2014-6-6 17:31
2
0
感谢分享,记录下。
雪    币: 44
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
Gmxp 2 2014-6-12 20:59
3
0
感兴趣的是沙盒里面的su会真正的给待测app提供root权限吗?
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tdxtxt 2014-6-17 15:22
4
0
能讲解一下沙盒的运行机制吗,有没有办法绕过沙盒的检查。
雪    币: 123
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kmsmxpro 2014-6-20 09:21
5
0
感谢分享,记录下。
游客
登录 | 注册 方可回帖
返回