0

高危漏洞

3

中危漏洞

1

低危漏洞

2

警告

文件名 drozer-agent-2.3.4.apk
上传者 josh
文件大小 0.60378170013428MB
MD5 6e6ba57a704c5a0895ac9a152d4cc399
包名 com.mwr.dz
Main Activity com.mwr.dz.activities.MainActivity
Min SDK 7
Target SDK 18

权限列表

# 名称 说明 提示
0 android.permission.INTERNET 允许程序访问网络. 提示

四大组件

组件名称

com.mwr.dz.activities.AboutActivity
com.mwr.dz.activities.MainActivity
com.mwr.dz.activities.EndpointActivity
com.mwr.dz.activities.EndpointSettingsActivity
com.mwr.dz.activities.ServerActivity
com.mwr.dz.activities.SettingsActivity

com.mwr.dz.services.ClientService
com.mwr.dz.services.ServerService
com.mwr.dz.services.SessionService

com.mwr.dz.receivers.Receiver

第三方库

# 库名 介绍
0 com.google.protobuf Protocol Buffers - Google's data interchange format https://developers.google.com/protocol-buffers/

静态扫描发现风险点

风险等级 风险名称

中危

检测到1处证书弱校验漏洞。

位置: classes.dex
com.mwr.common.tls.trust_managers.NaiveTrustManager;

当移动App客户端使用https或ssl/tls进行通信时,如果不校验证书的可信性,将存在中间人攻击漏洞,可导致信息泄露,传输数据被篡改,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制等攻击意图。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考案例:
www.wooyun.org/bugs/wooyun-2014-079358

参考资料:
http://drops.wooyun.org/tips/3296
http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/
https://jaq.alibaba.com/blog.htm?id=60

中危

检测到debug模式被打开。如果该项被打开,app存在被恶意程序调试的风险,可能导致泄露敏感信息等问题,建议关闭debug模式。

中危

该app需要移除大部分日志打印代码。
经扫描该包仍存在大量打日志代码,共发现13处打日志代码.(此处扫描的日志打印代码,是指调用android.util.Log.* 打印的.)
详情如下:

位置: classes.dex
com.mwr.dz.Agent;->createDefaultKeyMaterial()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.api.transport.SocketTransport;->close()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.api.connectors.Endpoint;->getTrustManager()Ljavax/net/ssl/TrustManager;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.api.links.Link;->log(Lcom/mwr/jdiesel/logger/LogMessage;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.dz.service_connectors.ClientServiceConnection;->onServiceConnected(Landroid/content/ComponentName; Landroid/os/IBinder;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.connection.AbstractConnection;->tryAndNotifyAll()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.dz.services.ClientService;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.api.links.Link;->log(I Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.dz.models.EndpointManager;->onUpgrade(Landroid/database/sqlite/SQLiteDatabase; I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.api.transport.SocketTransport;->(Ljava/net/Socket;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.jdiesel.connection.AbstractConnection;->checkForLiveness()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.dz.models.EndpointManager;->setActive(I Z)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.mwr.dz.services.ServerService;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I

低危

非debug包,需要通过打包平台proguard脚本,移除大部分系统输出代码。
经扫描该包仍存在大量系统输出代码,共发现1处系统输出代码.(此处扫描的系统输出代码,是指调用System.out.print*输出的,本应在打包平台移除的系统输出代码.)
各个bundle系统输出代码详情如下:

位置: classes.dex
com.mwr.jdiesel.api.links.Server;

警告

检测到1个导出的组件接收其他app的消息,这些组件会被其他app引用并导致dos攻击。

receiver com.mwr.dz.receivers.Receiver

建议:
(1)最小化组件暴露。对不会参与跨应用调用的组件建议显示添加android:exported="false"属性。
(2)设置组件访问权限。对provider设置权限,同时将权限的protectionLevel设置为"signature"或"signatureOrSystem"。
(3)组件传输数据验证。对组件之间,特别是跨应用的组件之间的数据传入与返回做验证和增加异常处理,防止恶意调试数据传入,更要防止敏感数据返回。

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-0169746
http://www.wooyun.org/bugs/wooyun-2010-0104965

参考资料:
http://jaq.alibaba.com/blog.htm?spm=0.0.0.0.Wz4OeC&id=55
《Android安全技术解密与防范》

警告

检测到1处socket通信。

位置: classes.dex
Lcom.mwr.jdiesel.api.connectors.ServerSocketFactory;->createSocket

Android应用通常使用PF_UNIX、PF_INET、PF_NETLINK等不同domain的socket来进行本地IPC或者远程网络通信,这些暴露的socket代表了潜在的本地或远程攻击面,历史上也出现过不少利用socket进行拒绝服务、root提权或者远程命令执行的案例特别是PF_INET类型的网络socket,可以通过网络与Android应用通信,其原本用于linux环境下开放网络服务,由于缺乏对网络调用者身份或者本地调用者id、permission等细粒度的安全检查机制,在实现不当的情况下,可以突破Android的沙箱限制,以被攻击应用的权限执行命令,通常出现比较严重的漏洞

参考案例:
http://www.wooyun.org/bugs/wooyun-2015-0148406
http://www.wooyun.org/bugs/wooyun-2015-0145365

参考资料:
http://wolfeye.baidu.com/blog/open-listen-port
http://blog.csdn.net/jltxgcy/article/details/50686858
https://www.bigniu.com/article/view/10
http://drops.wooyun.org/mobile/6973


动态扫描发现风险点

风险等级 风险名称

服务端分析

风险等级 风险名称

警告

检测到?处XSS漏洞。
开发中...

警告

检测到?处XSS跨站漏洞。
开发中...

应用证书