Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒
Posted 玩电脑的辣条哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒相关的知识,希望对你有一定的参考价值。
环景:
Ubuntu16.04.06 LTS
问题描述:
-bash 进程占用cpu很高,别的进程开启运行过后就被它killed,-bash一直占用50%的CPU,服务器被拉的嗷嗷叫
解决方案:
1.netstat -antlp|grep -e -bash -e rsync 查看进程通信信息**
与外国157.245.164.26地址通信
htop
2.root@ps-SYS-4028GR-TR:/# crontab -l 查看计划任务
-
-
-
-
- /dev/shm/.bash/bash
-
-
-
删除crontab任务:crontab -r
3.ls -l /proc/28505/exe #28505为当时进程号 查看进程位置
lrwxrwxrwx 1 root root 0 Nov 5 13:04 /proc/28505/exe -> /usr/bin/-bash (deleted)
显示的是这个样子 exe -> /usr/bin/-bash (deleted) 表示在运行已经被删除,是刻意隐藏代码的一种手段
进程和文件定时任务清除后,还是会隔一段时间自动开启
继续检查
4.查看环境变量.bash_profile时发现存在异常:
root@ps-SYS-4028GR-TR:~# cat .bash_profile 查看环境变量
cp -f -r – /bin/bprofr /bin/-bash 2>/dev/null && /bin/-bash -c >/dev/null 2>&1 && rm -rf – /bin/-bash 2>/dev/null
5.发现木马文件/bin/bprofr
删除,rm –rf /bin/bprofr,执行时报如下错误:
rm –rf /bin/bprofr : Operation not permitted
root@ps-SYS-4028GR-TR:/bin# lsattr bprofr 查看文件属性
----ia-------e-- bprofr
root@ps-SYS-4028GR-TR:/bin# chattr -ia bprofr 去除属性
root@ps-SYS-4028GR-TR:/bin# rm -rf bprofr 删除文件
继续观察观察····
才消停几个小时,又发作
查看bin目录下5个文件,-bash(大爷)、 initdr、 sysdr、 bprofr(之前已经删了)、 crondr,这5大包工头黑壳工具,4个都是属于uucps组
在这期间一不留神误删了正常bash,欲哭无泪····
恢复文章
6.删除5大包工头和环境变量(提示没有权限,更改权限再删除)
root@ps-SYS-4028GR-TR:~# vi .bash_profile
提示没有权限
[7]+ Stopped vi .bash_profile
root@ps-SYS-4028GR-TR:~# lsattr .bash_profile
----ia-------e-- .bash_profile
root@ps-SYS-4028GR-TR:~# chattr -ia .bash_profile
root@ps-SYS-4028GR-TR:~# vi .bash_profile
root@ps-SYS-4028GR-TR:~# cat .bash_profil
把这些文件导出用火绒扫了下,360扫不出
入侵排查整理
- 定时任务排查
定时任务crontab是挖矿病毒都会用到的东西,所以定时任务一定要看。
1crontab-l #列出所有的定时任务
2crontab -r #删除所有的定时任务,可能会删除我们自己的配置信息,不推荐使用
3crontab -e #编辑crontab文件
一些需要关注的定时任务文件
1/var/spool/cron/* #centos的
2/var/spool/cron/crontabs/* #ubuntu的
3/var/spool/anacron/*
4/etc/crontab
5/etc/anacrontab #异步定时
6/etc/cron.hourly/*
7/etc/cron.daily/*
8/etc/cron.weekly/
9/etc/cron.monthly/*
- 用户密码
排查/etc/passwd
1stat/etc/passwd #查看密码文件上一次修改的时间,如果最近被修改过,那就可能存在问题。
2cat /etc/passwd | grep-v nologin #查看除了不可登录以外的用户都有哪些,有没有新增的
3cat /etc/passwd | grepx: 0#查看哪些用户为root权限,有没有新增的
4cat /etc/passwd | grep/bin/bash#查看哪些用户使用shell
- 导出操作记录
如果攻击者没有删除造作记录,我们可以从操作记录中发现一些我们想要的东西
1exportHISTTIMEFORMAT= "%F %T whoami
"#设置history显示时间和用户名
2history> /home/xxx/history.log
- 日志
日志总是能发现一些蛛丝马迹,所以日志也同样重要。存放在/var/log目录下的东西都认真看一下
1/var/ log/secure #记录安全相关的日志,重点看一下
2/var/ log/btmp #登陆失败的日志记录
3lastb -f btmp-2020xxxx #可以查看过去的某个登录失败记录
4/var/ log/wtmp #登陆成功的日志记录
5#wtmp和btmp只能使用 last和lastb命令查看,不能直接打开看内容的。
6/var/ log/yum.log #安装记录,我们可以看一下最近有没有安装一些特殊的依赖库什么的
- 进程排查
1top 命令可以直接清除看到实施情况。
2ps aux --sort=pcpu | head -10#查看cpu占用率前十的进程,有时候可以发现top发现不了的东西
3ls -l /proc/*/exe | grep xxx #如果我们知道恶意程序的启动文件大致位置,可以使用这个发现无文件的恶意进程
- 域名hosts
有一些挖矿程序会修改 /etc/hosts文件,请看一下其中内容是否被更改过
前两天在另外的项目组上发现的某个挖矿病毒就会修改hosts文件
这是从那台服务器上提取的一些恶意的配置内容
10 .0.0.0aliyun.one
20 .0.0.0lsd.systemten.org
30 .0.0.0pastebin.com
40 .0.0.0pm.cpuminerpool.com
50 .0.0.0systemten.org
7.网络连接
有时候我们通过网络连接发现有些IP很可以,就可以通过ip找到进程发现问题。
1netstat-antlp | grep x.x.x.x | awk ‘{print $7}’ | cut -f1 -d “/”#获取存在某ip的进程id号
以上是关于Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu16.04用户使用Sudo命令不用输入密码,免密码
从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS
将 Ubuntu 16.04 LTS 升级到 Ubuntu 18.04 LTS