事发前后时间线

1月18日10:57,我使用OpenFrp内网穿透创建了一个用于远程ssh连接随身WiFi的隧道,出于大意,远程端口使用了较为常见的端口(为后文埋下伏笔)

1月23日12:48,来自未知IP的攻击者开始通过ssh爆破root用户,直到同日13:28:04才停止攻击

接着攻击者在1月24日晚至25日凌晨继续尝试爆破root用户,同样未果

1月25日10:41,攻击者继续开始攻击,并在同日11:24尝试爆破其它常见用户名(真的有人会用bf、czq、cxj、cajas、ubnt这种用户名?)

1月26日的01:39、10:09、16:21~16:57,日志均有记录到攻击(这会儿又去爆破root用户了)

1月27日,只在16:50有两条"Timeout before authentication for connection"

1月28日05:05~05:08,日志记录到攻击(这会儿又用回常见用户名了)

自1月28日11:58开始,攻击者又陆续尝试了root、telecomadmin、test、telnet等用户名,依旧未果

直到同日12:02整,攻击者成功爆破了用户名为user的用户。13秒后,攻击者更改了用户user的密码

并在12:03左右,目录在 /home/user/.cfg 名为aarch的挖矿程序开始运行,执行的命令是 ./aarch -o pool.dudiito.dev:443 -u good -k -p Static -B

以上就是我通过journalctl能看到的内容

发现与恢复

十分幸运的是,早在很久之前我曾给这部随身WiFi写过一个脚本,用于检测CPU负载状态并调整自带的led灯亮灭,再加上攻击者在中午吃饭时攻击,程序一开始挖矿,这部随身WiFi就闪起了大大的红灯,我当即意识到设备有问题,几乎是挖矿开始运行一小会便发现异常,虽然确定是病毒是好几个小时后的事了

根据调查,最终认定这大概率是一个门罗币挖矿程序

我先备份了程序和相关日志,最后在当日晚6点13分停止该进程并清理相关文件,准备重新刷机

原因和反思

我犯得首个错误就是将内网穿透的外部端口设定为十分常见的端口,这是导致攻击的首要原因。

但是,我未曾记得我创建过名为user的账户,我甚至不知道该账户的密码,那么,这个账户是哪里来的?

答案是,该账户是刷机包作者所创建的,并且将密码设为1。

这件事给了我以下提醒:

1.内网穿透不要使用常见端口

2.关闭Root账户密码登录

3.使用复杂用户名、密码

4.注意设备日志