文章总结: LightSpy已从APT工具演变为产品化监控平台SurveillanceasaService。研究通过SSL证书指纹将已知C2从1台扩展到117台服务器。平台支持70+插件覆盖iOS、Android、Windows、macOS、Linux和路由器。操作面板暴露多租户架构含demo和计费层级。通过面板中开发者遗留的炸鸡外卖订单完成部分归因。建议检查MikroTik路由器固件和计划脚本。 综合评分: 86 文章分类: 威胁情报,恶意软件,移动安全,网络安全,安全工具
LightSpy:72 台服务器的监控即服务帝国
原创
AIxSec69 AIxSec69
AIxSec69
2026年8月25日 21:56 中国香港
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
LightSpy:72 台服务器的监控即服务帝国
来源:Black Hat USA 2026 | Threat Intelligence / Mobile Security
标题:Surveillance as a Service: LightSpy’s 72 Servers, Router Implants, and Operators Eating Out for Fried Chicken Forensics
作者:Dmitry Bestuzhev, Dmitry Melikov
适合读者:威胁情报分析师、恶意软件逆向工程师、移动安全工程师、企业安全团队
简介:LightSpy 是一个产品化的多平台监控框架,70+ 插件覆盖 iOS、Android、Windows、macOS、Linux 和路由器。演讲者通过 SSL 证书指纹将已知 C2 从 1 台扩展到 117 台服务器,反编译了操作面板,发现了此前未知的路由器植入模块,并借助开发者留在面板里的一笔炸鸡外卖订单完成了部分归因。
◆ ◆ ◆
2020 年,LightSpy 第一次被公开。当时它通过恶意 iframe 和 N-day exploit 攻击香港的抗议相关网站,看起来像一个典型的 APT 工具。
六年后的真实情况比那个判断复杂得多。
Dmitry Bestuzhev 和 Dmitry Melikov 在 Black Hat USA 2026 上的研究结果表明:LightSpy 不是某一个 APT 组织的内部工具。它是一个产品化的监控平台,有多租户架构、demo 试用层级、计费标记、白标客户品牌。开发方是深圳一家 18 人的软件公司。客户,据演讲者的操作行为分析,至少包括按朝九晚五、周末双休节奏上班的政府机构人员。
就是 Surveillance as a Service。字面意思。
从 1 到 117
研究的起点是一个已知 C2:47.96.148.5:52202,北京阿里云。到 2024 年 10 月还在上传新版 plugin manifest。被公开曝光四年后,这个项目仍然在活跃开发。
扩展方法不复杂,但执行得彻底:提取这个 C2 的 SSL 证书指纹,在全网扫描数据里找同一张证书、同一签发模式的服务器。1 台变成 117 台,分布在 39 个 ASN、19 个国家。最多在中国大陆(33 台)和香港(27 台),其次新加坡 18 台。最大托管方是阿里云(22 台),然后是 TOPWAY GLOBAL(14 台)、腾讯(7 台)。
端口分布也很有规律。52202 是主 C2 和 plugin 分发端口(49 台),2096 做 HTTPS plugin 分发,53501 是面板登录入口。路径 /ujmfanncy76211/login,32 个字符的随机前缀。
另外还挖出了 35 个伪装域名。12 个仿冒电信运营商和手机品牌:turkcellphone.com(仿土耳其 Turkcell)、etisalatphone.cloud(仿阿联酋 Etisalat)、phoneforjazz.com(仿巴基斯坦 Jazz)、m.xiaomivideo.com、samsunginfotech.com。12 个通过 Gname.com 注册,一家新加坡注册商。
▲ 框架架构总览(来源:Black Hat USA 2026 Slides)
Demo、计费和多租户
演讲者拿到了 live 操作面板。Vue.js 前端,webpack 打包,56 个 chunk。两个致命的配置失误:source map 从来没关,dev 环境的 fixture 数据也没删。
面板显示了完整的受害者管理界面。设备 ID、平台版本、手机型号、Wi-Fi SSID、IP 地址、在线状态——中文显示 设备已上线。演讲者在 slides 上打码展示了其中一条:iPhone,iOS 13.9,香港号码,连接到名为 Haso\_618 的 Wi-Fi。
后端暴露 271 个 REST 端点,144 条植入指令。操作面板的 UI 上只给了 89 个按钮。另外 55 条指令的 handler 编译在 JavaScript 里,UI 上不显示。客户看到的功能只是实际能力的一个子集。
多租户设计清晰。7 个登录账号,4 个用户层级:
– is_test:demo 试用层级,只读。能浏览截获数据,不能导出。音频播放器加了 nodownload。
– bill=true:付费客户,解锁全部功能,包括微信语音录制。
– super-admin:客户组织管理员,管理 IP 白名单、删除审计日志。
- 白标品牌
csm208和csm210,不同客户的登录入口有独立的 session 模型。
demo、付费、企业版、白标。这不是内部工具的功能划分,是 SaaS 产品定价表。
第八类设备:S13
面板的设备分类逻辑里藏着一个隐蔽的第八类”设备”——S13。它不是一个操作系统,而是后端在设备注册时分配给目标的一个硬件配置标记(x\_phone\_info.mtype === 'S13')。
菜单渲染函数 v\_is\_show() 里有 8 个分支,S13 排第二位、甚至在 iOS 之前:
linux / unknown → linuxMod
mtype === 'S13' → S13Mod ← 在 iOS 之前被求值
os === ios → iosMod
os === ipad → ipadArr
os === router → routerMod
... → windows / mac / android
S13Mod = androidMod ∪ { 键盘记录器 }。它有 12 个标签页——phoneinfo、location、contacts、chat、files、camera、audio、app、wifi、shell、command、keylogger——但没有浏览器、没有内网、没有 iOS keychain,所以它不是 iPhone 菜单。它只比安卓多带一个模块,而这个模块恰恰是安卓设备从来不会有的。
代码里的细节更耐人寻味:所有键盘记录器的路径都挂在 /windows/\* 下面——即使目标是一台手机。keylogger.vue 里原本有把 S13 单独挑出来的 gate,如今被注释掉了;一个运算符优先级写错的判断(v-if="!this.x\_phone\_info.mtype === 'S13'")让条件永远为真。今天实际生效的行为是:无条件的,每 10 秒,对任何目标,抓一次键盘记录。58 条指令可以借这个标记触达。
路由器:被忽视的入口
之前关于 LightSpy 的公开报告没有提过路由器。演讲者在面板里发现了一个独立的路由器控制台。
七个子页面:设备信息、DNS 劫持、流量转发、文件管理、USB 存储读取、WebSocket Shell、指令下发。/router/\* 和 /flow/\* 两套 REST 路由,指令编号 41001 到 41015。
一次 GET /router/base\_info 返回整个家庭网络的全景:管理员账号和哈希密码、LAN/WAN 配置、DHCP 池、三个 Wi-Fi 网络的 SSID 和明文密码(2.4GHz、5GHz、访客网络)。
▲ 路由器植入指令集(来源:Black Hat USA 2026 Slides)
面板里还有一个隐藏的编辑模式。LAN、WAN、DHCP、WLAN 的修改按钮在 UI 上被 v-if="0" 隐藏了,但对应的 $send\_command handler(41002-41009)仍然编译在 JavaScript 里。去掉那个条件,或者直接调 handler,就能改写路由器的管理员密码、DNS 服务器和 Wi-Fi 密码。
品牌适配做得细。Linksys 不显示流量转发,Netgear 和 ASUS 都显示。按厂商固件差异做定制开发,说明路由器模块不是临时附赠功能。
两台活的 MikroTik 被确认感染:一台在南非约翰内斯堡,一台在捷克。两台都 beacon 到同一个土耳其 C2(213.250.132.188:53501,华为云伊斯坦布尔节点)。这台服务器专门用于路由器植入管理,和手机/桌面端的 C2 分开。
演讲者的原话:”一个路由器植入就是整个家庭或办公室的植入。它不受手机更换、恢复出厂设置或系统升级的影响。市面上每一款移动 EDR 产品都看不到它。”
时空碰撞
面板里有一个功能叫”时空碰撞”,英文界面标注 “Time and Space Collision”。组件名 CrashLocation.vue,路由 /phone/location,单端点 POST /collision。
工作方式:操作者选一台已知受害设备作为基准,再选一组候选设备,设定半径(默认 50 米)和时间窗口(默认 60 分钟),提交。返回所有在指定窗口内、指定距离内与基准设备同时出现过的候选设备。
反过来理解:如果一台设备出现在某间会议室里,操作者可以查”还有谁也在那”。不需要事先知道那些人是谁。功能跑的是已经采集好的位置数据,操作者不付出额外成本。
▲ 时空碰撞功能(来源:Black Hat USA 2026 Slides)
演讲者还原了前端发出的完整请求对象,四个动词控制同一个端点:创建、列表、详情、删除。success\_counts 决定详情视图是否可打开,零命中显示 “Collision failed, no result”。把时间窗口放大到天级、半径拉宽,它就不再是碰面检测,变成”这个平台在某个区域控制了多少人”的普查工具。
炸鸡、source map 和一家 18 人公司
归因线索里最有意思的不是二进制特征码,是一笔炸鸡外卖。
面板里有一个 KFC 外卖数据采集模块(15.js)。演讲者发现里面夹了一份真实的开发者测试数据:2021 年 11 月 17 日下午 5 点 36 分,一份”黄金脆皮鸡”,备注”不需要手套”,从深圳龙岗区万象汇 KFC 送到附近一栋改建工业楼的 301 室。微信支付。姓名、地址、电话全在 fixture 里。这笔订单在 JavaScript 里躺了四年半。
通过手机号、地址和微信支付交易号,演讲者追踪到了一名具体开发者:大陆某大学毕业生,专业方向含英语强化训练。面板全英文的前端界面,和这个背景吻合。
Source map 提供了更多痕迹。56 个 webpack chunk 全部包含编译时的绝对路径:E:/xiangmu/androidSync/main\_front/。另一份来源的样本显示 D:/project/azyk/androidsync-front/。两台机器、两个磁盘、两种命名习惯(中文”项目”vs 英文”project”),开发团队至少两个人。
公司层面:2020 年 5 月成立,两个股东,18 名参保员工,年报按期提交。注册地就是那个外卖送到的地址。演讲者展示的企业宣传原文令人不太舒服:”客户遍布全国,包括企业、政府机构、军队和学校……优质的售后服务和技术支持赢得了客户的一致好评。”
17 份软件著作权登记(2022-2025 年提交)更直白:包括”Android 手机拦截系统”和”加密文档破解系统”。同一个产品,对内叫 androidSync,对外写另一套描述。
演讲者在归因上保持了克制。确认了开发者身份,没公开姓名;确认了公司,脱敏了注册信息;把”炸鸡订单”定性为追踪痕迹,不是罪行。
该怎么看这件事
LightSpy 在技术点上有意思的地方不少:70 个插件、跨 iOS/Android/Windows/macOS/Linux/路由器加 S13 的八类设备、路由器植入、fakePowerOff 假关机。但这些单独拿出来,在商业间谍软件行业里不算稀奇。
真正值得关注的是一件事:产品化程度。is_test、bill、csm208、csm210 这些字段不是在说”攻击者用了一个工具”,是在说”一家公司做了一个产品,有人掏钱买”。监控即服务。这句话的份量比 117 台服务器重。
防御侧,演讲者给出了具体 IOC:35 个域名、100+ IP 地址,以及 MikroTik 路由器的排查清单。如果你维护着一定规模的 MikroTik 设备,四个动作现在就可以做:检查计划脚本、审查 DNS 静态条目和代理设置、更新固件、带外监控外部存储。
原文链接:https://www.blackhat.com/us-26/briefings/schedule/#surveillance-as-a-service-lightspys-72-servers-router-implants-and-operators-eating-out-for-fried-chicken-forensics-53769
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:AIxSec69 AIxSec69 AIxSec69《LightSpy:72 台服务器的监控即服务帝国》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论