android安全
tangsilian
长期招移动安全
展开
-
使用drozer来挖掘android漏洞
0x00 安装环境Mac OS Mojave Ver 10.14.5Android 5.1.1Drozer Ver 2.4.4 、 drozer-2.4.4-py2-none-any.whl一、mac上安装drozer二、步骤1.自行安装 JDK 环境2.自行安装 Python 2.73.自行安装 adb 环境4.官方网站下载 drozer-2.4.4-py2-none-any...原创 2020-05-04 00:18:59 · 2532 阅读 · 0 评论 -
Mac远程调试手机
0x00遇到的问题由于Mac新款笔记本的只有(USB-3)接口,无法通过USB直接连接手机。所以需要通过WIFI远程调试0x01 WIFI ADB调试工具推荐USB线缆调试的痛点:占用一个USB端口,现在的超极本USB口总共也就一两个;USB口供电不稳,经常其他口功率大了这个口就没电了,导致offline;线缆质量堪忧,优质调试线缆非常稀缺,经常offline;虚拟机之间切换很麻烦...原创 2020-02-21 22:38:44 · 1930 阅读 · 0 评论 -
Black Hat USA 2013 - Android: one root to own them all
视频:https://www.youtube.com/watch?v=mCF5kaCt4NI漏洞挖掘过程产生漏洞代码分析漏洞利用0x00 背景最近看blackhat上各位大佬关于Android的议题,找到bluebox发现matser key的过程。记录下学习的过程。主要是看这个CERT.RSA文件private void verifyCertificate(String cer...翻译 2019-01-03 23:19:53 · 245 阅读 · 0 评论 -
Android系统crash的几种情况
Android程序崩溃大家都应该遇到过,force close和ANR应该是大家遇到较多的。这里把Android平台程序崩溃的各种类型做一个简述和原因列举。1.ANR(可见ANR):发生场景:应用发生ANR。崩溃症状:系统弹出窗口询问用户选择“Force Close”或者“Wait”。 “Force Close”将杀掉发生ANR的应用进程。“Wait”将会等待系统择机恢复此应...转载 2018-11-09 16:26:08 · 2430 阅读 · 0 评论 -
Android Native Hook工具实践
参考文章Android Native Hook 工具实践 https://paper.seebug.org/650/ARM64下的Android Native Hook工具实践 - Galaxy Lab http://galaxylab.org/arm64下的android-native-hook工具实践/它的这个工具实际是借鉴的诺神的inlinehook0x01 inlinehook的...转载 2018-10-26 18:30:46 · 1247 阅读 · 0 评论 -
重打包并通过java api hook来使签名失效的工具demo分析
0x00 背景 偶然在github上看到有人star了这个 https://github.com/xxxyanchenxxx/SigKill/blob/master/README.md 功能:一键绕过App签名验证。实现原理是Hook了PackaegManager,返回我们指定的签名。0x01 代码分析实现手段就是重打包注入smali代码,hook应用内的签名校验方法。...原创 2018-03-20 11:53:55 · 1355 阅读 · 0 评论 -
自编译安卓系统分析Android内核漏洞(一)
目标编译Android4.4.3-r1源码及内核0x00 环境 手机环境: nexus5 + Kernel3.4.0+Android4.4.3_r1 虚拟机编译环境: Vmware + Ubuntu 14.040x01 编译android系统1. 先下源码先下载 repo 工具:repo init -u http...原创 2018-03-22 17:01:46 · 814 阅读 · 0 评论 -
android设备管理器使用
1.创建 MyAdmin 的广播接受者 继承 DeviceAdminReceiver<receiver android:name=".MyAdmin"><meta-data android:name="android.app.device_admin"android:resource="@xml/my_admin" /><intent-filter><action android:name原创 2016-05-28 15:19:05 · 3754 阅读 · 1 评论 -
android逆向开发工程师需要掌握的技能--实习一个月总结报告
必须掌握的技能1、负责安卓程序的加解密和数据传输分析、拆解、逆向等工作; 2 、逆向APK,了解运行过程; 3 、Andorid本地提权获得root权限; 4 、熟练掌握软件逆向静态分析、动态调试、代码跟踪等; 5 、熟悉Android开发,了解打包、反编译、破解流程; 6 、so破解。 我目前了解的如下: 1,加解密:这就很多了,一般都是遇到后再折腾解密,而且解密代码和秘钥一般都在代原创 2016-07-02 20:41:04 · 15027 阅读 · 8 评论 -
手机漏洞检测工具的分析
1.手机漏洞扫描器android-vts360leakscan分析两款手机漏洞扫描器的实现原理2.检测方式分析检测原理:跑不会崩溃的poc,或者check补丁是否完善。代码实现:通过线程或者是AsyncTask来执行我们的任务vts主要检测的类型为:frameworkkernelsystem3,如何添加我们需要检测的漏洞找到对应的类型,集成特定的类方...原创 2019-01-06 23:52:47 · 2014 阅读 · 0 评论 -
JustTrustMe 原理分析
需求:在逆向某些app时通过fiddler抓包。没看到https的流量信息。解决方法:发现是客户端对 SSL 证书进行了检测,这时候使用了xposed模块JustTrustMe来绕过解决了这个问题。总结:查看SSL 证书进行了检测的原理,和绕过原理。转自:https://bbs.pediy.com/thread-214012.htmJustTrustMe 原理分析 ——挽秋1、Just...转载 2019-01-23 16:15:40 · 17250 阅读 · 1 评论 -
AndServer搭建服务的用法
0x00 需求搭建一个加密的服务:其他APK的加密服务即与其通讯。https://github.com/yancy2430/MyApplication/blob/master/app/src/main/java/com/tdeado/myapplication/MainActivity.javaandserver搭建方法:1.搭建本地serverimport android.conten...原创 2019-08-28 15:36:28 · 7654 阅读 · 6 评论 -
Magisk模块编写
0x00 magisk介绍Magisk 本质上是一种文件挂载系统。我们大多数时候所接触到的那个图标为面具的应用,其实只是我们与之发生各种交互行为的「媒介」。首先简单介绍一下magisk的原理。magisk做的事情是通过boot中创建钩子,进而bind mount构建出一个在system基础上能够自定义替换,增加以及删除的文件系统,实际上并没有对 system 分区进行修改(即 systemle...原创 2019-08-09 00:44:13 · 25704 阅读 · 1 评论 -
Android安全网络传输
1 配置从Android Nougat(7.0)开始,谷歌改变了网络安全策略。自签的CA证书将默认不被TLS/SSL连接信任,这意味着charles等工具可能无法抓取HTTPS的明文数据。查看路径:<application android:networkSecurityConfig="@xml/network_security_config"res/xml/network_secu...原创 2019-08-08 01:04:52 · 662 阅读 · 0 评论 -
sqlite3安全性研究
SQLite安全现状SQLite是遵守ACID的关系数据库管理系统,实现了大多数SQL标准。它使用动态的、弱类型的SQL语法,包含在一个相对小的C库中。作为一款嵌入式数据库,它因占用的资源非常低,数据处理速度快等优点被Andriod、iOS、WebKit等流行软件采用。2017年Black大会上来自长亭科技的议题介绍了基于Memory Corruption的SQLite漏洞。基于该漏洞,可以攻...原创 2019-05-19 18:48:50 · 3072 阅读 · 0 评论 -
XDebuggable&mprop代码分析
0x01 背景XDebuggable是一个xposed的插件用来 使android:debuggable="true"保证可调试状态mprop修改default.prop中ro.debuggable=1保证可调试状态0x02 XDebuggable核心代码hook修改android/os/Process.java的start方法,并保证其第五个参数debugflags的值为1.关键在于...原创 2019-02-26 21:17:48 · 1375 阅读 · 0 评论 -
【nexus5刷机教程】
万能的淘宝收了一个二手的nexus5(应该是翻新机-电池不耐用)———————然后就可以愉快的开始搞机了。买回来的时候是上过锁的android6.0.1然后我们先来解锁 1.先进入使用adb rebootbootloader进入 reboot界面 这时手机会重启并进入到小机器人界面2.之后再输入fastboot oem unlock命令进入解锁界面 此时调节音量上下键 选y...原创 2016-09-29 15:21:28 · 3706 阅读 · 1 评论 -
Android反调试技巧总结
0x01背景在逆向保护技巧中 常见到反调试。我这里写了一个包含几种反调试的demo程序 反调试代码在github0x02逆向分析方法一当然我们逆向看到的都是ARM汇编。就从汇编看起.text:000040C2 ALIGN 4 //对齐.text:000040C4.text:000040C4 ; =============== S U B R O U T I N原创 2017-07-05 14:03:49 · 865 阅读 · 0 评论 -
杀毒引擎的原理
杀毒引擎的原理用简单的话说,杀毒引擎就是一套判断特定程序行为是否为病毒程序(包括可疑的)的技术机制。一般来说,判断杀毒引擎好坏应从多方面综合考虑,主要包括:扫描速度、资源占用、清毒能力、对于多态病毒的检测,脱壳能力、解密能力、对抗花指令能力、对抗改入口点的变种病毒的能力等对抗变种病毒、免杀的能力,还有稳定性、兼容性。传统反病毒特征值扫描技术传统反病毒特征值扫描技术,由反病毒样本分析专家通过逆向反编译原创 2016-06-24 18:09:13 · 3731 阅读 · 0 评论 -
逆向技能+2 JNI介绍
http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 关于NDK的介绍如上:JNIwhat 什么是JNI?*java native interface native 本地语言 系统是由什么开发的 linux是由c开发的 那么这种语言对于这个系统来说就是本地语言*native 本地语言 本地代码*作用是java 和c/c原创 2016-07-26 23:16:46 · 1027 阅读 · 0 评论 -
Base64和Md加解密
Base64加密算法/** * Created by Jay-Tang on 2016/6/18. */import sun.misc.BASE64Encoder;import sun.misc.BASE64Decoder;import java.io.IOException;public class Base64 { public static String src = "shuai原创 2016-06-18 13:55:45 · 1717 阅读 · 0 评论 -
android查看Logcat
平时分析样本的是后会遇到 AndroidManifest.xml添加读取权限 一般都是病毒用来清除log信息的。 具体实现方式如下:清除日志 try { Runtime.getRuntime().exec("logcat -c"); } catch(Exception e) { 还能记录日志:获取日志 try { ArrayList<String原创 2016-07-10 23:25:34 · 1225 阅读 · 0 评论 -
根据悍马病毒小结android病毒如何提取root权限
http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651061420&idx=1&sn=edcf32e486d5aaae510b45e50e29be5d&scene=23&srcid=0710L0eWwHXV91heniBWP76J#rd 先科普一波悍马病毒: 该病毒会root手机》静默安装其他病毒以及推广安装大量应用。 中毒用户将手机原创 2016-07-10 23:19:01 · 1293 阅读 · 0 评论 -
IDA动态调试程序
需要用到的东西配置环境1.真机一部root后的 2.ida_pro 3.配置好调式服务器装好android_server 然后改执行权限,chomd android_server 755运行即可。 4.debugger-attach-Remote Linux/android配置好ip地址和转发端口原创 2016-06-27 18:41:48 · 975 阅读 · 0 评论 -
android中的安装删除程序的流氓方法
1.静默安装和删除: 参考: http://www.cnblogs.com/ondream/archive/2012/04/13/2446138.html 2.冷启动: 应用被杀死之后重新启动 冷启动的时间和性能的优化、 http://www.open-open.com/lib/view/open1453255416167.html3.生态链: 就是常说的一根葫芦七个娃。 唤醒机制:原创 2016-06-24 14:45:47 · 516 阅读 · 0 评论 -
使用apktool工具遇到could not decode arsc file的解决办法
问题详情:当前环境为 win7 64位 jdk1.7 apktool.jar(版本1.5.2) apktool(版本windows-r05-ibot)遇到的问题如下 产生原因:apktool.jar的版本太低,如果使用高版本不会出现异常解决方案:1.登陆http://code.google.com/p/android-apktool/wiki/DownloadInstructions?tm原创 2016-05-17 22:37:15 · 1325 阅读 · 1 评论 -
逆向技能+1
身为一只大三狗,秋招马上就要来了。学习android逆向,9月想去试试鹅场的玄武实验室。下面是技能表: android看完第一行代码后,有过一定基础了。 就从NDk开发开始学习。 因为NDk开发需要JNI 所以把c的基础又看了一遍。 面试的时候也可能需要用到吧,鹅场等我!C语法基础HelloworldC的基本数据结构输出函数输入函数内存地址的概念指针 指针的联系多级指针指针原创 2016-07-06 23:55:03 · 708 阅读 · 0 评论 -
root方式细节剖析
android系统root的根本原理就是替换su程序。 su程序会设置SUID位,s验证root密码。正确的话su程序可以把用户权限提高root(因为去设置SUID位,运行期是root权限,这样其有权限提升自己的权限)很早以前的提权方式: http://blog.claudxiao.net/2011/04/android-adb-setuid/ http://www.oschina.net/q原创 2016-08-30 17:32:45 · 967 阅读 · 0 评论 -
Android反模拟器的总结
0x00背景:很多病毒都很先检测检测运行环境。如果不是沙箱环境就释放恶意代码。 我们来总结他检测了哪些模拟器的特性 0x01检测特定文件检测一些系统特定属性,如检测当前设备手机号,设备DeviceId,dev下是否存在socket/qemud和qemu_pipe两个文件,以及build.prop下的一些属性/**固件信息/system/libc_malloc_debg_qem.so //在原创 2017-03-22 14:49:58 · 6547 阅读 · 1 评论 -
Android软件安全与逆向分析之Dalvik
注意点首先,让我们来思考下面几个问题:什么是Dalvik虚拟机?Dalvik VM与JVM有什么区别?Dalvik VM有什么新的特点?Dalvik VM的架构是怎么样的?首先,我得承认第一个问题问得很傻:什么是Dalvik虚拟机?没有人给出过一个明确的定义,但是,我们似乎可以从人们对Java虚拟机的描述中得到些信息。Java虚拟机(JVM)是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种原创 2016-05-16 19:31:09 · 606 阅读 · 0 评论 -
【学习记录】各种反调试手段总结
为了躲避杀软了检测,病毒会使用各种骚气的手段来隐藏自身反调试反虚拟机遇到的几种比较骚气的1.拿到设备信息,检测里面是否有某些软件,否则环境不运行 2.它通过向远程地址发出某种认证请求,返回地址,ip等信息。如果检测到是特定的组织机构名称与以下JSON文件中的任何机构字符串匹配,恶意软件将发生异常并停止运行。当然,上述列表中的机构名称在代码中是经过混淆的:http://bbs.pediy.原创 2016-09-30 14:59:07 · 2248 阅读 · 0 评论 -
安卓逆向安全从今天开始
常见APP漏洞及风险静态破解通过工具apktool、dex2jar、jd-gui、DDMS、签名工具,可以对任何一个未加密应用进行静态破解,窃取源码。二次打包通过静态破解获取源码,嵌入恶意病毒、广告等行为再利用工具打包、签名,形成二次打包应用。本地储存数据窃取通过获取root权限,对手机中应用储存的数据进行窃取、编辑、转存等恶意行为,直接威胁用户隐私。界面截取通过adb shell命原创 2016-05-12 23:34:50 · 992 阅读 · 1 评论 -
【仿vysor】做一个android投影的工具
01,as先导入要使用的jar包 直接配置 dependencies { compile ‘com.koushikdutta.async:androidasync:2.+’ } 添加androidasync库文件as导入jar包的三种方式:cp到libs目录下 然后add to libaraymaven抓取 gradle dependencies具体细原创 2016-10-18 00:20:38 · 3505 阅读 · 0 评论 -
【鹅厂手游安全部门电话一面】
第一次与手游安全的碰撞本来暑假最后一个星期在灾区(天门)玩耍,突然收到了鹅厂面试官(猎头)的一个电话。我开始以为是诈骗(想到最近不是诈骗大学生的事比较多…)自己也是第一次接触手游安全,以前看别人玩过外挂。但是自己并没有深入的研究。难得有这样的机会,去深入的了解下。算是第一次接触这一块吧。 腾讯GAD抛砖引玉,面试官问了这几个问题。1.手游存在哪些安全风险? 2.外挂的分类有...原创 2016-09-01 21:08:40 · 1979 阅读 · 0 评论 -
【鹅厂手游安全的电话二面】
今天电话第二面,应该也是最后一面了吧。今天下午在图书馆看书,然后收到了鹅厂二面电话,很多都答得不好。感觉录音不是很好。就没录。然后使劲回忆下问的问题吧。1.首先还是问我玩过哪些手游?天天酷跑–>>这种单机类的游戏 数据,代码逻辑是主要在本地实现。本地的以重打包,破解为主。王者荣耀–>>这种网游 pvp好多动作比如释放某个技能的传一个信息到服务器,在分发给各个客户端。 强连网的多以游戏插件,和修原创 2016-09-07 20:27:08 · 1073 阅读 · 0 评论 -
【Dexclassloader】学习
dexclassloader不是普通类怎么办?系统组件如何接收回调?如何加载资源?PackageInfo处理?Resources的处理?Assets的处理?dex分包原因一个dex里面方法数目不能超过65536个或者一个dex文件不能超过65k 所以需要分包/或者动态加载xposed学习原理替换系统的app_process(当然,这个操作需要Root权限) app_process是什么看in原创 2016-09-10 21:14:49 · 557 阅读 · 0 评论