【安全】记一次服务器被攻击
一、背景
记一次服务器被攻击, 周一早上发现服务器连不上了, 上去云管理平台重置了
root
,ubuntu
的密码都没有用。我去,服务器不会被攻击了吧?
二、排查
1、安全记录
登陆到腾讯云后台查看服务器登陆记录,果然被一个异地陌生的ip设备登陆了, 我直呼好家伙!一大早就来攻击,现在攻击者都这么勤快了吗?
2、猜想&推理
攻击者通过扫描公网上的主机上,密码为弱口令的服务器,按照某种方式进行暴力破解,然后登上服务器上。
登上了服务器后:
做了几件事(跑自己的某种应用(非常占用服务器cpu以及内存)),
修改了
root
,ubuntu
用户的密码,并对能修改
root
,ubuntu
对应目录权限设置为不可写/修改(阻止云平台上重置密码)
验证
后面登上服务器去,果然如此,但是居然是在跑华为的ai模型应用 !!! ,而且写了个定时任务重启去跑(不是哥们,我小服务器,别搞!) 还有个定时任务查看服务资源配置。也修改了俺的两个账号密码。
三、解决方案
3.1 通过密钥登陆
基于服务器生成密钥,然后用密钥成功连上服务器
3.2 杀死攻击者恶意应用
top 查看攻击者恶意应用,下图反馈了该恶意应用信息
1 | top |
恶意应用信息
1 | dhpcd 的作用 |
删除该应用
1 | pkill -9 dhpcd |
3.3 删除定时任务
查看恶意的定时任务
1 | sudo crontab -l -u root |
显示信息
说明:攻击者已经植入了恶意计划任务,每 24 分钟自动启动
/bin/dhpcd
,并且还有一个腾讯云相关的任务(腾讯云的
stargate
通常是
云监控和自动化运维代理)
1 | */5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &' |
进去定时任务配置里面删除上面定时任务,然后保存退出(Ctrl+X —> Y —> Enter)
1 | sudo crontab -u root -e |
3.4 调整权限
查看修改账号密码的权限
1 | sudo lsattr /etc/shadow |
解释
a
(append-only,仅追加)- 文件只能被 追加内容(不能直接修改或删除已有内容)。
- 这是导致
passwd
或chpasswd
失败的主要原因,因为密码修改需要 覆盖文件内容,而a
属性阻止了这一操作。
e
(extent format,ext4 文件系统特性)- 表示文件使用 ext4 的扩展存储格式,属于正常系统标记,无需处理。
去掉a
1 | sudo chattr -a /etc/shadow |
3.5 重置系统密码
1 | echo "ubuntu:你的新密码" | sudo chpasswd |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.