内网服务器中毒排查

起因

今天中午,公司OA群里说:大家有Linux机器使用弱密码(比如111111,123456)的赶紧修改下 密码,尤其是开发环境,不然很可能被黑了。

然后心头一阵凉意,公司有三台与我相关的linux,是弱密码,会不会那么幸运,都中招。

验证

有没有被黑,上去看看就知道了。

第一台

这台(centOS 7.9)平时自己用,上面有jupyterlab服务,主要是用来记笔记。

通过ssh工具,用记住的密码已经是登录不上了。
咋办?这个好办,jupyerlab里面可以开终端,然后开一个,改密码,完事儿!

另外两台

另外两台也是centOS 7.7,是我前领导交接给我的,用来编译产品的固件的,上面没有jupyterlab服务。

当我发现连不上去的时候,有点慌了,这个真的登录不会上去了,怎么改。

后来一想,两台之前挂了samba,要是能进root目录,那就有戏。

/root/.ssh里面创建个authorized_keys,然后把PC上的公钥粘贴进去,就能顺利ssh进入,修改密码。

journalctl -u sshd

密码是改了,看了一下CPU也不高,内存也还好。但人家不可能只是给你改个密码逗你玩儿吧,大概是为了勒索或者挖矿吧。所以我想继续研究一下。

排查

我没有网络安全的经验,平时干的都是打杂的活儿,但对linux,对网络熟悉,这次就顺便实战一下网安吧。

我直接给chatgpt描述了我的情况

他大致给了我步骤,我就把输出粘贴给它。

它初步给出了一个结论,指出了哪些是可以文件,这些文件我认可,看服务和文件的时间戳,是昨天建的。

它让我安装一些工具,我嫌麻烦,没听它的。

它给出的步骤里面有写怎么清理,我不想按照它的直接锁网络。我就单独tcpdump抓了点包。发现一个可疑的ip。

然后我用iptables对这个ip网段加了限制。然后再去按照它说的去清理。

步骤我也稍微整理了一下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 锁网络
iptables -A INPUT -s 92.118.39.0/24 -j DROP
iptables -A OUTPUT -d 92.118.39.0/24 -j DROP

# 停服 + 禁止重启
systemctl disable --now mem-tracker.service
crontab -l | grep -v 'dealer' | crontab -

# 删除残留
rm -f /usr/bin/udeb
rm -rf /root/.cfg /dev/shm/netmonitorx

# 删除服务文件和自动生成的软链接
rm -f /etc/systemd/system/mem-tracker.service
rm -f /etc/systemd/system/multi-user.target.wants/mem-tracker.service 2>/dev/null

# 让 systemd 重新加载单元列表
systemctl daemon-reload

# 查看还有没有“残影”
systemctl list-unit-files | grep mem-tracker      # 应该已无记录
systemctl reset-failed                            # 清掉 FAILED 状态残留

但其实清理干净没有,我心里也没底。

反思

以后尽量别设若密码了,即使服务器是在公司或者在家里。

后续

我把我的操作发给同事了。我准备明天再参考弗老的【弗洛伊德干货时间】挖矿病毒应急响应指南 过一遍,以防万一。

使用 Hugo 构建
主题 StackJimmy 设计