首页
社区
课程
招聘
[原创]Android安全项目入门篇
发表于: 2017-7-9 17:35 15833

[原创]Android安全项目入门篇

2017-7-9 17:35
15833

Android项目入门篇

近年来,随着市场android应用越来越多,android本身的问题也越来越多。所以走上了学习android的这条不归路。android知识分块也非常多,近期学习了一点点,将学到的一点知识总结下。因为在做android项目时候,需要用到一些知识,那么我们按照工作的要求,给大家讲项目点,刚开始会去讲一些基础点。本次课程主要是讲利用drozer去评估项目。然后会利用一个虚拟机。 既然说到android,那么肯定要说到的一款工具和集成的系统:drozerAndrol4b。对于drozer来讲,是android的一个综合渗透测试工具。在渗透测试业界相当metasploit地位,所以用的人还是相当多,一般提起来andorid安全,大部分人都听说过drozer。本次课程主要讲解利用

drozer下载地址:

https://github.com/mwrlabs/drozer

drozer评估文章:使用DrozerAndroid应用进行安全评估

http://www.droidsec.cn/%E4%BD%BF%E7%94%A8drozer%E5%AF%B9android%E5%BA%94%E7%94%A8%E8%BF%9B%E8%A1%8C%E5%AE%89%E5%85%A8%E8%AF%84%E4%BC%B0/

Androl4b下载地址:

https://github.com/sh4hin/Androl4b

Androl4b百度云下载地址:链接:

https://pan.baidu.com/s/1i5kRdpb

密码: iade

利用虚拟机最主要作用就是快速、可以提高效率,里面已经集成了大部分渗透测试工具,可以直接使用进行评估就可以。还有一些其它虚拟机也可以进行漏洞挖掘,但是我们就不涉及了,打造一个属于自己的渗透测试工具箱就可以了。另外如果你不想用这个虚拟机,你还有选择,对于windows主机,有人组建了一个windowandorid工具箱。

吾爱破解:

http://www.52pojie.cn/thread-510960-1-1.html

工具箱主要分为五个模块,分别是开发,逆向,调试,编辑和抓包工具

抓包:

逆向:

编辑:

1.010Editor

2.sqlitebrowser

调试:

介绍差不多,可以开始我们讲解项目了,首先drozer需要将agent.apk文件装到模拟器当中

模拟器中开启该server

连接客户端成功



这里我们使用apktool进行反编译

F:\Apktool\tool>apktool.jar d 路径\InsecureBankv2.apk

可以看到该app的目录结构

然后使用dex2jarapk反编译成Java源码(classes.dex转化成jar文件) 使用解压功能打开apk,将classes.dex文件取出,编译为java源代码


d2j-dex2jar.bat C:\Users\Administrator\Desktop\安卓汇总\classes.dex/

使用jd-gui工具查看APKclasses.dex转化成出的jar文件,即源码文件

下面使用run app.package.list查看包列表


查看insecurebankv2.apk查看该APP的可攻击点

run app.package.attacksurface com.android.insecurebankv2

activity组件

应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。 Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。 可以发现activity存在问题,我们查看下反编译出的AndroidManifest.xml文件,可看到将activityexported设置为true。说明存在被导出的分险


查看对外的activity组件信息

run app.activity.info -a com.android.insecurebankv2

使用app.activity.start进行漏洞测试

越权漏洞

绕过登录界面导致可直接访问,说明存在越权漏洞

run app.activity.start --component com.android.insecurebankv2 com.android.insecurebankv2.PostLogin



Broadcast组件

BroadcastReceive广播接收器:应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activityserice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。 下面使用fourgoats.apk测试Broadcast 查看fourgoatsAPP的可攻击点,可以看到存在broadcast广播问题

run app.package.attacksurface org.owasp.goatdroid.fourgoats

查看对外的broadcast组件信息

run app.broadcast.info -a org.owasp.goatdroid.fourgoats

查看反编译出的AndroidManifest.xml文件,可看到将receiverexported设置未进行设置。说明存在越权问题,可发送恶意广播,伪造消息等等


反编译查看源代码,发现需要两个参数phoneNumbermessage


漏洞利用,发现可可发送恶意广播包

run app.broadcast.send --action org.owasp.goatdroid.fourgoats.SOCIAL_SMS --extra string phoneNumber 1234 --extra string message pwnd!


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 1432
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
  今天阳光明媚,心情不错哦。
2017-7-10 07:21
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
2017-7-10 15:51
0
雪    币: 290
活跃值: (3373)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
通过对键盘事件的监听,得知键盘的输入通过该通道响应通过    。。这个是怎么判断是那个通道的?
2017-7-11 10:42
0
雪    币: 3869
活跃值: (2244)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2017-7-11 12:14
0
雪    币: 2452
活跃值: (10731)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
期待andorid逆向
2017-7-14 14:53
0
雪    币: 206
活跃值: (108)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
mark
2017-9-19 17:05
0
雪    币: 70
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
赞 赞 赞
最后于 2018-3-22 14:23 被向辉编辑 ,原因:
2018-3-22 11:51
0
游客
登录 | 注册 方可回帖
返回
//