安全分析报告: NetCapture v2.1.82021972349

安全分数


安全分数 44/100

风险评级


等级

  1. A
  2. B
  3. C
  4. F

严重性分布 (%)


隐私风险

3

用户/设备跟踪器


调研结果

高危 3
中危 12
信息 4
安全 1
关注 5

高危 Activity (com.minhui.networkcapture.audio.mainactivity.MusicPlayActivity) 的启动模式不是standard模式

Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。

高危 默认情况下,调用Cipher.getInstance("AES")将返回AES ECB模式。众所周知,ECB模式很弱,因为它导致相同明文块的密文相同

默认情况下,调用Cipher.getInstance("AES")将返回AES ECB模式。众所周知,ECB模式很弱,因为它导致相同明文块的密文相同
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-block-cipher-mode

Files:
com/minhui/networkcapture/ads/CXAESUtil.java, line(s) 52,66,109

高危 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。

应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
com/minhui/networkcapture/ads/CXAESUtil.java, line(s) 59

中危 Service (com.minhui.networkcapture.core.CoreService) 未被保护。

[android:exported=true]
发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (com.minhui.vpn.service.CaptureVpnService) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_VPN_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Service (com.minhui.keepalive.RoavJobSevice) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_JOB_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (com.minhui.keepalive.BootCompleteReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (com.minhui.keepalive.WakeReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 应用程序使用不安全的随机数生成器

应用程序使用不安全的随机数生成器
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators

Files:
com/minhui/vpn/certificate/CertificateHelper.java, line(s) 31
com/minhui/vpn/utils/SocketUtils.java, line(s) 7
org/greenrobot/greendao/test/DbTest.java, line(s) 7

中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据

应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage

Files:
com/minhui/vpn/certificate/CertificateHelper.java, line(s) 169
com/minhui/vpn/certificate/CertificateManager.java, line(s) 57

中危 IP地址泄露

IP地址泄露


Files:
com/afollestad/materialdialogs/BuildConfig.java, line(s) 9
com/minhui/vpn/ProxyConfig.java, line(s) 164
com/minhui/vpn/processparse/NetFileManagerDumper.java, line(s) 145
com/minhui/vpn/service/CaptureVpnService.java, line(s) 46,63,62,61,60

中危 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库

应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2

Files:
com/minhui/vpn/greenDao/ConversationDao.java, line(s) 4,40
com/minhui/vpn/greenDao/NatSessionDao.java, line(s) 4,65
org/greenrobot/greendao/AbstractDao.java, line(s) 6,7,118
org/greenrobot/greendao/DbUtils.java, line(s) 6,15
org/greenrobot/greendao/database/StandardDatabase.java, line(s) 5,15

中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等

文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10

Files:
com/minhui/networkcapture/utils/AppConstants.java, line(s) 27
com/minhui/vpn/certificate/Authority.java, line(s) 8

中危 应用程序包含隐私跟踪程序

此应用程序有多个3隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。

中危 此应用可能包含硬编码机密信息

从应用程序中识别出以下机密确保这些不是机密或私人信息
AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "ca-app-pub-6140121056328024~7410559696"
"firebase_database_url" : "https://capturepro-b48bd.firebaseio.com"
"google_api_key" : "AIzaSyABWWCuMM__FubvNExz1CJzg5B-JifJuQg"
"google_crash_reporting_api_key" : "AIzaSyABWWCuMM__FubvNExz1CJzg5B-JifJuQg"
"key" : "Key:"
"key" : "Key:"
"key" : "Llave:"
0AC4B0811C8DE87AB303B1B026F2FCEF
1e515d12359e777e4ebf58d61200ff212434e858
1daec8f1afd099be70025034bd24aeaafa8baaeb

信息 应用程序记录日志信息,不得记录敏感信息

应用程序记录日志信息,不得记录敏感信息
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs

Files:
com/afollestad/materialdialogs/MaterialDialog.java, line(s) 594
com/afollestad/materialdialogs/internal/MDTintHelper.java, line(s) 140
com/alexvasilkov/gestures/animation/ViewPositionAnimator.java, line(s) 67,103,114,128,136,144,152,159,166,173,220,291,329,407,421,462,504
com/alexvasilkov/gestures/internal/Fps.java, line(s) 27,34,36
com/alexvasilkov/gestures/transition/ViewsCoordinator.java, line(s) 56,98,114,145
com/alexvasilkov/gestures/transition/ViewsTransitionAnimator.java, line(s) 38,53,64,109,139,186,196
com/minhui/bdvideoplayer/BDVideoPlayer.java, line(s) 27,130,138,123
com/minhui/bdvideoplayer/BDVideoView.java, line(s) 198,202
com/minhui/bdvideoplayer/view/VideoControllerView.java, line(s) 406,454,460,466,472
com/minhui/bdvideoplayer/view/VideoErrorView.java, line(s) 67,73,77,84,91
com/minhui/bdvideoplayer/view/VideoProgressOverlay.java, line(s) 57
com/minhui/keepalive/BootCompleteReceiver.java, line(s) 12
com/minhui/keepalive/KeepAliveManager.java, line(s) 114,125
com/minhui/keepalive/KeepAliveService.java, line(s) 37,68,74,133,160,165,186,122,127
com/minhui/keepalive/RoavJobSevice.java, line(s) 16,31,37,43,50,24
com/minhui/keepalive/WakeReceiver.java, line(s) 20,23,32,38,39,60
com/minhui/networkcapture/MainCaptureActivity$vpnStatusListener$1.java, line(s) 22,36
com/minhui/networkcapture/MainCaptureActivity.java, line(s) 254
com/minhui/networkcapture/MyApplication.java, line(s) 32,62,97,100,76,41,59
com/minhui/networkcapture/ads/banner/MyAdsView.java, line(s) 34,37,44,50,62,65
com/minhui/networkcapture/ads/interstitial/InterstitialManager.java, line(s) 53,59,68,79,86
com/minhui/networkcapture/audio/MusicPlayService.java, line(s) 89,109
com/minhui/networkcapture/audio/mainactivity/MusicPlayActivity.java, line(s) 36,87,93,100
com/minhui/networkcapture/audio/mainactivity/MusicPlayPresenter.java, line(s) 75,161
com/minhui/networkcapture/audio/util/ImageUtils.java, line(s) 24,67,279
com/minhui/networkcapture/base/BaseActivity.java, line(s) 154
com/minhui/networkcapture/core/CoreService.java, line(s) 35,22,27
com/minhui/networkcapture/floatview/FloatViewService.java, line(s) 78
com/minhui/networkcapture/floatview/view/AssistTouchViewLayout.java, line(s) 88
com/minhui/networkcapture/floatview/view/CaptureView.java, line(s) 56,62,104
com/minhui/networkcapture/floatview/view/FloatWindowMenuView.java, line(s) 52,100
com/minhui/networkcapture/floatview/windowmanager/AssistMenuWindowManager.java, line(s) 70,74,85,87,92,94,97,136,144,146,152,167,170,175,178,181
com/minhui/networkcapture/swipe/SwipeMenuLayout.java, line(s) 272
com/minhui/networkcapture/ui/ExportCertActivity.java, line(s) 102
com/minhui/networkcapture/ui/ImagesDetailActivity.java, line(s) 209,218
com/minhui/networkcapture/ui/LogCollectorActivity.java, line(s) 180,47,50,48,53
com/minhui/networkcapture/ui/PacketDetailActivity.java, line(s) 141
com/minhui/networkcapture/ui/SearchActivity.java, line(s) 108,113,151,167,185
com/minhui/networkcapture/upload/UpLoadSettingActivity.java, line(s) 192
com/minhui/networkcapture/utils/ContextUtil.java, line(s) 40,78
com/minhui/networkcapture/utils/MyFileUtils.java, line(s) 53,124
com/minhui/networkcapture/utils/PermissionUtil.java, line(s) 42
com/minhui/networkcapture/utils/Utils.java, line(s) 14
com/minhui/networkcapture/versioncheck/VersionCheckUtil.java, line(s) 74
com/minhui/networkcapture/video/VideoDetailActivity.java, line(s) 99
com/minhui/vpn/VpnServiceHelper.java, line(s) 97
com/minhui/vpn/certificate/CertificateHelper.java, line(s) 189,234,237
com/minhui/vpn/certificate/CertificateManager.java, line(s) 142,149,151,155,169,187,204,242,92,112,184
com/minhui/vpn/desktop/DesktopManager.java, line(s) 47,64,67,100,103,113,71
com/minhui/vpn/desktop/SendData.java, line(s) 56
com/minhui/vpn/greenDao/DaoMaster.java, line(s) 60,76
com/minhui/vpn/http/HttpRequestHeaderParser.java, line(s) 27,108,73,113,83,91
com/minhui/vpn/log/AndroidLog.java, line(s) 18,28,23,13,33,38
com/minhui/vpn/log/CombinationLog.java, line(s) 34,64,44,24,54,74
com/minhui/vpn/log/SimpleLog.java, line(s) 33,54,40,26,47,61
com/minhui/vpn/log/Utils.java, line(s) 14
com/minhui/vpn/log/VLog.java, line(s) 75,99,83,67,91,107
com/minhui/vpn/log/VPNLog.java, line(s) 77,107,87,67,97,117
com/minhui/vpn/nat/NatSession.java, line(s) 641
com/minhui/vpn/nat/NatSessionManager.java, line(s) 41,45,49
com/minhui/vpn/parser/HeadData.java, line(s) 37,56
com/minhui/vpn/parser/HttpFileParser.java, line(s) 114,149,151,179,184,71,189,106
com/minhui/vpn/parser/MyStrUtil.java, line(s) 47,62
com/minhui/vpn/parser/ParseUtil.java, line(s) 67
com/minhui/vpn/parser/SaveDataParseHelper.java, line(s) 36,72
com/minhui/vpn/parser/SaveDataSearchHelper.java, line(s) 33
com/minhui/vpn/parser/ShowData.java, line(s) 211,276,289,336,339,347,352,355
com/minhui/vpn/parser/SocketFileParser.java, line(s) 67,51
com/minhui/vpn/parser/TcpDataSaveHelper.java, line(s) 149,157,173,179,183,72,119,203
com/minhui/vpn/ping/SSLJudge.java, line(s) 34,41,63
com/minhui/vpn/processparse/AppInfo.java, line(s) 82
com/minhui/vpn/processparse/DefaultAppManager.java, line(s) 29
com/minhui/vpn/processparse/NetFileManagerDumper.java, line(s) 104,107,110,113,120,143,149,151,163,216
com/minhui/vpn/proxy/TcpProxyServer.java, line(s) 60,99,108,135
com/minhui/vpn/service/CaptureVpnService.java, line(s) 403,406,297,330,333,350,103
com/minhui/vpn/tunnel/BaseHttpsTunnel.java, line(s) 161,271,532,154,598,96
com/minhui/vpn/tunnel/NetworkDataHandlerDelegate.java, line(s) 30,52
com/minhui/vpn/tunnel/RemoteHttpsTunnel.java, line(s) 58
com/minhui/vpn/tunnel/TunnelFactory.java, line(s) 22,26,34
com/minhui/vpn/tunnel/UDPServer.java, line(s) 111,116,118,120,104
com/minhui/vpn/tunnel/UDPTunnel.java, line(s) 107,147
com/minhui/vpn/upload/UploadUtil.java, line(s) 68,77
com/minhui/vpn/utils/SocketUtils.java, line(s) 26
com/minhui/vpn/utils/ThreadProxy.java, line(s) 69,110
com/minhui/vpn/utils/Utils.java, line(s) 25
me/zhanghai/android/materialprogressbar/BaseProgressLayerDrawable.java, line(s) 73
me/zhanghai/android/materialprogressbar/MaterialProgressBar.java, line(s) 120,362,372
org/greenrobot/eventbus/Logger.java, line(s) 81,86
org/greenrobot/eventbus/util/ErrorDialogConfig.java, line(s) 34
org/greenrobot/eventbus/util/ErrorDialogManager.java, line(s) 188
org/greenrobot/eventbus/util/ExceptionToResourceMapping.java, line(s) 25
org/greenrobot/greendao/AbstractDao.java, line(s) 380,280,721
org/greenrobot/greendao/DaoException.java, line(s) 28,29
org/greenrobot/greendao/DaoLog.java, line(s) 35,39,67,15,43,47,27,31,51,55,59,63
org/greenrobot/greendao/DbUtils.java, line(s) 88,30
org/greenrobot/greendao/async/AsyncOperationExecutor.java, line(s) 173,183,195,129
org/greenrobot/greendao/internal/LongHashMap.java, line(s) 132
org/greenrobot/greendao/query/QueryBuilder.java, line(s) 242,245
org/greenrobot/greendao/test/AbstractDaoTest.java, line(s) 55,57,47
org/greenrobot/greendao/test/AbstractDaoTestLongPk.java, line(s) 32,35
org/greenrobot/greendao/test/AbstractDaoTestSinglePk.java, line(s) 305
org/greenrobot/greendao/test/DbTest.java, line(s) 85

信息 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它

此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04b-Mobile-App-Security-Testing.md#clipboard

Files:
com/minhui/networkcapture/ui/PacketDetailView.java, line(s) 4,207

信息 此应用程序使用SQL Cipher。SQLCipher为sqlite数据库文件提供256位AES加密

此应用程序使用SQL Cipher。SQLCipher为sqlite数据库文件提供256位AES加密


Files:
org/greenrobot/greendao/database/SqlCipherEncryptedHelper.java, line(s) 15,4,5

信息 应用程序可以写入应用程序目录。敏感信息应加密

应用程序可以写入应用程序目录。敏感信息应加密


Files:
com/minhui/networkcapture/MainCaptureActivity.java, line(s) 154,154

安全 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击

此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#testing-custom-certificate-stores-and-certificate-pinning-mstg-network-4

Files:
com/minhui/vpn/certificate/CertificateHelper.java, line(s) 209,208,207,207
com/minhui/vpn/certificate/MergeTrustManager.java, line(s) 55,54,53,53
com/minhui/vpn/tunnel/RemoteHttpsTunnel.java, line(s) 42,41,40,40

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (www.pgyer.com) 通信。

{'ip': '58.220.52.250', 'country_short': 'CN', 'country_long': '中国', 'region': '江苏', 'city': '扬州', 'latitude': '32.397221', 'longitude': '119.435600'}

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (app-measurement.com) 通信。

{'ip': '58.220.52.250', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (huolizhuminh.cn) 通信。

{'ip': '118.195.231.166', 'country_short': 'CN', 'country_long': '中国', 'region': '北京', 'city': '北京', 'latitude': '39.907501', 'longitude': '116.397102'}

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (googleads.g.doubleclick.net) 通信。

{'ip': '58.220.52.250', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (pagead2.googlesyndication.com) 通信。

{'ip': '58.220.52.250', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}

安全评分: ( NetCapture 2.1.82021972349)