报告名称:对锁机APP”防蹭网大师”的逆向分析
作者:wnagzihxain
报告更新日期:2016.07.31
样本发现日期:不详
样本类型:锁屏
样本文件大小/被感染文件变化长度:
样本文件MD5 校验值:
样本文件SHA1 校验值:
壳信息:无
可能受到威胁的系统:安卓
相关漏洞:无
已知检测名称:无 非常有意思的一个解锁方式 Apk的形式还是一个apk嵌套另一个锁机样本 所以前面的分析就不讲了,直接来看锁机apk 看起来和以前的apk是一样的,其实不是的 来看以前分析过的apk的生成锁机序列号和解锁密码的地方 发现没有相关的语句 什么情况??? 来看button的监听事件,这里说不定会有答案 看到这里是读取输入框的值进行对比瞬间心安了一下 但是来看一下这个控件在xml里的定义 Invisible的意思就是看不到,也就是没法输入 那么结合上面一想,既然不能输入,那么这个岂不是永远不成立,那这个岂不是永远解不开? 想到这里吓得我赶紧回去再看一眼 突然发现这里执行了一个方法 赶紧过去看看写的是啥 访问了一个页面,然后获取返回的数据转为字符串之后传给handler处理 这里有两个case,结合上面两张图可以判断出case1是请求出错的分支,所以不执行,case2是返回码是200的分支,返回码200是请求成功的意思,所以开始判断返回的数据里是否包含textview_3的字符串,那么把ifelse里面的语句连起来,意思就是当返回的数据里包含textview_3的字符串则解锁 好了现在来看看textview_3里是什么东西 很明显的是随机生成一个十个字母的字符串 也就是说:随机生成十个字母的字符串,当请求的页面上有这个随机字符串的时候就会解锁 来看这个页面 现在没有东西,可以猜出来当有人加作者解锁的时候,作者会修改这个界面的日记本,内容就是受害者手机那个随机字符串,解完锁立刻删除(昨天我看的时候还有一个字符串的) 现在我们来验证一下 先创建一个页面,注册一下就行的 我写了一个很短的demo 上androidkiller,反编译出来找到请求的网址 修改成刚才我们自己的页面,编译出来 然后将这个apk修改为so后缀,替换掉原先apk的ijm-x86.so文件,注意文件名,然后签名最终的apk 来测试 安装好后,根据随机字符串修改页面的数据,只要包含即可 然后就解开了,右边是真正的锁机apk 关于写入system/app的apk如何删除前面的分析详细描述,这里就不讲了 但是被锁机的手机怎么解锁呢? 中间人攻击即可,怎么做这里不描述了,自行搜索吧
原文地址:
http://www.wangzhixian.org/analy ... %E5%88%86%E6%9E%90/
|