APK恶意代码注入及Janus签名漏洞利用浅谈
 


简述:

环境: Java(包括安卓环境)及Python环境安装

IDE: Eclipse

核心Jar包: javassist.jar及android相关包

jar与dex互转工具: dex2jar

Java字节码反编译工具: jd-gui

逍遥模拟器 - Android5.1(根据Janus签名漏洞影响的安卓系统版本要求:5.x-8.0)等

目标: 向APK文件注入可利用的代码,并使用Janus签名漏洞进行有效利用.




过程:

rar解压原始APK文件 1.apk,提取classes.dex文件,如图:



使用dex2jar将dex转为jar,如图:



使用jd-gui工具反编译jar文件,选择要注入代码的Activity类,这里为HomeActivity的init方法,运行APK就能看到效果,如图:



Java代码注入,我们反编译源码重构成本较高,这里我们选取Java字节码操作强悍的javassist.jar(同时方便代码编写).在init方法头部注入代码,如图:



使用jd-gui反编译工具查看,恶意代码已经注入,这里是调用默认浏览器,弹出网页:http:/www.SecAPK.cn,如图:



再使用dex2jar将jar回转为dex,如图:



再使用CVE-2017-13156 POC将dex写入原始APK文件头部: CVE-2017-13156 PoC,如图:



得到被篡改过的新APK文件:2.apk

新APK与原始APK V1签名一致,运行时,ART虚拟机会直接运行写入头部的dex恶意代码,弹出网页:http://www.SecAPK.cn,如视频:  1.avi






  作者: Nebula      日期: 2017-12-18    转载请注明来自SecAPK.cn    




* 仅供安全研究及安全认知,请勿用于非法途径.




 
Copyright ©2017-2018, SecAPK.cn, All Rights Reserved
 
反馈邮箱: feedback@SecApk.cn    鄂ICP备17017458号-1