某天晚上在家用电脑看直播时发现画面卡顿,排查发现并非是电脑 /主站网络问题,排查是否有第三方未知设备或服务占用带宽,发现母上大人所使用的 vivo 手机在当时确实存在占用了大量带宽的情况,核查发现,部分在线视频应用确实有在后台运行,但视频在全部缓冲完成之后带宽占用会暂时降低到正常范围,但带宽占用过高的问题仍未彻底解决!
进一步分析,在路由器上针对 vivo 手机的 ip 进行抓包分析,确认该端口确实存在有来自外部 ip 的访问,但对于已关闭 UPnP 功能的局域网环境来说,外部 ip 则无法访问。由于没有 Root 权限,目前仅确认了该端口是由某个系统进程所使用,且根据抓包数据来分析,通信报文使用 HTTP 协议,手动测试请求访问时会回应包含有"Test Intercept"字段数据,据此在全网范围内搜索符合以上条件的主机有将近 7 万台,基本都是国内电信的,相信这些数据只是冰山一角,背后隐藏的秘密尚待深挖…
201
codehz 2021-05-25 01:22:59 +08:00
|
202
TypeError 2021-05-25 09:16:33 +08:00 via Android
没用过国产安卓,快应用是国产安卓山寨 pwa 的东西吗
|
203
Les1ie 2021-05-25 09:23:23 +08:00
https://i.loli.net/2021/05/25/XqRKVAo3u65SaEN.png
可以添加 __NAME__参数,控制弹窗提示的名字 http://192.168.123.81:55555/?i=1&__PROMPT__=1&__NAME__=hacked_by_somebody&__SRC__=hack __SRC__参数的作用暂不明确 |
204
Frytea 2021-05-25 09:32:22 +08:00 via Android
扫了一下手里这台 oneplus 9 pro,发现开放了 46888 端口,用途未知
|
205
stcode 2021-05-25 09:40:31 +08:00
我去,随便在网站找个 IP,竟然还有后台登陆界面,牛逼
|
206
ZeroDu 2021-05-25 09:49:08 +08:00
"Exemple" 这就很个性啊
|
207
ZeroDu 2021-05-25 09:50:27 +08:00
Padavan(老毛子) 我路由是这个固件怎么查看 UPNP
|
208
cwyalpha 2021-05-25 09:57:47 +08:00
看文档 https://doc.quickapp.cn/tutorial/platform/url-jump-configuration.html
和 http://statres.quickapp.cn/quickapp/js/routerinline.min.js __PROMPT__指定是否跳转, __NAME__定名字,i 是包名,比如 com.sina.weibo.quickapp 另外 js 里访问 /images 会返回 1px 的图片,和之前 @manmuy 观察到的一样 |
209
gah1227 2021-05-25 10:19:02 +08:00
关闭 vivo 的 daemonService
C:\adb\ADB>adb shell pm disable-user com.vivo.daemonService Package com.vivo.daemonService new state: disabled-user 关闭 vivo 的 upnpserver C:\adb\ADB>adb shell pm disable-user com.vivo.upnpserver Package com.vivo.upnpserver new state: disabled-user 关闭 vivo 的快应用 C:\adb\ADB>adb shell pm disable-user com.vivo.hybrid Package com.vivo.hybrid new state: disabled-user 关闭 vivo 的系统更新 C:\adb\ADB>adb shell pm disable-user com.bbk.updater Package com.bbk.updater new state: disabled-user ADB 一顿操作,55555 端口仍在裸奔…… 求教如何补锅? |
210
Kiriya 2021-05-25 10:35:03 +08:00
自从魅族快应用自动安装快应用浏览器,并且强制用快应用浏览器打开网页链接,
就用 ADB 卸载了快应用,快应用这东西就是鸡肋 |
211
zjm947373 2021-05-25 10:51:35 +08:00
国产机基本都有快应用服务的,也没听说其他品牌有这个问题
|
212
weizhen199 2021-05-25 11:04:08 +08:00
基本操作,坐下
|
213
zhoushangren 2021-05-25 12:08:34 +08:00
@aszfgdaga 似乎是苹果的...手机上有安装 Apple Music 之类的吗?强行停止后再试试。
|
214
Les1ie 2021-05-25 12:28:52 +08:00 11
根据 @cwyalpha 的回复,现在能构造出控制内网 /公网机器跳转到指定快应用的链接了
可以设置 __PROMPT__的值决定是直接跳转还是弹窗确认是否跳转,如果 __PROMPT__=0,那么无需用户确认,自动跳转到指定的快应用。 此外该链接可以通过本机访问目标网站触发或者攻击者远程触发。 攻击者远程触发: http://ip:55555/?i=com.meituan.waimai.quickapp&__PROMPT__=1&__NAME__=ttteeesssttt # 有弹窗,启动美团外卖 http://ip:55555/?i=com.meituan.waimai.quickapp&__PROMPT__=0&__NAME__=ttteeesssttt # 无弹窗,直接启动美团外卖 水坑攻击:在某个网页添加能发起请求的代码,如添加 <img>, <img src="http://127.0.0.1:55555/?i=com.meituan.waimai.quickapp&__PROMPT__=0&__NAME__=tttesttt"> 受害者访问此页面后可以直接跳转到美团外卖(此请求其实是设计者预设的合法请求,但是可能被水坑攻击利用) 说到底,其实这是 quickapp 的 feature,通过 http 请求唤醒应用,这里监听了所有端口导致了问题的严重放大,被映射到公网,导致了问题的更严重的放大,致使了这个 feature 可能被攻击者远程利用,通过内网 /公网的一次 GET 请求启动目标手机的应用。 暂未确认是 UPNP 导致的端口被映射到公网,还是其他途径映射到公网的,fofa 搜索指纹能找到 7 万台设备,zoomeye 搜索指纹能找到 20 万台设备。两个厂商扫描的周期不同以及可能存在历史数据,个人推测公网受害者大约在 10 万台这一量级。 对于没有映射到公网的设备,数量可能是映射到了公网的设备的千倍。根据 https://finance.sina.com.cn/tech/2021-05-01/doc-ikmxzfmk9958014.shtml 的内容,在大内网的地方,比如企业内网、校园网,漏洞触发可能更容易。 根据楼上各位大佬分析到的结果,这应该已经能算是一个有一定危险性的漏洞了,推测 CVSS 评分 5-6,可能的攻击场景是远程启动受害者应用或者反复请求恶意 URL 导致拒绝服务攻击。但是更严重的利用,比如注册一个恶意的快应用,然后通过此触发方式在受害者手机上启动该快应用,进一步实现权限提升,可能是可以实现的,但存在一定难度。 锅不能全扔给 vivo,快应用也得背一点,可能不只是 vivo 存在这个问题,其他品牌支持快应用的手机可能也有类似的问题 :) 至于如何解决 55555 仍在开放,目前为止该漏洞仍然可以被恶意利用这个问题,暂时只能在路由器里面关 upnp,adb 卸载某些包(哪些我也不知道)。关 UPNP 只能防御来自 NAT 之外的攻击,不能抵御内网里的攻击,所以,等 vivo 的 OTA 更新吧 (推测他们会处理这个问题叭) 至于楼主的存在较大的带宽占用这个问题,目前似乎没有更多的信息了,个人推测快应用可能和 HCDN 没有关系。 另: 蹲一蹲楼上各位大佬写的分析过程 :) |
215
cwyalpha 2021-05-25 12:34:55 +08:00
i=包名&__PROMPT__=1/0&__NAME__=名称&p=路径&a=参数
PROMPT 和 NAME 用在弹窗。其他参数是给 com.vivo.hybrid, https://hybrid.vivo.com/app/包名?__SRC__={packageName:com.vivo.daemonService,type:web_intercept}&path=路径?参数 @Les1ie 不知道能不能通过指定路径和参数发起支付 |
216
cwyalpha 2021-05-25 12:48:34 +08:00
vivo 在 com.vivo.daemonService.pdd 里还用同样的方式开了 56666 的口,也有可控参数,是传给 pinduoduo://com.xunmeng.pinduoduo 不知道用 vivo 手机的各位访问 IP:56666 看看有什么东西,不过这个口好像没有映射到互联网上
|
217
fucku 2021-05-25 13:08:15 +08:00 10
现在我知道 V2EX 为什么被墙了, 就是你们知道的太多了
|
218
fucku 2021-05-25 13:08:46 +08:00
老老实实当个韭菜不好吗
|
219
RockShake 2021-05-25 13:18:14 +08:00
ADB 卸载快应用后该端口还处于打开状态
|
220
cwyalpha 2021-05-25 13:20:37 +08:00
@RockShake 卸载快应用应该就安全了,这个口就处理 3 类请求,一个首页返回 exemple,一个是访问 images/favicon 返回 1px 图片,一个是调用快应用。如果卸了快应用应该暂时没什么问题。
|
221
droidmax61 OP @fucku 非蠢即坏,如果有那么一天你因为这样的漏洞蒙受损失,你会怎么办?
|
222
droidmax61 OP 亡羊补牢,为时不晚
|
223
weizhen199 2021-05-25 13:33:25 +08:00
话说你们不知道小米也是这样嘛,直接承包了你所有的返利
|
224
doveyoung 2021-05-25 13:37:30 +08:00
|
225
yanqiyu 2021-05-25 14:01:20 +08:00 1
在 MIUI 里面也发现了一个监听,端口 61593,curl 响应是
HTTP/1.1 200 OK Content-Length: 17 Content-Type: text/html;charset=UTF-8 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Authentication Server: PleaseWakeUpSimpleHttpServer 内容是 {"result":"fail"} |
227
jsq2627 2021-05-25 14:13:49 +08:00 1
vivo 用户表示坐等澳门 du chang 弹窗...
|
228
wwk 2021-05-25 14:15:57 +08:00
吃瓜
|
229
misdake 2021-05-25 14:28:25 +08:00
实验了一下本地链接调起快应用,设置 prompt 可以静默跳转也可以弹窗确认跳转。
系统设置里有“网页链接调用快应用服务”的开关,关闭了之后,端口和弹窗仍然保留,但无法调起应用。 |
230
ErrorMan 2021-05-25 15:37:26 +08:00
看了一眼 zoomeye,如果是 ipv6 的话似乎不需要 upnp 也可以直接访问到手机,本地监听的地址也挺危险的
|
231
shikkoku 2021-05-25 16:28:15 +08:00
如何正确卸载快应用?对应系统的包名是什么?卸载快应用可以确保安全了吗?😦
|
232
zjsxwc 2021-05-25 16:41:24 +08:00
@yanqiyu #225
MIUI 什么版本? 我这老版 MIUI 11.0.6 没有这个端口 curl 192.168.1.102:61593 curl: (7) Failed to connect to 192.168.1.102 port 61593: Connection refused |
233
QwQmoe 2021-05-25 16:52:56 +08:00 via Android
@yanqiyu 这个端口是包名为 com.miui.dmregservice 的 APP 在做监听,拆包 grep 也匹配到了'PleaseWakeUpSimpleHttpServer' 字符串。
百度搜了下这个 APP 暴露的服务( cn.richinfo.dm.service ),可能跟中国移动 DM (终端管理服务)有关。 另外我用的是联通卡,机子清数据刷上 12.5 后没插过移动卡,这个 APP 的安装包一直躺在系统目录里没有被自动安装.. |
235
AaronTwan 2021-05-25 17:27:30 +08:00
经常遇到手机关闭所有(可见)应用之后,状态栏实时网速疯狂跑流量,就是不知道谁在跑
|
237
chx818 2021-05-25 17:39:07 +08:00
iqoo 社区反馈了一下,目前得到这样的回复
“iQOO 售后酥糖 LV8 您好,55555 是快应用引擎使用的端口号,用于手机内部通信,实现 H5 页面跳转对应软件快应用的作用。 2021-05-25 10:38 来自 PC chx818 LV3 回复 iQOO 售后酥糖 :请问该功能是否会对手机安全与隐私保护造成影响? 2021-05-25 10:59 chx818 LV3 回复 iQOO 售后酥糖 :还有一个问题就是为什么我清除了快应用的全部数据并且强制停止了为什么这个端口是开放状态 2021-05-25 11:07 iQOO 售后酥糖 LV8 回复 chx818:经过确认,该端口是用于手机内部通信,第三方应用如果主动扫描并请求连接该端口,手机不会处理这些请求,因此不会影响手机的使用安全,请您放心。后续我们也会进一步完善手机内部通信使用的业务端口,防止第三方应用请求和连接相应端口,确保安全。 2021-05-25 16:48” |
239
Coolxiaobai 2021-05-25 18:31:12 +08:00
迟早把你们这些搞 IT 的给 ban 了(手动狗头)
|
240
yanqiyu 2021-05-25 18:47:52 +08:00
@QwQmoe https://twitter.com/Haruhi_Smith/status/1397087584333942784
这里面有一些关于 com.miui.dmregservice 的逆向 |
241
neqhqrim 2021-05-25 19:01:40 +08:00
com.nearme.instant.platform ●快应用
com.nearme.romupdate ●快应用服务引擎更新 直接用 ADB 干掉,Realme 手机。 |
243
droidmax61 OP 可以自定义弹窗显示内容
|
244
droidmax61 OP 目前所有内置快应用框架的手机系统都可以通过在本地访问
thefatherofsalmon.com/?i=1&a=__PROMPT__%3D1%26__NAME__%3DTest 来实现自定义显示内容的弹窗 |
245
droidmax61 OP @droidmax61 远程弹窗同理
|
246
droidmax61 OP @droidmax61 远程 vivo 弹窗同理
|
247
droidmax61 OP @droidmax61 远程 vivo 自定义显示内容弹窗同理
|
248
droidmax61 OP 此外,这个 thefatherofsalmon.com 域名在装有快应用框架的手机中进行本地解析得到的 ip 地址也不尽相同
|
249
droidmax61 OP 猜测手机系统中存在指定域名 dns 劫持的隐藏功能
|
250
neqhqrim 2021-05-25 19:52:38 +08:00
国产手机,把它 DNS 请求返回的 IP 全部在路由器防火墙上屏蔽后,居然还在偷偷往外传数据,分析发现它在系统内置有多个备用 IP 段,这些备用 IP 分布在全国各地。
|
251
dLvsYgJ8fiP8TGYU 2021-05-25 20:00:46 +08:00 via iPhone
@neqhqrim
你可以试一下 DNS 劫持腾讯系所有域名,比如 qq.com -> 127.0.0.1,微信居然还能用。抓包看到走的是纯 IP 地址。考虑应该是 APP 内置自己的 IP List @droidmax61 你是用系统自带浏览器测试的吗?还是说手机上任何一个浏览器都能解析该域名到指定 IP ? 这可以判断出是浏览器做的劫持,还是系统级的劫持。 |
252
droidmax61 OP 这个域名被注册过
|
253
jousca 2021-05-25 20:05:47 +08:00
居然是个超级漏洞,哈哈哈哈哈。 这样可以随便在 VIVO 手机上弹广告了
|
254
xuanweimy 2021-05-25 20:15:19 +08:00 via Android 15
我是蓝厂的工程师,感谢各位大神指出问题。昨天看到帖子后,马上跟同事们一起核实了情况,也明确了改进的方向,下面是具体的情况:
经过我们的测试发现,帖子中提到的 55555 端口是快应用引擎所使用的端口,该端口用于手机内部通信,实现 H5 页面跳转对应软件快应用的作用,并不会用于内容分发网络 CDN 节点。 因为快应用网页跳转功能实现方案需要开放手机 55555 端口,在正常情况下,55555 端口不会主动与外部 IP 地址建立通信连接,因而也就不会占用带宽。 不过这里确实有一个尴尬的问题,就是如果手机 IP 被第三方获知,那么第三方可以从其他设备往这台手机 IP 地址 55555 端口发起连接,当连接数量很多时,就会影响到网络带宽。但是这里需要说明的是,只有在本机 IP 是公网 IP 的情况下,其他设备才能通过公网访问到本机 IP ;而大多数情况下,我们的手机是连接 WI-FI 或数据网络,此时 IP 均为局域网 IP,只有第三方通过与本机连在同一局域网下,才能进行连接和发送数据。 根据我们的测试,用户在手机设置-》应用与权限 -》系统应用设置-》快应用-》快应用管理中关闭网页链接调试快应用服务,能够规避外部调起快应用的问题。 后续,对于 55555 端口的问题,我们将缩小其基础能力范围,只允许本机访问,阻断外部访问,通过 rom 升级的方式陆续推送完成。 再次感谢大神对 vivo 的关注,如果之后有遇到技术上的问题,我们可以再一起交流。谢谢! |
255
nasaboy 2021-05-25 20:22:55 +08:00
所以会抢占带宽到底是哪个程序导致的?
|
256
yanqiyu 2021-05-25 20:31:59 +08:00
@xuanweimy 快应用网页跳转为什么不用伪协议,靠本机的 http 端口做事且不加验证,也有可能被通过恶意程序 /网页等用来搞破坏
|
257
JensenQian 2021-05-25 20:34:43 +08:00
移动宽带大内网没啥担心的
|
259
chx818 2021-05-25 20:39:29 +08:00
@xuanweimy 你所说的”只有第三方通过与本机连在同一局域网下“,这样的情况其实公共 WiFi 就可以很简单的实现,所以希望你们能尽早修复这个问题吧
|
260
droidmax61 OP @xuanweimy 还有一个问题你没有解释,就是为什么 55555 端口会被映射出去?
|
261
droidmax61 OP 这个问题存在了至少 4 年,再多的我也不想说了
|
262
droidmax61 OP 你们就不能学学某为,给个选项用于停止所有有关快应用相关服务么?
|
263
Angdo 2021-05-25 21:32:05 +08:00 via Android 1
@JensenQian #257 移动网络依旧有被暴露设备,而且移动大内网为什么不能被利用?主要有链接到移动内网的设备一样可以
![移动] ( https://i.loli.net/2021/05/25/1c7eaQMIRV3rkSl.jpg) |
264
Angdo 2021-05-25 21:32:21 +08:00 via Android
只要有
|
265
JensenQian 2021-05-25 21:36:23 +08:00
@Angdo #263 挖草,感谢大佬
|
266
droidmax61 OP 有多了一个实锤的证据:vivo 快应用有意将 55555 端口映射到外部网络
|
267
droidmax61 OP 还有就是 transsdk 疯狂在后台建立 p2p 连接的目的是?
|
268
droidmax61 OP 这个 transsdk 很有可能是第三方用户应用
|
269
chenjies 2021-05-25 22:09:07 +08:00
iphone 应该是最懒的手机了,用非国区账号。
|
271
justfun 2021-05-25 22:25:40 +08:00
|
273
melsp 2021-05-25 23:04:01 +08:00 via Android
向 vivo 反馈了没
|
274
cielpy 2021-05-25 23:37:55 +08:00
比较好奇手机怎么有公网地址的
|
276
bleachbl 2021-05-26 00:43:35 +08:00 via Android
还好我手机一直是三星和索尼
|
277
Greatshu 2021-05-26 00:44:01 +08:00
搞电信诈骗的有新玩具了
|
278
hst001 2021-05-26 00:51:38 +08:00
@xuanweimy 由于大概率当初设计这个方案时你可能还没参与,所以下面的话不是针对你的
就算是局域网,哪怕是本机,最基本的安全验证也是要的,只能说当初搞这个的团队真的毫无安全意识。 |
279
droidmax61 OP @xuanweimy 映射 55555 端口到公网的目的是什么?
|
280
doveyoung 2021-05-26 09:00:56 +08:00
@xuanweimy #254
1. 为啥要监听 0000 2. “自己 IP 被第三方获知”,老哥我不需要知道具体的 IP,我知道了端口和特征去扫描不行吗,我打你,与你何干 3. 搞点实际的,别这么官方 4. 就像楼上 #278 说的,估计你当时也没参与方案,不吐槽了,赶紧解决吧,以后估计有更多 |
281
zhujinliang 2021-05-26 09:05:27 +08:00 via iPhone
用户在手机设置-》应用与权限 -》系统应用设置-》快应用-》快应用管理中关闭网页链接调试快应用服务
等等等等,什么叫做“调试”?这是快应用的主要实现方式吧,再者,调试功能为什么是默认开启的 只能说这是个后门 |
282
ihipop 2021-05-26 10:08:14 +08:00 via Android
@droidmax61 为啥我 MIUI 不行?
|
283
imldy 2021-05-26 10:35:22 +08:00
荣耀 20 (华为负责更新,不是新荣耀)
扫描出 4 个 TCP 高位端口: PORT STATE SERVICE 39299/tcp filtered unknown 42971/tcp filtered unknown 44375/tcp open unknown 62110/tcp open unknown |
285
cvbnt 2021-05-26 10:48:09 +08:00
有意思,但是其他品牌手机也有未知高位端口,被黑产利用可太酸爽了
|
287
JinTianYi456 2021-05-26 12:26:59 +08:00
mCDN 的 m 是啥?
|
288
CodeCodeStudy 2021-05-26 14:09:16 +08:00
@chx818 #238 互传的端口是 55666
|
289
nexuszjq 2021-05-26 16:05:42 +08:00
一加 9pro coloros11 应用列表找不到快应用,但在 breeno 里有订阅快应用的开关,可能是集成到 breeno 里了,没法单独卸载
|
290
droidmax61 OP @nexuszjq 建议换个 ROM,比如氧 OS
|
291
Jonny_R 2021-05-26 17:02:58 +08:00
国产手机还是不敢用
|
292
zeroowtone 2021-05-26 17:27:34 +08:00
@droidmax61 hahahahah
|
293
droidmax61 OP @zeroowtone lol
|
294
LANB0 2021-05-26 17:33:10 +08:00
@droidmax61 看楼上扒出来的代码,搞不好是某些开发为了跨网段调试搞了映射,然后把调试代码提交进代码库了
|
295
droidmax61 OP title="Exemple" && body="Test Intercept" && port="55555"
扫描结果有新的变化,部分响应报文中多了新的 Server 字段,值为 Apache/0.8.4,响应内容的类型也不再是 text/plain,而是可以被浏览器正常解析的 html |
296
wspsxing 2021-05-26 20:57:45 +08:00
感谢楼主,adb 卸载三个包就没了
com.vivo.hybrid com.vivo.upnpserver com.vivo.daemonService ,但是还有个监听本地的,不知道是什么 PD:/ $ ss -tlp State Recv-Q Send-Q Local Address:Port Peer Address:Port Cannot open netlink socket: Permission denied LISTEN 0 0 [::ffff:127.0.0.1]:39461 *:* |
297
droidmax61 OP @wspsxing 还有快应用更新相关的软件包
|
299
droidmax61 OP @dsx826 如果像 fofa 这些漏扫引擎如果支持 ipv6,那扫出来的设备只会更多
|