Ubuntu16.04.06 LTS
-bash 进程占用cpu很高,别的进程开启运行过后就被它killed,-bash一直占用50%的CPU,服务器被拉的嗷嗷叫
1.netstat -antlp|grep -e -bash -e rsync 查看进程通信信息**
与外国157.245.164.26地址通信
2.root@ps-SYS-4028GR-TR:/# crontab -l 查看计划任务
删除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 删除文件
继续观察观察····
6.开机脚本文件
cat /etc/rc.local
才消停几个小时,又发作
查看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
入侵排查整理
定时任务crontab是挖矿病毒都会用到的东西,所以定时任务一定要看。
1.crontab-l #列出所有的定时任务
2.crontab -r #删除所有的定时任务,可能会删除我们自己的配置信息,不推荐使用
3.crontab -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
1.cat/etc/passwd #查看密码文件上一次修改的时间,如果最近被修改过,那就可能存在问题。
2.cat /etc/passwd | grep-v nologin #查看除了不可登录以外的用户都有哪些,有没有新增的
3c.at /etc/passwd | grepx: 0#查看哪些用户为root权限,有没有新增的
4.cat /etc/passwd | grep/bin/bash#查看哪些用户使用shell
如果攻击者没有删除造作记录,我们可以从操作记录中发现一些我们想要的东西
1.exportHISTTIMEFORMAT= "%F %T whoami
"#设置history显示时间和用户名
2.history> /home/xxx/history.log
日志总是能发现一些蛛丝马迹,所以日志也同样重要。存放在/var/log目录下的东西都认真看一下
1./var/ log/secure #记录安全相关的日志,重点看一下
2./var/ log/btmp #登陆失败的日志记录
3.lastb -f btmp-2020xxxx #可以查看过去的某个登录失败记录 last -f /var/log/btmp | more
4./var/ log/wtmp #登陆成功的日志记录 last -f /var/log/wtmp | more
5.wtmp和btmp只能使用 last和lastb命令查看,不能直接打开看内容的
6./var/ log/yum.log #安装记录,我们可以看一下最近有没有安装一些特殊的依赖库什么的
1.top 命令可以直接清除看到实施情况。
2.ps aux --sort=pcpu | head -10#查看cpu占用率前十的进程,有时候可以发现top发现不了的东西
3.ls -l /proc/*/exe | grep xxx #如果我们知道恶意程序的启动文件大致位置,可以使用这个发现无文件的恶意进程
有一些挖矿程序会修改 /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
有时候我们通过网络连接发现有些IP很可以,就可以通过ip找到进程发现问题。
1netstat-antlp | grep x.x.x.x | awk ‘{print $7}’ | cut -f1 -d “/”#获取存在某ip的进程id号