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

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

2014-6-6 13:20
7834

在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/


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 3
支持
分享
最新回复 (4)
雪    币: 769
活跃值: (3853)
能力值: ( 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
游客
登录 | 注册 方可回帖
返回
//