Centos7 查杀挖矿程序(systemd-private)

最近发现公司服务器莫名访问外国网站增多,所以查了目的地址,发现是挖矿地址,主要有以下几个特性。

1.中毒机器会暴力破解其它主机,并启用tracepath进行。

2.中毒主机会利用其它主机的安全漏洞进行传播,如hadoop、reids、mysql等。

3.中毒机器杀完会复发。

4.病毒会设置定时任务。

针对以上特性制作脚本,脚本需要以下特性。

1.必须持续查杀,杀掉病毒源文件、删掉定时任务。

2.发现被暴力破解的主机要,查找源头,直至没用暴力破解事件出现。

3.进行SSH加固。

#!/bin/bash

echo "检查病毒进程是否存在"
#ps -aux | awk '$11~/^([a-z]|[0-9]|[A-Z]){8}$/{print $11}'
#杀完把定时任务添加上一分钟执行一次。
#*/1 * * * * /home/shadu.sh ps -ef | grep tracepath | grep -v grep | awk '{print $2}'| sed -e "s/^/kill -9 /g" | sh echo "杀掉tracepath进程" ps -ef | grep 4fsSLkA | grep -v grep | awk '{print $2}'| sed -e "s/^/kill -9 /g" | sh echo "杀掉4fsSLkA进程"
#病毒进程需要根据病毒的特性制作,我发现的这个是病毒会自动生成8个字母数字名字的进程。 ps -aux | awk '$11~/^([a-z]|[0-9]|[A-Z]){8}$/{print $2}'| awk 'NR==1' | xargs -I % kill -9 % echo "杀掉病毒进程" sed -i '/systemd-private/d' /var/spool/cron/root echo "杀掉病毒定时任务"
#根据实际情况进行删除 rm -rf /tmp/.X11-unix/* echo '已删除/tmp/.X11-unix/下所有文件' rm -rf /root/.systemd-private* echo '已删除病毒文件' echo '开始SSH安全加固' cat /var/log/secure |tail -n 200 |awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'|grep -v 'session' >> /usr/local/bin/Denyhosts.txt #筛选出状态为Invalid user的ip和次数 cat /var/log/secure |tail -n 200|awk '/Invalid user/{print $(NF-2)}'|sort|uniq -c|awk '{print $2"="$1;}' >> /usr/local/bin/Denyhosts.txt DEFINE="10" #规定允许次数为10次 for i in `cat /usr/local/bin/Denyhosts.txt` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i|awk -F= '{print $2}'` if [ $NUM -gt $DEFINE ]; then grep $IP /etc/hosts.deny > /dev/null if [ $? -gt 0 ]; then echo "sshd:$IP" >> /etc/hosts.deny fi fi done echo 'SSH安全加固完毕'

  

posted @ 2022-08-30 21:39  非专业编程  阅读(549)  评论(0)    收藏  举报