收起左侧

邮箱泄露飞牛被入侵

1
回复
31
查看
[ 复制链接 ]

0

主题

6

回帖

0

牛值

江湖小虾

悬赏1飞牛币未解决

说明:本报告已对域名、邮箱域名等敏感信息做脱敏处理。


一、结论摘要

基于宿主机日志、飞牛应用日志、Docker 容器层痕迹、Caddy 配置与历史日志的只读排查,当前可以确认:

  1. banana 账号在 2026-04-26 上午被外部接管过。
  2. 外部来源 IP 为 20.187.151.147
  3. 入口不是直接 SSH / shell 登录,而是:
    • Web 侧 重置密码
    • Web 侧 登录
    • 通过邮件获取 2FA / 紧急验证码
  4. 攻击者在获得飞牛后台访问权后,继续借助 apprise 容器 作为跳板,SSH 登录宿主机,并执行 sudo -i 获得 root 权限。
  5. 当前没有发现新增本地用户、SSH 公钥后门、cron/systemd/sudoers 级别的常见持久化痕迹。
  6. 截至 2026-04-26 15:14:32 CST没有发现新的成功入侵记录;公网 IP 20.187.151.147 在你处置后仍尝试再次登录,但均失败。

二、核心攻击链路

本次事件最可能的完整链路如下:

阶段 1:账号接管

攻击者先通过飞牛 Web 侧的找回密码 / 重置密码流程,触发向绑定邮箱发送重置邮件;随后完成密码重置,并使用新密码登录 banana

阶段 2:验证码接管 / 2FA 完成

攻击者在登录过程中又触发了一次 2FA 登录验证码邮件,随后完成登录成功事件。这说明对方不仅改了密码,而且能够获取邮件中的验证码内容

阶段 3:从 Web 权限升级为系统权限

攻击者并未满足于飞牛后台权限,而是利用已接管的账号与容器环境,借助 apprise 容器 从容器内部 SSH 到宿主机。

阶段 4:提权为 root

在宿主机上,攻击者通过 banana 执行 sudo -i,成功获得 root shell。

阶段 5:再次进入 / 继续操作

后续又出现第二个 banana 会话,以及一次针对容器的 docker exec /bin/bash 尝试,说明攻击者在继续试图维持或扩展控制。


三、详细时间线

2026-04-26 08:27:03

已确认事实

系统发出一封 重置密码邮件,目标用户为 banana

证据

日志:/var/log/trim_sac/info.log

关键内容(已脱敏)

  • templateKey: "reset_password"
  • 收件人:******@******.**
  • 邮件内包含两个重置链接:
    • https://5***.***/******?route=/reset-password?code=...
    • http://192.168.50.22:5666/reset-password?code=...

说明

这说明当时有人走了飞牛 Web 侧找回密码 / 重置密码流程


2026-04-26 08:29:28

已确认事实

banana 的系统密码被成功修改。

证据

  • /var/log/syslog
  • /var/log/auth.log

关键内容

  • MAINEVENT ... "template":"ResetPassword","user":"banana"
  • chpasswd ... password changed for banana

说明

这不是单纯前端事件,而是系统层密码真的发生了变化。


2026-04-26 08:29:40

已确认事实

公网 IP 20.187.151.147banana 登录成功,并触发 2FA / 设备相关流程。

证据

日志:/var/log/syslog

关键内容

  • MAINEVENT ... "template":"LoginSucc2FA1","user":"banana","IP":"20.187.151.147"
  • 附近有 trim_tfa 查询 user_devices 的日志
  • 设备 ID:mof16wmi-ouxey6o18f-8numtyitsqx
  • 查询结果:record not found

说明

这说明对方是在走 Web 登录 + 设备/2FA 校验 流程,不是直接 shell 登录。


2026-04-26 08:30:23

已确认事实

系统发出一封 2FA 登录验证码邮件

证据

日志:/var/log/trim_sac/info.log

关键内容(已脱敏)

  • templateKey: "2fa_login_code"
  • 收件人:******@******.**
  • 用户:banana

说明

攻击者不是简单绕过 MFA,而是大概率能够获取邮件中的验证码


2026-04-26 08:30:44

已确认事实

公网 IP 20.187.151.147 再次对 banana 登录成功。

证据

日志:/var/log/syslog

关键内容

  • MAINEVENT ... "template":"LoginSucc","user":"banana","IP":"20.187.151.147"

说明

到此为止,攻击者已经完成:

  1. 发起重置密码
  2. 完成密码重置
  3. 使用新密码登录
  4. 取得并提交 2FA 验证码
  5. 登录成功

2026-04-26 09:07:05 ~ 09:07:14

已确认事实

当时容器 IP 172.17.0.3 对应一个 8100 -> 8000 的容器,后续比对高度吻合 apprise

证据

日志:/var/log/syslog

关键内容

  • host-port 8100 -> container-ip 172.17.0.3 -> container-port 8000

说明

这说明 09:07 那个可疑来源 IP,当时极大概率就是 apprise 容器。


2026-04-26 09:07:09 ~ 09:07:14

已确认事实

apprise 容器内的 root 账户,确实主动 SSH 过宿主机 192.168.50.22

证据

来自 apprise 容器 overlay upperdir:

  • /root/.ssh/known_hosts.old 时间:09:07:09
  • /root/.ssh/known_hosts 时间:09:07:14

并经 ssh-keygen -F 匹配确认,known_hosts 中记录的主机就是:

  • 192.168.50.22

说明

这是强证据,说明攻击者已经从容器内部对宿主机发起了 SSH 连接。


2026-04-26 09:07:13 ~ 09:07:14

已确认事实

宿主机上 banana 用户会话被打开。

证据

  • /var/log/auth.log
  • /var/log/syslog

关键内容

  • session opened for user banana
  • Started session-2701.scope - Session 2701 of User banana
  • sshd[...] pam_env(sshd:session)...

对应 last 记录

  • banana pts/0 172.17.0.3 Sun Apr 26 09:07 - crash (03:29)

2026-04-26 09:07:43

已确认事实

banana 执行了 sudo -i 并获得 root shell。

证据

日志:/var/log/auth.log

关键内容

  • sudo: banana : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/bash
  • pam_unix(sudo-i:session): session opened for user root

说明

此时攻击者已获得宿主机 root 权限。


2026-04-26 10:16:06

已确认事实

有人发起一次 docker exec /bin/bash,但失败。

证据

日志:/var/log/syslog

关键内容

  • Error running exec ...
  • exec: "/bin/bash": stat /bin/bash: no such file or directory

说明

这很像有人通过 Docker 管理入口尝试进入容器终端。


2026-04-26 10:17:37

已确认事实

宿主机上又打开了第二个 banana 会话。

证据

日志:/var/log/syslog

关键内容

  • Started session-2714.scope - Session 2714 of User banana

对应 last 记录

  • banana pts/2 172.17.0.3 Sun Apr 26 10:17 - crash (02:19)

说明

这表明攻击者在第一次进入后,又发起了第二次宿主机登录会话。


2026-04-26 10:25:38

已确认事实

/root/.bash_history 修改时间落在此刻。

说明

这提示 root shell 在该时段可能存在交互操作,但未提取出明确命令内容。


2026-04-26 12:37 左右

已确认事实

系统发生重启,之前两个可疑会话都被中断。

证据

  • last 中两条会话都以 crash 结束
  • 系统日志显示启动流程重新开始

对应 last 记录

  • banana pts/0 172.17.0.3 Sun Apr 26 09:07 - crash (03:29)
  • banana pts/2 172.17.0.3 Sun Apr 26 10:17 - crash (02:19)

2026-04-26 12:54:22

已确认事实

重启后,容器 IP 172.17.0.16banana 发生一次登录失败。

证据

日志:/var/log/syslog

关键内容

  • MAINEVENT ... "template":"LoginFail","user":"banana","IP":"172.17.0.16"

当前 172.17.0.16 对应容器:

  • gotify

说明

此容器在重启后仍尝试使用 banana 登录,但当前证据不足以证明 gotify 是攻击入口,只能视作弱相关线索。


2026-04-26 14:14 ~ 14:33

已确认事实

公网 IP 20.187.151.147 在你处置后,又多次尝试登录 banana,但均失败。

证据

日志:/var/log/syslog

关键内容

  • 多条 LoginFail
  • IP 均为 20.187.151.147

说明

这说明该 IP 不是一次性误访问,而是明确的攻击相关来源。


2026-04-26 14:38:53

已确认事实

公网 IP 20.187.151.147 访问了你 Caddy 暴露的另一个 4433 站点(已脱敏),但失败。

证据

Caddy Docker 历史日志

关键内容(已脱敏)

  • Host:k***.hz.*****.****:4433
  • method: GET
  • uri: /
  • 结果:502
  • 上游:192.168.50.22:8500 refused

说明

这表明该 IP 在你处置后仍在继续探测你 Caddy 暴露的其他站点。


2026-04-26 15:00:03

已确认事实

公网 IP 20.187.151.147 又访问了另一个 4433 站点(已脱敏),但失败。

证据

Caddy Docker 历史日志

关键内容(已脱敏)

  • Host:b**.hz.*****.****:4433
  • method: GET
  • uri: /
  • 结果:502
  • 上游:192.168.50.22:5140 refused

说明

继续印证该 IP 会对你暴露在 4433 的其他服务做探测。


2026-04-26 15:14:32

已确认事实

复查时点。

已确认状态

  • 无新的 LoginSucc
  • 无新的 ResetPassword
  • 无新的 Accepted password/publickey
  • 无新的 sudo-i 提权记录

结论

截至该时点,未发现新的成功入侵记录


四、登录入口判断

已排除

不是直接 SSH / shell 登录

没有发现任何与 20.187.151.147 对应的:

  • Accepted password
  • Accepted publickey
  • sshd 登录/断开/认证成功记录

结论

20.187.151.147 不是直接 shell 登录宿主机


高概率确认

它走的是 Web 端的“重置密码 + 登录 + 2FA 邮件验证码”流程

证据链:

  1. 08:27:03 发出重置密码邮件
  2. 08:29:28 重置密码成功
  3. 08:29:40 LoginSucc2FA1
  4. 08:30:23 发出 2FA 邮件验证码
  5. 08:30:44 LoginSucc

五、关于 Caddy / 4433 的判断(修正版)

已确认事实

  • 当前 Caddy 历史 Docker 日志文件存在
  • 当前 Caddy 配置中没有 access log 指令
  • 因此现存日志主要记录:
    • 启动 / 重载信息
    • 反代失败 / 502 / 上游拒绝连接等错误
  • 正常成功代理请求,在没有 access log 的前提下,很可能不会留下可检索记录

这意味着

虽然你后来已经手动把某个飞牛相关域名反代注释掉,但:

  • 当前配置状态不能代表 2026-04-26 上午的实际暴露状态
  • 现存 Caddy 日志也无法证明或排除攻击者当时是否通过该 4433 入口访问飞牛 Web

当前最严谨的结论

攻击者肯定走了 Web 侧流程,但现有 Caddy 日志无法证明,也无法排除其是否经过你当时暴露的 fn.hz.*****.****:4433 之类反代入口。


六、关于邮箱链路的判断

已确认事实

重置密码邮件与 2FA 邮件都发往:

  • ******@******.**

结论

攻击者要完成这次账号接管,必须具备以下能力之一:

  1. 能访问该邮箱内容
  2. 能控制该邮箱的转发 / 规则 / 同步链路
  3. 能读取该邮箱收到的重置链接与验证码

当前更合理的判断

攻击者大概率不是简单“绕过 MFA”,而是已经掌控了邮件接收链路的某个环节


七、当前未发现的持久化痕迹

截至目前,未发现以下常见后门:

  • 新增本地用户
  • 新增 authorized_keys
  • root / banana 异常 crontab
  • 新增 systemd service
  • sudoers 放权后门
  • rc.local 启动后门

当前判断

更像是一次:

  • 账号接管
  • 容器跳板横向
  • 宿主机 root 提权

而不是已经确认落地了常见的长期持久化后门。


八、截至当前的最终判断

已经成立的历史攻击事实

  1. banana 账号被外部接管过
  2. 外部入口是 Web 侧找回密码 + 登录 + 2FA 邮件流程
  3. apprise 容器被用作跳板 SSH 宿主机
  4. 攻击者曾获得宿主机 root 权限

当前状态

截至 2026-04-26 15:14:32 CST

  • 没有新的成功入侵记录
  • 20.187.151.147 在你处置后仍尝试登录,但都失败
  • 该 IP 还继续探测了你 Caddy 暴露的其他 4433 服务
  • 当前未见新的提权记录

风险重点

  • banana 账号曾被攻破
  • 宿主机 root 曾被获取
  • 邮箱链路极可能存在风险
  • 虽未发现常见持久化后门,但不能因此断言系统已绝对安全

九、建议后续处置

  1. 彻查并加固邮箱链路

    • 登录记录
    • 转发规则
    • 过滤规则
    • IMAP/POP/客户端授权
    • 邮箱密码与 2FA
  2. 保留证据

    • /var/log/syslog
    • /var/log/auth.log
    • /var/log/trim_sac/info.log
    • /var/log/trim_tfa/error.log
    • apprise 容器 upperdir
    • Caddy Docker 历史日志
  3. 重建高风险容器与相关凭据

    • apprise 建议视为高风险源,后续若恢复应重新拉镜像、重新配置、重新生成相关凭据
  4. 继续核查飞牛账号恢复方式

    • 绑定邮箱是否被改
    • 恢复方式是否被改
    • 是否新增设备 / token
  5. 继续收口公网暴露面

    • 清查所有公网映射端口
    • 仅保留必要入口

十、简版一句话总结

2026-04-26 上午,攻击者通过飞牛 Web 侧“重置密码 + 邮件验证码”链路接管了 banana,随后借助 apprise 容器 SSH 登录宿主机并提权到 root;截至 15:14,未发现新的成功入侵记录,但邮箱链路、容器安全与系统可信度已受到实质影响。

证据

日志:/var/log/trim_sac/info.log

附件: 您需要 登录 才可以下载或查看,没有账号?立即注册
收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

6

回帖

0

牛值

江湖小虾

4 小时前 楼主 显示全部楼层

QQ邮箱的收件查询里能查到被删除的邮件

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则