我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:一品彩票 > 反汇编程序 >

在AndroidAPK中嵌入Meterpreter

归档日期:05-20       文本归类:反汇编程序      文章编辑:爱尚语录

  当今世界,移动电话无处不在。我们日常生活中的许多应用程序正在迁移到云部署,从而使前端技术重新回到瘦客户端的时代。我们的瘦客户端可以是任何东西,从JavaScript浏览器框架到支持移动设备的前端。

  当今世界,移动电话无处不在。我们日常生活中的许多应用程序正在迁移到云部署,从而使前端技术重新回到瘦客户端的时代。我们的瘦客户端可以是任何东西,从JavaScript浏览器框架到支持移动设备的前端,例如Apple iOS上的Objective-C,或基于Android的Java。

  Apple继续维持范例,审查所有进入iOS应用程序商店的应用程序。即便如此,仍然存在恶意软件蔓延的情况。与Apple不同,Android市场是一种开放的方式,允许任何人为游戏商店做出贡献,而且占据了移动市场份额的大部分江山。此外,还有各种第三方网站可以直接下载Android应用程序包文件(APK)。

  Metasploit项目允许测试人员使用功能非常强大的meterpreter命令生成Android有效载荷,该meterpreter可以加载到Android设备上。通常,通过Android调试器“adb”侧面加载APK。从测试者的角度来看,有趣的事情是将合法(可能有趣)的应用程序与Meterpreter相结合,并将该应用程序侧加载到Android设备上。当然,您可能会考虑将该设备作为礼物或类似的社会工程方法发送给“朋友”。

  Android应用程序是用Java编写的,它编译成Dalvik可执行格式DEX。应用程序的编译版本是DEX字节码文件的ZIP文件。 Android上的Dalvik虚拟机最近被Android RunTime(ART)取代,后者执行额外的优化并将DEX字节码编译为本机汇编代码。Dalvik VM主要执行大部分字节码的即时(JIT)解释。ART比Dalvik虚拟机具有更高的性能,Dalvik虚拟机仅优化应用程序频繁执行的字节码部分。

  Smali /baksmali是Android DEX字节码的汇编程序/反汇编程序。一个名为apktool的Android工具可以将压缩的DEX(APK文件)反汇编成smali文件,并将smali文件重新组合回DEX,然后重新组合为压缩的APK格式。我们可以使用此工具来反汇编和修改现有的APK文件。在此情形之下,我们可以使用该工具进行反汇编,并在初始Android Activity的smali代码中添加一个额外的静态入口点,以启动我们的Meterpreter。

  10.使用jarsigner为新创建的APK文件签名,然后将其加载到目标Android设备上。

  用一个具体的例子来理解上述步骤要容易得多。为了说明这一点,我从载了一个名为Cowboy Shooting Game的APK文件。

  然后使用apktool对这两个文件进行反汇编(baksmaling !!!),如下所示:

  一个简单的方法是将目录更改为Metasploit APK目录,然后将smali目录下的所有文件复制到“boyShootingGames_2018-09-22”目录中。我从系统管理员那里学到的使用“tar”命令备份整个目录树的一个老技巧很方便,可以将tar的输出传输到第二个命令,该命令改变目录并解压缩生成的文件。

  请注意,以上是一行代码。可以使用与“com/metasploit/stage/Payload”不同的路径名来进行模糊处理,但是如果这样做,则必须修改“Payload”中包含的所有“smali”文件中对路径的所有引用,并更改目录名称本身。这可以手动完成,但容易出错。在没有任何混淆的情况下可以继续进行,修改后的最终结果如下面的屏幕截图所示。

  需要使用编辑器在新的AndroidManifest.xml文件中的适当位置插入权限。搜索现有的“use-permission”行作为插入文本位置的指导。

  现在再次使用apktool重新组合生成APK包文件。将最终结果写入APK目录的dist目录中。

  对于签名来说,一种简单的方法是使用安装Android studio时构建的Android调试密钥库。调试密钥库包含在UN * X系统上主目录中的“.android”隐藏目录中。

  另一种方法是使用Java“keytool”生成自己的自签名密钥库,并使用jarsigner工具对其进行签名,如下面的屏幕截图所示。

  在此特定情况之下,运行GenyMotion的副本,这是一个基于x86的模拟器,它使用VirtualBox可以进行非常高性能的Android模拟。可能会遇到的挑战之一是x86仿真本身不支持ARM处理器。为了应对这一挑战,可以在线获得一些ARM翻译库。搜索“Genymotion-ARM-Translation_v1.1.zip”,然后将ZIP文件拖到正在运行的GenyMotion Android系统上。不幸的是,这不是100%可靠,并且可能会导致一些应用程序崩溃。

  确保ARM APK文件在设备上运行的一种方法是使用硬件设备本身。我发现Nexus 6系列设备非常适合使用,因为“rooting”套件相当可靠,并且通过USB电缆连接进行测试并不是太麻烦。

  最后一步当然是尝试新感染的牛仔射击游戏。我们很快发现,在启动游戏的那一刻,我们在KALI系统上获得了一个Meterpreter Shell,感觉非常好。

  因此,在执行了上述所有必要步骤后,我立即感到沮丧。有这么多步骤,错误的可能性非常高。可能还有其他工具可供使用,但我决定使用快速的Python脚本来自动执行此过程。我称它为android_embedit.py,我现在会警告你,这绝对是一项快速而恶劣的努力,无需花费太多精力来加强逻辑,就可以完成工作。

  android_embedit.py的想法是,提供Metasploit生成的APK文件、要修改的原始APK和密钥库,它将以自动方式执行所有步骤并生成结果。

  以下是运行该工具的示例。所有临时文件和输出都将存储在“〜/ .ae”目录中。

  该工具还将删除metasploit目录名,并自动使用随机字符串目录名对其进行混淆处理。可以在下面的屏幕截图中看到此结果,其中列出了APK “smali/com”目录的内容。名为dbarpubw的目录实际上包含Metasploit stager代码。

  1每年5000亿资本补充“压力山大”银行转型如何“轻装上阵”?

  银保监会办公厅发布关于保险资金参与信用风险缓释工具和信用保护工具业务的通知

  重点关注电子银行、金融科技领域,通过企业拜访、资深从业者访谈,电话调查等专业手段获取前沿信息,力求出品最具前瞻性和参考价值的内容。因为专业,所以领先![详细]

本文链接:http://explodingspec.com/fanhuibianchengxu/283.html