问题发现:
docker最近总是莫名其妙的下载镜像启动容器,且并没有其他镜像是需要下载ubuntu作为底层包的。有意思的是每隔两个小时左右启动一个容器,没有将cpu资源完全消耗,保持可用。
开始排查
命令查看陌生容器的日志 docker logs -f containerId
,发现典型kinsing挖矿病毒 !
last 命令查看登录记录
last命令 last 列出当前和曾经登入系统的用户信息> 它默认读取的是/var/log/wtmp文件的信息> 输出的内容包括:用户名、终端位置、登录源信息、开始时间、结束时间、持续时间。> 注意最后一行输出的是wtmp文件起始记录的时间。> 当然也可以通过 last -f 参数指定读取文件,可以是/var/log/btmp、/var/run/utmp
[root@ls ~]# last
root pts/0 112.***.24.78 Fri Mar 4 20:14 still logged in
root pts/0 106.***.60.63 Fri Mar 4 19:00 - 19:02(00:02)
root pts/0 113.***.202.122Fri Mar 4 17:16 - 17:17(00:01)
root pts/0 117.***.117.234 Fri Mar 4 16:47 - 16:51(00:04)
IP 查询,如若未发现异常,推断应该是:攻击者清除了登录记录日志导致的。
last -f btmp 查看记录错误的登录尝试日志
btmp 文件 /var/log/btmp 用于记录错误的登录尝试> /var/log/btmp 文件过大形成原因:可能存在暴力破解登录所致> 文件过大的解决方法:
- 初步清理该文件 echo > /var/log/btmp
- 更换远程登录端口
- lastb 查看具体信息,查找出现次数较多的,封IP
# 查找恶意登录的前十个IP,查询其归属地如下:
[root@centos log]# lastb | awk '{ print $3}' | awk '{++S[$NF]} END {for(a in S) print a, S[a]}' | sort -rk2 |head
177.124.99.182 99 巴西圣卡塔琳娜
163.44.197.129 98 泰国曼谷
155.94.194.111 98 美国 加利福尼亚
154.83.17.188 98 美国 加利福尼亚
202.159.24.66 97 印度尼西亚 大雅加达 雅加达
185.110.243.137 97土耳其
181.199.122.86 97 厄瓜多尔
178.128.215.16 97 新加坡
103.84.236.222 97 印度 北阿坎德
179.43.156.214 96 瑞士 Zurich
# 查看Linux 文件系统磁盘的使用情况
df -h
#封禁ip
[root@centos ~]# iptables -I INPUT -s ***.***.***.***-j DROP
再查看一下 root 用户执行的命令的历史记录
一般病毒会挟持root权限,如果没被清除记录,可以用此命令查询记录> 初步判断应该是被字典暴力破解从外部攻入。
[root@ls log]# history 500
查看是否存在奇怪的定时任务
#这种病毒一般都会有定时任务存在
cd /var/spool/cron
#在此目录下,ll 一下可以看到定时任务列表,cat 看一下,存在陌生定时任务,将他删除
top 命令查看CPU 占用
[root@ls log]# top
可以发现 CPU 占用极高,其中 PID 921605这个进程 CPU 占用率极大。关键词:kdevtmpfsi, 看来我是中了两个挖矿病毒啊 👏
解决:
PS:通过
ps -ef
命令查出kdevtmpfsi
进程号,直接 kill -9 进程号并删除 /tmp/kdevtmpfsi 执行文件。但没有过1分钟进程又运行了,这时就能想到,kdevtmpfsi
有守护程序或者有计划任务。通过crontab -l
查看是否有可疑的计划任务。
#查看 kdevtmpfsi 进程
[root@centos ~]# ps -ef | grep kdevtmpfsi
root 921603 4101736 0 14:20 ? 00:00:00 [kdevtmpfsi] <defunct>
root 921605 4101736 89 14:20 ? 00:26:08 /tmp/kdevtmpfsi
root 2049891 837107 0 14:49 pts/0 00:00:00 grep --color=auto kdevtmpfsi
[root@centos ~]# crontab -l #查找可疑定时
no crontab for root
[root@centos ~]# systemctl status 837107 #根据第一步知道 kdevtmpfsi 进程号是 837107,使用 systemctl status 837107 发现 kdevtmpfsi 有守护进程
● session-22.scope - Session 22 of user root
Loaded: loaded (/run/systemd/transient/session-22.scope; transient)
Transient: yes
Active: active (running) since Tue 2022-06-28 14:18:33 CST; 31min ago
Tasks: 9
Memory: 368.0M
CGroup: /user.slice/user-0.slice/session-22.scope
├─ 836189 sshd: root [priv]
├─ 836969 sshd: root@pts/0,pts/1
├─ 837107 -bash
├─ 837202 -bash
├─ 839365 top
├─2055827 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;uptime;echo finalshell_separator;cat /proc/net/dev;echo finalshell_separator;df;echo finalshell_separ>
├─2055858 sleep 1
├─2056021 systemctl status 837107
└─2056026 less
Jun 28 14:18:33 centos systemd[1]: Started Session 22 of user root.
至此,我们已经找到了病毒的相关进程,kill 掉 kdevtmpfsi 守护进程
kill -9 PID
,再killall -9 kdevtmpfsi
挖矿病毒,最后删除 kdevtmpfsi 执行程序rm -f /tmp/kdevtmpfsi
。
事后检查&预防
检查 root 用户 .ssh 目录下 authorized_keys 是否被配置了后门的 ssh 的 key
修改SSH端口
vim /etc/ssh/sshd_config
开启防火墙,只开放必须开放的端口,或者绑定ip访问
补充
登录相关
last命令,对应的日志文件/var/log/wtmp; 成功登录用户
lastb命令,对应的日志文件/var/log/btmp; 尝试登录信息
lastlog命令,对应的日志文件/var/log/lastlog; 显示最近登录信息
清除登陆系统成功的记录
[root@localhost root]#echo > /var/log/wtmp//此文件默认打开时乱码,可查到ip等信息
[root@localhost root]#last//此时即查不到用户登录信息
清除登陆系统失败的记录
[root@localhost root]# echo > /var/log/btmp//此文件默认打开时乱码,可查到登陆失败信息
[root@localhost root]#lastb//查不到登陆失败信息
Bash历史相关
<空格>command //在执行命令时,指定Bash不保存执行历史
history -r //清除当前登录session的历史
history -cw //清除所有历史
清除历史执行命令
[root@localhost root]# history -c //清空历史执行命令
[root@localhost root]# echo > ./.bash_history//或清空用户目录下的这个文件即可
参考:【2022-03-04】记一次服务器被挖矿的处理过程Linux 服务器上有挖矿病毒 kdevtmpfsi 如何处理?# 学习计划安排
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!
如果你对网络安全入门感兴趣,那么你需要的话可以
点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!文章来源:https://www.toymoban.com/news/detail-829125.html
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析文章来源地址https://www.toymoban.com/news/detail-829125.html
到了这里,关于记一次服务器被挖矿的处理解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!