Android安全


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


案例

CTF writeup


抓包方法

相关文章

mac + Android studio 抓包


手机设置网络代理

模拟器打开 wifi 设置选项,长按点击 修改网络

代理选择本机的 IP 地址

在 burp 的选项中添加监听项

模拟器访问 http://burp 下载 ca 证书

到文件管理器中,将下载的 cacert.der 改为 .cer 后缀

到设置-安全

选择从 SD 卡安装

选择 .cer 文件安装

随便命名,用途选 vpn和应用


模拟器设置全局代理

代理服务器设置为 burp 监听端口

已夜神模拟器为例,使用的网络进程有:NoxVMHandle Frontend

NoxVMHandle Frontend 进程对应的应用程序文件加入代理规则。

重启模拟器,模拟器安装 burp 的 CA 证书,记得 ca 文件名改成 .crt,抓包测试


Root 后导证书到系统域中


ssl-pinning 证书锁定

SSL/TLS Pinning 提供了两种锁定方式: Certificate Pinning 和 Public Key Pinning

  • 证书锁定

    需要将 APP 代码内置仅接受指定域名的证书,而不接受操作系统或浏览器内置的 CA 根证书对应的任何证书,通过这种授权方式,保障了 APP 与服务端通信的唯一性和安全性,因此我们移动端 APP 与服务端(例如 API 网关)之间的通信是可以保证绝对安全。但是 CA 签发证书都存在有效期问题,所以缺点是在证书续期后需要将证书重新内置到 APP 中。

  • 公钥锁定

    提取证书中的公钥并内置到移动端 APP 中,通过与服务器对比公钥值来验证连接的合法性,在制作证书密钥时,公钥在证书的续期前后都可以保持不变(即密钥对不变),所以可以避免证书有效期问题。

证书锁定旨在解决移动端 APP 与服务端通信的唯一性,实际通信过程中,如果锁定过程失败,那么客户端 APP 将拒绝针对服务器的所有 SSL/TLS 请求,FaceBook/Twitter 则通过证书锁定以防止 Charles/Fiddler 等抓包工具中间人攻击

--

反编译

在线反编译器

查壳

  • apktool box

  • PKID

  • https://bbs.pediy.com/thread-223248.htm

反编译工具


APK 信息收集

在线检测

相关工具


系统漏洞

Android's overlay attacks


ADB调试

相关资源

相关文章

Payload

  • https://www.exploit-db.com/exploits/39328


绕过ROOT检测

相关文章