分类目录归档:Stack

CVE-2013-3893 UAF Analysis

Intro

前段时间工作中一直在干一些乱七八糟的事情,重心基本都是在Android上,掐指一算大概也有几个月没在Windows上用过调试器了。昨天心血来潮分析了一下IE的CVE-2013-3893漏洞。

POC

POC来自这里,使用XP下的IE8作为调试对象:

More

稳定利用CVE-2012-4220的方法

CVE-2012-4220 原理分析中简单的描述了一下libdiagexploit存在的问题,经过实际的测试,android-rooting-tools使用libdiagexploit是没法将值修改正确的。下面给出一种修正的方案,经过测试可以在ZTE N798 (CT_CN_N798+V1.0.0B09)上获取到了Root权限。

注意事项

利用之前需要清楚这个漏洞的功能和限制。
1. 使用该漏洞可以向任意地址写入一个16位的值,范围是2~0xFFFF
2. 修改为特定值需要循环调用该漏洞直到delayed_rsp_id的值是目标值。
所以,就是要控制好写入值,以及循环的次数。
由于对Linux不熟悉,获取Root权限方法沿用了libexploit中的方法。看起来,其获取Root权限的核心代码是在内核执行commit_creds_address(prepare_kernel_cred_address(0))。为了实现这一目标,libexploit企图利用各种漏洞修改ptmx_fops的结构体中+0x38处的一个函数地址,然后打开设备/dev/ptmx并调用fsync以获得在内核执行代码的权限。为了写入32位的地址,需要分别将目标地址的高位和地位写入。而且,高位和低位中不能出现0或者1。 More

CVE-2012-4220 原理分析

漏洞信息

该漏洞的一些相关连接:
CodeAurora
NVD
上述连接中对该漏洞的描述:

漏洞分析

造成该漏洞的主要代码如下:

这代码两个问题:
1. 对于用户态传递的参数ioarg没有检验直接使用。传递一个无效指针即可造成拒绝服务。
2. 对delay_params中的rsp_ptr以及num_bytes_ptr两个用户态的指针仅做了非空判断就直接使用。传递无效指针可造成拒绝服务,传递其他地址可以造成任意地址写入攻击。 More

ARM和Thumb模式下的断点总结

脱壳或者调试SO的时候,需要在恰当的时机让进程停下来,以便于附加调试器到该进程上。被无视的壳虐待之后,总结出以下几种断点的方法。

死循环

ARM Mode
ARM Mode下每条指令长度为4个字节,对应跳转自身的Opcode是FE FF FF EA,对应的助记符是:

Thumb Mode
Thumb Mode下每条指令长度为2个字节,对应跳转自身的Opcode是FE E7,对应的助记符是:

More

某版本360加固保动态调试&DEX静态脱壳

Intro

360加固保是360针对Android app推出的加固服务。本文针对其DEX加密技术进行分析。

动态调试

动态调试过程略过。

文件结构&静态脱壳

这个版本的加固保中,加密后的DEX文件被附在了壳DEX的文件尾部,如图所示:
qihoo_dex_unpack
感谢QQ6.4提供的马赛克功能。
这块数据有个明显的文件头标志:

之后的关键数据从偏移0x10C开始到文件尾部的数据,由长度为0x10的key和压缩、加密的DEX组成。在加壳的时候,加固保没有对原始的DEX做结构上的变形和处理,处理的流程如下: More

某国产DEX加固原理

Intro

这个加固是来自国内某个公司的作品,虽然在强度不是太高,但思路却不错,很好的平衡了性能和保护效果。目前看来,分析的这个版本只是一个很初级的框架,如果再此之上进行更多的防护和保护,强度会更好。

加固效果

加固之后,其效果是DEX中某些函数被加上ACC_NATIVE标志,原始的DEX代码已经消失,使得反编译、二次打包等功能失效。而加固之后新增的Libt**.so则负责在运行的时候,还原那些被抽取的Dalvik虚拟机代码。 More

The End Of An Era

P40429-102642_1
It’s the end of an era. Kevin邮件的第一句。
这次的主角不是Tarja,是我们。毕业后来到SRC,近两年,如今说没了就没了。太匆匆啊太匆匆。
这一段时间的经历对我影响至深,感谢SRC的每一位同事,感谢大家的贡献和努力。
两年的时间,我才明白如何才能做好,可惜现在没有机会再继续。这是我目前最大的遗憾。
多的不说了,祝各位以后顺利。 More

RDB文件格式分析

RDB文件常见于腾讯的客户端软件,大多数与UI资源相关,包括了各种图片、XML等。

Layout

文件头包含了文件基本结构的信息,File Description Table描述了文件名、大小和偏移,最后就是实际文件的数据,没有加密或者压缩。 More

Android Native Library脱壳的一些Tips

这几天看了一下Android下so文件的壳与脱壳,目前这一块应该还算是比较新的市场。个人感觉,受到调试器和计算资源的影响,虽然已经有多家厂商在做,但目前的总体强度和花样,远没有x86下的五花八门。
对于我们这种每天都在被各种病毒的变形外壳虐待的人,掌握了技巧,一般的Android壳还是很好脱的。其实,到目前为止我也只看了一个。 More

CVE-2014-0322 UAF Analysis

这是上周面试管家时,让我写的漏洞分析报告。虽然最后没去管家,目前,还是不想离开成都:)。

前言

分析环境:

受影响的文件:

漏洞概述:

使用的POC代码如下(来自这里):

为了方便分析,关闭ASLR、切换IE为单进程:

More