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

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

2014-6-6 13:20
7958

在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命令了。

具体可见561K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2X3L8r3q4F1K9$3g2J5x3o6p5%4i4K6u0W2L8h3g2Q4x3V1k6Q4c8e0c8Q4b7U0S2Q4z5o6m8Q4c8e0N6Q4b7e0N6Q4z5p5c8S2L8X3c8J5L8$3W2V1i4@1f1$3i4@1t1J5i4K6V1&6i4@1f1%4i4K6W2n7i4K6V1J5i4@1f1@1i4@1t1^5i4@1q4p5i4@1f1%4i4K6W2n7i4K6V1I4i4@1f1$3i4K6S2q4i4@1p5%4M7X3!0G2N6q4!0q4y4g2)9&6x3g2!0n7c8q4!0q4y4q4!0n7b7W2!0m8y4q4!0q4y4W2)9^5z5g2!0m8y4#2!0q4z5q4!0m8x3g2)9^5b7#2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4W2)9&6y4W2!0n7z5g2!0q4y4W2!0n7x3#2)9&6y4g2)9J5k6r3g2F1j5h3u0D9k6g2)9J5k6r3y4G2L8h3#2S2L8X3c8Q4x3X3c8D9L8$3N6Y4K9h3&6Y4i4K6u0V1K9h3&6Q4x3X3c8S2L8X3c8J5L8$3W2V1i4K6u0r3


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

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