首页
社区
课程
招聘
[原创]微信系列研究之---搞定小保姆,拿到程序日志
发表于: 2015-5-6 11:25 47986

[原创]微信系列研究之---搞定小保姆,拿到程序日志

2015-5-6 11:25
47986
前言:   
   首先感谢各位老少爷们的捧场,在这里,向大家的支持表示感谢。
   大家的热情,我只能卖肾来还了,继续上文。

背景:   
    分析一个的大型软件的安全机制和安全缺陷是比较艰苦的。我们需要有目的有方向的去了解它。   这就像去了解一个深宅大院的男主人的保险柜一样。我们得知道院里的地形是什么样的,
   男主人住哪个房间,男主人什么时候出远门,保安在哪个位置,什么地方是薄弱环节。
   但是我们有捷径,这些事情我们找小保姆问一下就知道了,像小保姆这种不起眼的角色,安全防范是最低的。   往往掌握的信息是最多,说不定连男主人和女人主每周做几次都知道,今天我们就找找小保姆问问。

   今天的小保姆是微信的XLOG机制。微信为分析软件问题设定了XLOG机制,把日志的级别分为6种角色。
默认是6,最高是1。程序运行时,软件把这些日志输出到SDCARD中的XLOG目录。但这些XLOG是加密的。
   呵呵,小保姆嘴还挺硬,我们来点简单粗暴的,小保姆喜欢重口味。

工具准备   
    ULTRAEDIT

步骤
   1.我们找到/data/data/com.tencent.mm/lib/libwexlog.so 位置,把该文件pull出来。
         adb pull /data/data/com.tencent.mm/lib/libwechatxlog.so   libwexchatlog.so

   2.用ultraedit,G跳到0x17fe0位置,在十六进制编辑模式下把0028,改成0128,保存。(我的研究的版本是5.3/5.4)

     原理很简单
      if(bPrintfConsleLog)
     {
        __printf_consle_log(xxxx,xxxx)
     }
        __logcrypt(xxxxx,xxxxx)
  
   改成
     if(!bPrintfConsleLog)
     {
        __printf_consle_log(xxxx,xxxx)
     }
        __logcrypt(xxxxx,xxxxx)
     

     

   3.用PUSH命令把放回去。

     adb push libwechatxlog.so /data/data/com.tencent.mm/lib/libwechatxlog.so   
  
   4.在电脑上把ADT的LOGCAT打开,设定过滤条件为com.tencent.mm。
   

   5.点击手机里的微信登录。

   6.看看电脑里的LOGCAT都输出了什么。哈哈好几百K数据,小保姆都全都说出来了。

05-02 13:33:33.483: I/: [com.tencent.mm.o.ap.java] :(3825): [, , 0]:onGYNetEnd(3825): [, , 0]:onGYNetEnd after post to worker netId:0, errType:0, errCode:0, isCancel:false, hashcode:1099094024

05-02 13:33:33.493: I/ :[com.tencent.mm.ab.k]: (3825): [, , 0]:onGYNetEnd: 1099094024 [0,0,null] hash isnotifydata:false time:331 [stack:[ab.k:<init>(129)][ui.dc:kJ(227)][sdk.platformtools.ay:handleMessage(68)][sdk.platformtools.au:handleMessage(167)][sdk.platformtools.au:dispatchMessage(122)] scene:12 time:1430573613 lastd:6892383 dotime:1430573613 net:0 endtime:1430573613]
05-02 13:33:33.493: D/ :[com.tencent.mm.ab.k]: (3825): [, , 0]:dkpush req Key : 189[ 08 45 12 08 08 34 10 8b 67 ad aa 02 12 08 08 02 10 91 ca ad aa 02 12 08 08 03 10 8c ca ad aa 02 12 08 08 04 10 94 8b ad aa 02 12 08 08 05 10 94 8b ad aa 02 12 04 08 07 10 00 12 04 08 08 10 00 12 08 08 09 10 8f ca ad aa 02 12 04 08 0a 10 00 12 08 08 0b 10 94 8b ad aa 02 12 04 08 65 10 00 12 04 08 66 10 00 12 04 08 67 10 00 12 04 08 68 10 00 12 04 08 69 10 00 12 04 08 6b 10 00 12 04 08 6d 10 00 12 04 08 6f 10 00 12 09 08 c9 01 10 a1 a4 93 aa 05 12 09 08 ca 01 10 f4 ed 92 aa 05 12 05 08 cb 01 10 00 12 09 08 e8 07 10 97 d3 92 aa 05 12 09 08 eb 07 10 98 e6 fc a9 05]
0

分析   
    1.微信里面的日志内容太丰富了(小保姆知道的太多),里面什么信息都有。
通过这些信息我们突破微信的其他防范。那就是天空飘来五个字-全都不是事

   2.通过日志,我们可以看到微信还收集你的手机的MAC地址,上次登录的时间,手机的IMEI,手机号码,手机型号,手机基带芯片序列号。
当前手机系统的用户(有没有ROOT),手机的家里WIFI路由器的地址,IP,上次登录的时间,地理位置,通信录的电话本信息。丫简直就是最大的间谍软件。

   3.微信给自已留的后门还真不少,内部人员完全可以拿到你的聊天记录密码等信息。   

总结     
    1.微信把太多的信息记录到日志中,使得有可能从日志下手获取更多客户信息和攻击系统,这是比较大的安全隐患。
   
   2.我们今天做了两件比较重要的事情,
     一是绕开了微信防篡改检测机制,修改了微信的程序,
       微信还是认为我们是合法的程序。
   
       二是绕开了加密环节,直接拿到了日志。
     
    其实微信防止我们改程序还是做了不少功夫的,
     包括签名机制,组件Recover机制,后台鉴别方式,输出的TAG标识加密等。
     不是光吃饭不干活,大家如果从正面入手肯定会遇到很多障碍,只不过这次我们用了巧劲。
   3.小保姆很重要,是我们了解程序输入输出的主要入口。

如果反映强烈,回贴过30,后续我们将继续深入 保安那些事。。。。。

[课程]Android-CTF解题方法汇总!

收藏
免费 3
支持
分享
打赏 + 20.01雪花
打赏次数 2 雪花 + 20.01
 
赞赏  secsip   +20.00 2017/06/30
赞赏  一位没有留下痕迹的看雪读者   +0.01 2017/05/04
最新回复 (72)
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习了
希望楼主放个大招
2015-5-6 12:22
0
雪    币: 111
活跃值: (1508)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
继续支持~
2015-5-6 13:06
0
雪    币: 4443
活跃值: (2066)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
希望楼主继续放个大招
2015-5-6 13:52
0
雪    币: 76
活跃值: (206)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
继续支持~
2015-5-6 14:21
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
继续支持~
2015-5-6 14:27
0
雪    币: 107
活跃值: (326)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
说明一下步骤2怎么分析的更实在,嘿嘿..
2015-5-6 15:05
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
支持楼主搞小保姆,爆她...
2015-5-6 15:27
0
雪    币: 1305
活跃值: (252)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
9
已补充。
2015-5-6 19:04
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
本楼就是地30层。
2015-5-7 10:31
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
思路真好~~~拍案叫绝啊
2015-5-7 14:11
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
厉害,这个 很好玩,
2015-5-7 15:08
0
雪    币: 473
活跃值: (178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
求介绍介绍“组件Recover机制,后台鉴别方式,输出的TAG标识加密”...
2015-5-7 15:23
0
雪    币: 225
活跃值: (195)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
日志分析 的不错。
2015-5-8 08:49
0
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
继续支持~
2015-5-8 09:15
0
雪    币: 3429
活跃值: (1551)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
果断放大招啊```!!!
2015-5-8 15:11
0
雪    币: 10
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
继续支持~
2015-5-8 19:37
0
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这个必须支持。
2015-5-8 19:52
0
雪    币: 14
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
坐看大牛分析!
2015-5-8 20:34
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
楼主很幽默,继续等待更新。。。
2015-5-9 08:48
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
求楼主放个大招。。。。
2015-5-9 11:17
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
支持楼主放大招。
2015-5-9 12:05
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
支持楼主放大招
2015-5-9 13:00
0
雪    币: 229
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
感谢楼主的分享,我怎么找不到微信的文件呢?希望大家帮助解答
2015-5-10 21:25
0
雪    币: 376
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
继续支持~
2015-5-10 22:00
0
游客
登录 | 注册 方可回帖
返回
//