被盗号笔记
很久没写东西了,一方面生活平淡且规律,另一方面是疫情后这个下行的周期里表达欲退化。不过这又到年底了,世界好像既平静(仗似乎打得差不多了)又危机四伏(全球经济指标全面溃败),怪事也是接二连三,先说说这个连续n天反转多次的盗号事件吧。
首先回顾下这个邮箱A的生平,是当年上大学时设定的用于个人生活通讯的一个hotmail,也是当时的MSN(暴露年龄的工具),近些年里面也少有中文邮件,整体profile算是个德国的。这个邮箱也用作我回国前Linkedin的账户邮箱(本次的核心损失之一),也是跟国外咨询公司和国内外猎头用于通信的邮箱。回国后出于类似的目的,启用了一个更加短小的中文名邮箱B做类似用途,于是这个邮箱A常年不会挂在客户端上自动收信,所以并没及时关注到后续的各种提醒,给了黑客可乘之机。下面通过回顾邮件痕迹(存在人为删信的消灭痕迹的行为)和微软账户登陆记录和浏览器记录,复原下时间线,
11/04,当时收到一封这样的邮件,无法看出这个pin被要求时改过什么,但推测此时linkedin已经大概率被入侵了,邮箱是否被侵入无法查询到。
Hi Yang,
Enter this code to complete the reset.
494198
If you didn't request this pin, we recommend you change your LinkedIn password.
Go to Settings & Privacy > Sign in & security > Change password
To further secure your account, you should also:
Enable two-step verification
Settings & Privacy > Sign in & security > Two-step verification
Check where you are signed in
Settings & Privacy > Sign in & security > Where you're signed in
Thanks for helping us keep your account secure.
The LinkedIn Team
When and where this happened:
Date: November 4, 2025 at 7:23 AM GMT
Operating System: Windows
Browser: Edge
Approximate Location: Watkinsville, Georgia, United States
通过下面浏览记录可见,11/14之前linkedin账户还可以正常使用,但也许触发过linkedin上的异常提醒(要么被删了,要么接受邮箱接被改不再发送给我),11/17产生了登陆安全问题,要求我验证信息等等,但还可以继续用,直到11/21还能看到更新的feed,11/24之后即无法通过登陆验证,要求我提供个人合法的id信息,后经验证此linkedin账户已不可见(至于是违规被park还是账户被删除目前无法确认,应该是park了)。

而邮箱这边从11/14之后其实可见更多的成功登陆记录,微软也在14-16多次发送安全提醒,但可惜没及时关注。
Security alert
We think that someone else might have accessed the Microsoft account da**g@hotmail.com. When this happens, we require you to verify your identity with a security challenge and then change your password the next time you sign in.
If someone else has access to your account, they have your password and might be trying to access your personal information or send junk email.
If you haven't already recovered your account, we can help you do it now.
Recover account
Learn how to make your account more secure.
Thanks,
The Microsoft account team

结合邮箱A的登陆记录,可见11/17日之前黑客应在linkedin上搞了更多的事情,同时针对这个邮箱,也有一系列来自越南,泰国,孟加拉国,巴西,阿根廷,希腊,荷兰的登陆尝试。所有成功登陆的记录意味着,邮箱密码对方已知,但邮箱的安全机制可以间歇性地把黑客暂时挡在了外面,以及触发更高级的锁定,但这中间已经有成功的web登陆(比如德国,泰国,越南),登陆后可以执行很多操作。可以回顾性的总结出一些平台在判断什么是异常的逻辑,即一个偶尔漂移到邻国的登陆是正常的,短时间内/频繁的/跨越大洲的登陆是不正常的。邮箱的这个安全机制喜忧参半,有逻辑但很弱。


直到11/17登陆linkedin出现问题,需要用到这个邮箱去收验证码。于是11/18成功登陆邮箱解决了linkedin的问题,但什么安全防御措施都没做,哪怕其实邮箱里有那些signin attempt的提醒,黑客也没很积极的清理这些垃圾。当天通过简单的恢复,产生了下面的邮件挣扎痕迹(设备是自己的mac,ip是自己的德国服务器),linkedin暂时回来了。
Hi Yang,
You've successfully activated Remember me on a new device Safari, Mac OS X in Saarbrucken, Saarland, Germany. Learn more on how Remember me works on a device.
For further queries please Contact Support.
Thank you for using LinkedIn!
The LinkedIn Team
When and where this happened:
Date: November 17, 2025 at 7:14 AM (GMT)
Browser: Safari
Operating System: Mac OS X
Approximate Location: Saarbrucken, Saarland, Germany
邮箱密码也在11/18登陆时被强制做了更改(自己没觉得事大只是某些常年挂着vpn的安全误判)。 11/18邮箱A收到最后一封来自linkedin的推送news(包括后面浏览记录中要求验证和更改密码的pin都已经不再发到这个邮箱A,推测18日之后linkedin的绑定邮箱被改,虽然11/21还可以看到feed更新(推测大概率是本地浏览器免登陆的session一直保持着)。这时linkedin已经完全失守,真正的战场开始蔓延到了邮箱A。

下一轮攻击从11/22开始发生,一系列来自泰国的成功登陆(估计还是因为近)甚至之前直接block的巴西ip也能登陆了(应该跟后来发现的账户国家变成阿根廷有关),而德国ip反而被认为是异常的,最终11/28的美国ip登陆中可见密码被改,个人信息被改,但也成功触发了一些安全机制导致账户被锁。解锁登陆,至此还是只觉得有点烦,但没什么不安全感。
一个很有意义的无心之举来了,本质是一种对信息及时性的诉求和对于手刷结果的抵触,人性是贪和懒的。为了既不增加客户端账户数量,又能及时得到邮箱的通知,我在微软邮箱的后台的forward功能里增加了自动推送到我gmail邮箱X的操作,这个操作是个很幸运的关键,因为它让我产生了更深层次的观察和对根因的发掘。其实我的本意是从gmail的邮箱用自动imap的方式,但因为微软近些年升级了exchange协议,这个操作好像在我回国后就不work了,也是个好事,否则不会用上面这个新的方案,也发现不了后面的问题。作为Dr.-Ing,我习惯性的用工作邮箱D发送了一条"I am a test"的测试邮件给邮箱A以验证这个自动forward是否成功设置好。
接下来就是最重要的一个线索,发送完刷新网页可见邮箱A正常收信,但我的电脑客户端工作邮箱收到了两封来自postmaster@outlook.com的退信。其中第一封来自google,读了下看似这个自动forward失败了,问了Gemini,说这个是认证的问题了,无解(说让改一个微软后台的账户alias,其实压根儿没这个地方,纯幻觉),略失望以为自己的方案不work。 其实在那会儿可能这个邮箱的发邮件功能已经受限了,开始以为邮箱A上了gmail黑名单因为乱发邮件,后来判断其实是当时存在一个被劫持的smtp类的进程,导致发信时身份与黑客线程冲突存疑。
mx.google.com rejected your message to the following email addresses:
xxxxxx@gmail.com
mx.google.com gave this error:
Your email has been blocked because the sender is unauthenticated. Gmail requires all senders to authenticate with either SPF or DKIM. Authentication results: DKIM = did not pass SPF [hotmail.com] with ip: [2a01:111:f403:c406::3] = did not pass For instructions on setting up authentication, go to https://support.google.com/mail/answer/81126#authentication 41be03b00d2f7-be5090cfa96si1770677a12.1201 - gsmtp
继续往上滑动发现这个thread其实是两封信,有趣的地方来了,这个邮件除了自动forwad给google被退,还自动被forward到了这个邮箱monatafaigewic@hotmail.com,什么鬼。。。瞎猫碰上死耗子,这个邮箱满了,黑客的业务是真多,微软的免费是真抠。
Delivery has failed to these recipients or groups:
monatafaigewic@hotmail.com (monatafaigewic@hotmail.com)
The recipient's mailbox is full and can't accept messages now. Please try resending your message later, or contact the recipient directly.
From: xxxxx <xxxx@hotmail.com>
Subject: FW: I am a test
Date: November 28, 2025 at 13:34:54 GMT+8
To: "monatafaigewic@hotmail.com" <monatafaigewic@hotmail.com>
________________________________________
From: xxxx <xxxx@xxxxx.com>
Sent: Friday, November 28, 2025 1:34:37 PM (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
To: xxxxxx@hotmail.com
Subject: I am a test
test

于是跟Gemini讨论了下自动forward邮件的可能路径,在提示之下找到了web后台的Rules这个神奇的功能(我先前用的Forwading&Imap,还得认证登陆,这个Rules很简单就可以配,而且功能很强大),发现这条规则不知道是什么时候被设置的,即所有邮件不管进出都会被推到这个满到溢出的黑客临时档案馆。

于是悄默生息地把这个rule关掉了,同时好奇心被强烈的激发。搜了一下这个邮箱,没什么网页端的被提及的记录,把截图和证据打了个包在线feedback给了微软说这个邮箱应该是个黑客(后续什么反馈也没收到过),并再次改了密码,同时发现profile之前被改成了阿根廷。这次以为自己成功的夺回了阵地并且除了根,too young too naieve 😂。不过总体来看,11/28是个有意义的周五,更新了很多知识。这个周末很勤快地在家做了一些家电的维护,包括很久没更新系统以及知道因为邮箱密码更改不重新登陆家人可能没法用的‘非国行’xbox(fixme,这可能是一个很重要的漏洞来源,暂时先扔一边吧😑,反正很少用,后面弄明白了再更新)。前面的举动可能激怒了黑客,周末这几天没闲着,后面开始手工给我上强度。周一本就事多,叠加另外一个还没开贴的复杂事项平行开始,此外觉得邮箱已经能够安全,就没去登陆看。
12/2一大早,无目的的登陆邮箱,结果inbox里置顶了一封自己给自己写的draft,加了所有的高亮flag,标题直接是我28号刚改的新密码!内容无他,跟很多spam差不多,就是我掌握了你的啥啥啥啊,下面是个bitcoin的钱包地址,速给我打几千刀,否则你就惨了之类的。 这封邮件的生成方式很讲究,你一旦手工删掉它,会自动从draft目录里起草,然后移动到inbox里。这个行为本身的确让我有了几分自我怀疑,是否真的在哪被植入了木马,它是如何知道我的新密码呢?现在结合时间轴看,最大的概率就是我在xbox里录入了密码之后,可见马上产生了一大串的世界各地的登陆记录。坦白的讲,当时我是有一点点慌的,难道真的日常设备macbook有木马,当时我还没注意到xbox这个登陆时间点和后面活动的关联?虽然本能觉得mac中木马不太可能,但偶尔内存涨到80G的safari也没给我那么充足的信心。于是继续根Gemini讨论,基于现在的状态有什么安全建议,于是果断采取了最全面的措施,第一启用2级验证,手机端增加微软Authenticator,给这个本是国外用的邮箱A绑定了国内的手机号,后台Secutrity执行Signout everywhere(需要24hr滚完)和切断所有Hello Windows的session,取消所有App access(这里有两个ubisoft在xbox的项目,后发现以邮箱A注册的ubiclub账户无法登陆无法复原,还好里面没什么东西),生成新的recovery code,以及最常规的修改密码。
带着忐忑的心,12/3一早登陆邮箱查看登陆记录,干净,虽然置顶的敲诈邮件还是可以死而复生。不过基本不慌了,也懒得频繁去做删除测试了,因为当天还要去做马上开新帖的另一件事。

12/4 一早登陆邮箱看记录,干净,删了置顶的诈骗邮件也没再复活,邮箱A的故事告一段落,舒坦。然后去看邮件客户端准备进入工作模式,骤然发现一个让我突然心脏一颤的安全提醒,国内生活邮箱B里赫然停着一封提醒邮件,说密码昨晚被改了。我当时又有点慌,甚至又开始怀疑木马的存在性。
Microsoft 帐户
你的密码已更改
Microsoft 帐户 *****@live.com 的密码已于 2025/12/2 18:07 (GMT) 更改。
如果是你本人,则你的帐户安全,可以忽略此电子邮件。
使用的安全信息: *****@gmail.com
国家/地区: Russia
平台: Windows
浏览器: Chrome
IP 地址: 91.188.240.153
同一时间还有一封英文的发到安全邮箱的*@gmail.com的类似内容。
Microsoft account
Your password changed
Your password for the Microsoft account du**g@live.com was changed on 12/2/2025 6:07 PM (GMT).
If this was you, then you can safely ignore this email.
Security info used: *****@gmail.com
Country/region: Russia
Platform: Windows
Browser: Chrome
IP address: 91.188.240.153
这两封信的大概逻辑是这样的,因为gmail被墙,为了不miss各种东西以及万一某天临时不能vpn,我把gmail的邮件自动转给了国内的邮箱B。现在回顾着看,这是一个循环bug,因为这个gmail也是我邮箱A和邮箱B的验证邮箱,其实这是个非常危险的行为。回归平静后,觉得方案反正是现成的,把昨天给邮箱A上过的操作先都来了一遍托个底。因为毕竟邮箱B一直没出过类似的异常登陆记录,每天自动刷信十分的安全可靠。推测改密码登陆是一次非常孤立的事件,目的性很强,来自莫斯科。

接下来仔细查看邮箱B的安全策略,发现居然邮箱B同时也在用邮箱A当验证邮箱。结合痕迹推测,大概率黑客通过洗邮箱A的历史邮件,发现了这个验证关系,并认真记录作为连续攻击操作的延续,于是通过还没完全踢掉的收信session,把邮箱B的密码通过收验证码的方式给改掉了。然后我再回到邮箱A,发现trash里有被删除的一些邮件,其中就包括下面的两封几乎在同一分钟内收到的连续操作结果邮件,一个是改邮箱B密码的验证码,
Microsoft 帐户
密码重置代码
请使用此代码为个人 Microsoft 帐户 Du**g@live.com 重置密码。
你的代码如下: 138611
如果你无法识别个人 Microsoft 帐户 Du**g@live.com,可单击 here,从该帐户删除你的电子邮件地址。
谢谢!
Microsoft 帐户团队
另一个是改动成功的通知,这跟邮箱B里收到的一致。
Microsoft 帐户
你的密码已更改
Microsoft 帐户 du**g@live.com 的密码已于 2025/12/2 18:07 (GMT) 更改。
如果是你本人,则你的帐户安全,可以忽略此电子邮件。
使用的安全信息: xxxxxx@gmail.com
国家/地区: Russia
平台: Windows
浏览器: Chrome
IP 地址: 91.188.240.153
刻不容缓,赶紧把邮箱B和邮箱A脱钩。
Microsoft 帐户
已删除安全信息
最近从 Microsoft 帐户 Du**g@live.com 删除了以下安全信息:
xxxxx@hotmail.com
如果是你本人,则你的帐户安全,可以忽略此电子邮件。
如果不是你本人,表明某个恶意用户访问过你的帐户。请查看你最近的活动,我们将帮助你保护你的帐户。
顺便去gmail看了下,好家伙我以前不知道咋想的,还拿邮箱A给gmail弄了个罗圈验证,赶紧也移除了,还好这一层没被用到过,黑客没能从邮箱A的历史邮件中建立起跟这个关键gmail的关联,或者gmail的安全性太高不敢涉足。至此基本告一段落,不再有新的登陆记录,不再有其他的异常提示,世界终于回归了和平。
核心损失:
1,几百个connection的linkedin账户暂时认定报废。需要我提供美国的身份证通过类似persona的app验证(暂时完成了验证,很麻烦,需要用persona添加带nfc的护照,然后再web登陆linkedin验证,这时因为不走app无法扫nfc而只能刷脸,所以persona还得增加一个selfie的验证方式。通过验证后等48hr,到现在基本72hr都过了,不过再次登陆验证会提醒你已经提交过了,那就等)。
2,邮箱A和邮箱B的邮件大概率全部盗取,还好没什么值钱的东西,可能有些几十刀的咨询单子的reward被人偷了(看似花在了埃及的亚马逊和澳洲的高速费)。ubiclub账户无法复原,里面应该有些游戏的存档吧,应该毫无价值,注册着玩的,但也查到过ubi也出现过数据泄漏,不确定哪个leak发生的更早。
3,邮箱A目前测试可以给邮箱B和gmail发信,怀疑之前的失败是因为中间人劫持导致的身份校验失败,但可能名声已臭,被删除的邮件中很多以这个邮箱为名的约会,注册平台(uber 没完成身份验证,shop.app基本完成注册估计是发现prepaid的visa卡不能用吧),bitcoin交易的痕迹(transak, 这个理解了下黑客应该是尝试用visa卡买比特币,拼凑了个美国人的电话和名字,但身份验证没完全通过需要刷脸),待进一步研究回收关闭的可能性。



经验教训:
1,对于邮件的安全策略,运行底层逻辑有了更深刻的认知。以前认为的服务器imap读取,并留存副本多设备访问,云端存储很方便,但其实这种依托于外部兜底的安全性并不高,也不符合物理世界中邮件只有一个拷贝的状态,反而是pop这种读后服务器上删除的逻辑协议更符合物理世界中邮件的状态。
2,在google的安全功能中发现了暗网扫描和监控的功能(非常推荐),可以把自己的邮箱/姓名/电话等个人信息录入,google扫描已查证的公开数据泄露的源,并第一时间把关于你身份信息泄漏的消息发给你。通过这个功能,赫然可见我的邮箱A的账号密码在2016年linkedin的泄露数据中,当时应该是很懒的给linkedin设置了和注册邮箱一样的简单密码,等于是一锅端了,不过一晃快10年才爆发,可能真的是大模型给黑客们提效了。。。


3,有一点不太能想清楚,对于邮件B的攻击为何那么的短暂,也许是因为邮箱B内相比邮箱A几乎全是中文邮件,同时账户信息几乎都是来自中国的,地址,时区和语言,不像账户A 语言是英语,国家是美国,地址是德国。结合黑客ip是俄罗斯,也许是出于国际政治关系,专坑欧美;也有可能黑客本是为了碰数字货币的钱包而来,而众所周知中国大陆几乎没有公开的数字货币的交易渠道,所以用户比例极低,试错收益率不如欧美国家的高。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。