已知病毒处理脚本

32 篇文章 3 订阅

 近期在环境出现过的4个病毒的检测及处理工具,通过检测特征文件判断,下载附件后可放在任意目录执行。

如果有疑似中毒机器可以用这个查一下

执行sh virus.sh --help 可以查看使用帮助

#!/bin/bash
##############################################################
#File Name: virus.sh
#Author: Chen Deyang
#Created Time : 2018-12-13 12:30:00
##############################################################
source /etc/profile
BASE_DIR=$(cd `dirname $0`; pwd)

function show_help {
  echo "virus help page

描述:
  用于已知病毒检测,需要加入一些参数运行。

  参数列表:
    * --check       检测是否有已知病毒
    * --clean       需要输入病毒名,在check的输出中会提供。

  示例:
	sh $BASE_DIR/virus.sh --check;
	sh $BASE_DIR/virus.sh --clean=zigw;
"
}

function check_virus {
  local virus_flag=false;

  # zigw
  [ -e /etc/zigw ] || [ -e /etc/shz.sh ] && echo "------------------------------------------------------------------------------------------------------------------
    疑似存在已知病毒 zigw,请参考以下url确认当前机器现象是否符合描述,若符合则可执行clean语句根据提示进行清理。
    https://www.xzeu.com/index.php/archives/120/

    sh $BASE_DIR/virus.sh --clean=zigw" && virus_flag=true;

  # pastbin_a
  [ -e /etc/ld.so.preload ] || [ -e /usr/local/lib/libdns.so ] || [ -e /usr/sbin/netdns ] && echo "------------------------------------------------------------------------------------------------------------------
    疑似存在已知病毒 pastbin_a,请参考以下url确认当前机器现象是否符合描述,若符合则可执行clean语句根据提示进行清理。
    pastebin有多种分支,需要确认具体中的是哪一种。
    http://blog.51cto.com/xvjunjie/2306502

    执行将清空crontab已有定时任务
    sh $BASE_DIR/virus.sh --clean=pastbin_a" && virus_flag=true;

  # pastbin_b
  [ -e /etc/ld.so.preload ] || [ -e /usr/local/lib/libntpd.so ] || [ -e /usr/local/bin/dns ] && echo "------------------------------------------------------------------------------------------------------------------
    疑似存在已知病毒 pastbin_b,请参考以下url确认当前机器现象是否符合描述,若符合则可执行clean语句根据提示进行清理。
    pastebin有多种分支,需要确认具体中的是哪一种。
    https://blog.csdn.net/lang363/article/details/82354830

    执行将清空crontab已有定时任务
    sh $BASE_DIR/virus.sh --clean=pastbin_b" && virus_flag=true;

  # iacpkmn
  [ -e /usr/lib/libiacpkmn.so.3 ] || [ -e /etc/rc.d/init.d/nfstruncate ] || [ -e /usr/bin/nfstruncate ] && echo "------------------------------------------------------------------------------------------------------------------
    疑似存在已知病毒 iacpkmn,请参考以下url确认当前机器现象是否符合描述,若符合则可执行clean语句根据提示进行清理。
    http://blog.51cto.com/10950710/2123114

    sh $BASE_DIR/virus.sh --clean=iacpkmn" && virus_flag=true;

  if [ $virus_flag = true ] ;then
    echo "------------------------------------------------------------------------------------------------------------------"
  else
    echo "未检测到已知病毒";
  fi

}

function clean_virus {
  local virus_name=$1
  case $virus_name in
    "zigw")
      clean_zigw; 
      ;;
    "pastbin_a") 
      clean_pastebin_a;
      ;;
    "pastbin_b") 
      clean_pastebin_b;
      ;;
    "iacpkmn") 
      clean_iacpkmn;
      ;;
    *)
      echo "非已知病毒,请确认输入是否正确";
      exit;
      ;;
  esac
}

function clean_zigw {
  chattr -i /etc/zigw
  chattr -i /etc/shz.sh
  chattr -i /tmp/zigw
  chattr -i /tmp/shz.sh
  rm -rf /etc/zigw
  rm -rf /etc/shz.sh
  rm -rf /tmp/zigw
  rm -rf /tmp/shz.sh
  
  kill -9 `ps -ef|grep shz.sh|grep -v grep|awk '{print $2}'`
  kill -9 `ps -ef|grep zigw|grep -v grep|awk '{print $2}'`
  
  mv /usr/bin/get /usr/bin/wget
  mv /usr/bin/url /usr/bin/curl
  
  echo "----------------------------------------------------------------------------"
  echo "已完成zigw处理"
  echo "建议重启redis服务"
  echo "----------------------------------------------------------------------------"
}

function clean_pastebin_a {
  iptables -D INPUT -p TCP --dport 6379 -j REJECT
  iptables -D INPUT -s 127.0.0.1 -p tcp --dport 6379 -j ACCEPT
  
  rm -rf /etc/ld.so.preload
  rm -rf /usr/local/lib/libdns.so
  rm -rf /bin/httpdns
  rm -rf /usr/sbin/netdns
  rm -rf /etc/init.d/netdns
  
  sed -i '/etc\/cron.hourly/d' /etc/crontab ;
  sed -i '/etc\/cron.daily/d' /etc/crontab ;
  sed -i '/httpdns/d' /etc/crontab ;
  
  rm -rf /var/spool/cron/crontabs;
  echo > /var/spool/cron/root;
  echo > /etc/cron.d/apache;
  echo > /etc/cron.d/root;
  echo > /etc/cron.d/system;
  echo > /etc/cron.daily/oanacroner;
  echo > /etc/cron.hourly/oanacroner;
  echo > /etc/cron.monthly/oanacroner;
  
  kill -9 `ps -ef|grep kworkerds|grep -v grep|awk '{print $2}'`
  echo "----------------------------------------------------------------------------"
  echo "已完成pastebin_a处理"
  echo "挖矿脚本在/tmp/目录内,根据环境判断是执行rm -rf /tmp/* 还是单独寻找处理"
  echo "建议重启redis服务"
  echo "原有的定时任务已经被挖矿脚本清除,需要参考其他环境重新设定定时任务"
  echo "本病毒容易短期复发,需要在1小时后复查环境确认是否仍有异常"
  echo "----------------------------------------------------------------------------"
}

function clean_pastebin_b {
  echo "" > /etc/crontab
  echo "" > /var/spool/cron/root;
  rm -f /etc/cron.hourly/oanacroner 
  rm -f /etc/cron.daily/oanacroner
  chattr -i /usr/local/bin/dns && rm -f /usr/local/bin/dns
  chattr -i /etc/ld.so.preload && echo "" > /etc/ld.so.preload
  chattr -i /usr/local/lib/libntpd.so && rm -f /usr/local/lib/libntpd.so
  chattr -i /var/spool/cron/crontabs/root && rm -f /var/spool/cron/crontabs/root
  chattr -i /var/spool/cron/root && rm -f /var/spool/cron/root
  rm -f /tmp/kworkerds
  rm -f /tmp/.a
  rm -f /tmp/.38*
  chattr -i /etc/cron.d/0hourly && rm -f /etc/cron.d/0hourly
  chattr -i /etc/cron.d/apache && rm -f /etc/cron.d/apache
  chattr -i /etc/cron.d/root && rm -f /etc/cron.d/root
  chattr -i /etc/cron.d/system && rm -f /etc/cron.d/system
  pkill python
  kill -9 `ps -ef|grep kworkerds|grep -v grep|awk '{print $2}'`
  echo "" > /var/log/cron
  history -c
  
  echo "----------------------------------------------------------------------------"
  echo "已完成pastebin_b处理"
  echo "建议重启redis服务"
  echo "原有的定时任务已经被挖矿脚本清除,需要参考其他环境重新设定定时任务"
  echo "本病毒容易短期复发,需要在1小时后复查环境确认是否仍有异常"
  echo "----------------------------------------------------------------------------"
}

function clean_iacpkmn {
  sed -i '/iacpkmn/d' /etc/crontab ;
  sed -i '/iacpkmn/d' /var/spool/cron/root ;
  chattr -i /usr/lib/libiacpkmn.so.3 && rm -rf /usr/lib/libiacpkmn.so.3
  chattr -i /etc/rc.d/init.d/nfstruncate && rm -rf /etc/rc.d/init.d/nfstruncate
  chattr -i /usr/bin/nfstruncate && rm -rf /usr/bin/nfstruncate
  find /etc -name "S01nfs*"|xargs rm -f
  
  ps -aux --sort=-pcpu|head -10;
  
  echo "----------------------------------------------------------------------------"
  echo "已完成iacpkmn文件处理,请继续根据以下说明处理异常进程"
  echo "请确认当前cpu高的进程是否为[xfsdatad] 或者.sh等类似异常进程名,若是则将其kill -9"
  echo "本病毒容易短期复发,需要在1小时后复查环境确认是否仍有异常"
#  echo "本问题疑似为tomcat8.5.16漏洞导致"
  echo "----------------------------------------------------------------------------"
}


# 参数初始化
virus_name=
while [ $# -ge 0 ]; do
  for i in $@; do
    if [ $i = "--help" ]; then
      show_help
      exit
    elif [ $i = "--check" ];then
      check_virus
      exit
    elif [ ${i%=*} = "--clean" ];then
      virus_name=${i#*=}
    fi
  done
  if [ -z ${virus_name} ] ;then
    echo "参数接收异常,运行\"sh $BASE_DIR/virus.sh --help\"查看帮助信息"
    echo "Parameters receiving incomplete, execute \"sh $BASE_DIR/virus.sh --help\" to view Help information"
  else
    # 清理病毒
    clean_virus ${virus_name};
  fi
  exit 1
done

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有关病毒方面课程的实验内容 实验一 PE结构分析及DOS病毒感染与清除 一、实验目的 1.熟悉PE文件结构 2.掌握DOS系统下.EXE文件病毒感染与清除方法 二、实验要求 1.实验之前认真准备,编写好源程序。 2.实验中认真调试程序,对运行结果进行分析,注意程序的正确性和健壮性的验证。 3.不断积累程序的调试方法。 三、实验内容 1)手工或编程从user32.dll中获得MessageBoxA的函数地址; 2)查阅资料,结合第2章内容,根据PE结构编写一个小的工具软件,或者用PE Explorer、PEditor、Stud_PE等工具软件查看、分析PE文件格式。针对PE文件格式,请思考:Win32病毒感染PE文件,须对该文件作哪些修改; 3)示例病毒exe_v感染原理及其清除 实验二 Windows病毒分析与防治 一、实验目的 掌握Windows病毒感染与清除方法 二、实验要求 1.实验之前认真准备,编写好源程序。 2.实验中认真调试程序,对运行结果进行分析,注意程序的正确性和健壮性的验证。 3.不断积累程序的调试方法。 三、实验内容 1)编程实现Immunity病毒; 2)修复被Immunity感染的host_pe.exe 3)编程实现脚本病毒或宏病毒,参考相关章节爱虫/梅丽莎病毒;修复被上述病毒感染的系统 实验三 蠕虫/木马的分析与防治 一、实验目的 掌握蠕虫/木马感染与清除方法 二、实验要求 1.实验之前认真准备,编写好源程序。 2.实验中认真调试程序,对运行结果进行分析,注意程序的正确性和健壮性的验证。 3.不断积累程序的调试方法。 三、实验内容 1)实现“冲击着清除者”病毒; 2)实现远程线程动态嵌入技术的木马并验证; 3)实现木马远程监视/控制; 4)修复被上述病毒感染的系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值