Android漏洞之战目录篇

admin 2024年7月4日16:15:49评论2 views字数 2409阅读8分1秒阅读模式

一、前言

学习了这么久的Android APP漏洞挖掘,很多朋友私聊我如果系统的学习 Android APP漏洞挖掘,说实话作为一名刚入门的新手小白,实在不敢说如何学习才能算一个比较正确的学习路线,这里只是简单分享一下自己认为的学习路线和心得体会,如果有什么不足的就请相关大佬进行补充吧。

二、学习路线

Android 漏洞挖掘我认为主要是分为Android 系统层面的漏洞挖掘和APP端的系统层面,这里我们主要介绍APP端的系统挖掘,有朋友问我,学习App漏洞挖掘,是不是简单的原理了解,复现一些案例就可以了,我觉得这样可能远远不够吧,漏洞挖掘与逆向技术总是分不开的,试想如果你拿到一个app,你都不会脱壳,也不会抓取https报文,不会协议分析,不会hook,其实想挖到比较有价值的漏洞,其实很难,所以一个漏洞人员应该至少了解Android app开发、常见漏洞原理、Android APP逆向技术。三者合一可能才算的一名好的漏洞人员,当然我只认为自己也还是一名新手,学习之路任重而道远了。下面将逐步介绍,有一些也可能在后续再慢慢补全。

Android APP漏洞挖掘学习路线:

1.初阶

工具篇:

(1)工具基本使用

如果你想学习一个领域的东西,我认为其实你可以先尝试去使用它的工具,这样相比一上来学习理论知识,可能更加有趣一点,而且在后面学习过程中,掌握一些基本的工具,也是开始学习的基础。那么Android APP漏洞挖掘你可能需要掌握的工具:

1
2
基本的逆向工具:AndroidKiller、Android Studio、JEB、jadx-gui、010Editor、GDA、IDA、GDB等
漏洞测试工具:drozer、Mobsf

基本的逆向工具很多可以在看雪论坛和吾爱破解上找到,所以基本资源还是很容易找的

漏洞测试工具:Android漏洞挖掘三板斧——drozer+Inspeckage(Xposed)+MobSF

能力篇:

(2)掌握Android APP动静态调试技巧:

1
2
3
4
5
6
7
静态分析:
Smail源码分析:Android Killer
java层:Jadx-gui+GDA
so层:IDA
动态分析:
java层:Android Studio + JEB 动态调试
so层:GDB+IDA 动态调试

(3)掌握Hook 动态注入技术:

1
2
熟练使用Hook框架:
Xposed和frida的基本使用

Xposed学习:参考源码编译(2)——Xopsed源码编译详解 和开发过程中使用Xposed官方文档即可

frida学习:参考肉丝大佬GitHub - r0ysue/AndroidSecurityStudy: 安卓应用安全学习

(4)掌握Android APP加壳和脱壳技术:

1
2
3
4
掌握动态加载的基本原理
掌握dex整体加固、抽取壳、dex2c/VMP的基本原理
熟练使用fdex、frida_dump、fart、youpk等多种脱壳工具
掌握GDB动调脱取VMP的方法

脱壳技术学习推荐:看雪2w班课程和肉丝大佬的脱壳王课程,朋友给我说这两门课的质量很高

(5)掌握抓包和协议分析的技术:

1
2
3
4
掌握密码学理论初步:学习AES、DEA、Base64等常见的密码算法原理
掌握基本工具的使用:Fiddler+Charles+burpsuit
掌握如何抓取各个协议层的https报文
掌握协议分析的流程:如何将抓包和静态分析、动态分析、hook技术结合使用

工具书推荐:r0ysue Frida逆向与抓包实战

视频推荐:看雪2w班

理论篇:

(6)掌握Android App开发和APP漏洞的基本原理:

推荐参考Android APP漏洞之战系列文章:

本系列主要分为Android 开发原理和漏洞原理两部分,推荐学习

[原创]Android APP漏洞之战(1)——Activity漏洞挖掘详解-Android安全-看…

[原创]Android APP漏洞之战(2)——Service漏洞挖掘详解-Android安全-看雪…

[原创]Android APP漏洞之战(3)——Broadcast Recevier漏洞详解-And…

Android APP漏洞之战(4)——Content Provider漏洞详解

原创]Android APP漏洞之战(5)——权限安全和安全配置漏洞详解

[原创]Android APP漏洞之战(6)——HTTP/HTTPs通信漏洞详解

[原创]Android APP漏洞之战(7)——信息泄露漏洞详解

后续还在继续更新,争取今年写完

到这里为止,我觉得可以算的算一名初级的Android APP漏洞挖掘工程师了吧

2.中阶

(7)学习掌握漏洞自动化工具开发

1
利用一些开源框架,如AndroGuard、appt、jadx等工具,自己开发一些可以自动测试APP漏洞的安全工具,类似drozer、mobsf等

(8)Fuzz技术的学习

1
学习Fuzz技术在APP上的使用,现在Fuzz技术在漏洞挖掘方面的使用不断增加,学习Fuzz技术的原理

3.高阶

(9)逆向技术的全面进阶

1
2
3
4
5
6
7
8
9
10
脱壳技术:
定制自动化脱壳机,解决抽取壳的问题,进一步学习VMP和ollvm
学习so层加壳的基本原理,掌握so层高级混淆ollvm,学习so层的脱壳方法
Hook技术:
熟练定制Xposed框架、解决frida的反调试问题,学习frida hook java层和so层
掌握一些开源的hook框架:inline Hook库等等
密码技术:
掌握破密算法的编写,学习如何编写破密算法
抓包技术:
使用开源框架JustMe、r0capter抓取https层面的报文

(10)Fuzz技术进阶

1
熟练掌握Fuzz在app上的漏洞挖掘技术

三、总结

这里是考虑不少朋友私聊我Android APP漏洞如何挖掘学习,我本人也是入门菜鸟,所以肯定有很多不会地方,只是将自己的学习心得梳理了一下,有不足之处请论坛各位大佬就指正出来。

- source:security-kitchen.com

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月4日16:15:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Android漏洞之战目录篇https://cn-sec.com/archives/2919064.html

发表评论

匿名网友 填写信息