当前位置: 首页 > news >正文

可疑文件、文件夹、进程监控查杀脚本

#!/bin/bash# 可疑文件列表
SUSPICIOUS_FILES=("/root/.dragosteftp""/bin/CZEdY7oP""/data/rcu_scheb""/dev/shm/netmonxd""/usr/bin/mslog/.cfg/rcu_scheb""/tmp/.cfg""/var/tmp/logxwatch""/tmp/taskxclean""/tmp/*x*""/bin/nOabp95U""/bin/CZEdY7oP""/usr/bin/udeb""/etc/security/dev_/dev_b573d3af""/usr/lib/x86_64-linux-gnu/e2fsprogs/e2scrub_all_cron""/sbin/e2scrub_all""/usr/bin/35b0083b"
)# 可疑目录列表
SUSPICIOUS_DIRS=("/root/.cfg""/dev/shm/.cfg""/dev/shm/*x*""/tmp/.cfg""/usr/bin/mslog/.cfg""/etc/cron.*"
)# 可疑进程字段列表
SUSPICIOUS_PROC_FIELDS=("/root/.cfg""/dev/shm""/var/tmp""/tmp""mining""crypto""miner""^/[^/]*[a-zA-Z0-9]{8}$"
)# 获取所有进程及其command信息
get_all_procs() {ps -eo pid,cmd=
}# 处理可疑进程(已更新)
process_suspicious_procs() {all_procs=$(get_all_procs)match_pids=()while IFS= read -r line; dopid=$(echo $line | awk '{print $1}')cmd=$(echo $line | awk '{print $2}')for field in "${SUSPICIOUS_PROC_FIELDS[@]}"; doif [[ $cmd =~ $field ]]; thenmatch_pids+=("$pid")echo "$(date '+%Y-%m-%d %H:%M:%S') - Matched Command with suspicious field '$field': $cmd, PID: $pid"breakfidonedone <<< "$all_procs"if [ ${#match_pids[@]} -gt 0 ]; thenecho "$(date '+%Y-%m-%d %H:%M:%S') - Found processes with suspicious fields: ${match_pids[*]}"for pid in "${match_pids[@]}"; doCOMMAND_INFO=$(ps -p $pid -o command=)if kill -0 $pid 2>/dev/null; thensudo kill -9 $pidif [ $? -eq 0 ]; thenecho "$(date '+%Y-%m-%d %H:%M:%S') - Killed process with PID: $pid, Command: $COMMAND_INFO"elseecho "$(date '+%Y-%m-%d %H:%M:%S') - Failed to kill process with PID: $pid, Command: $COMMAND_INFO"fielseecho "$(date '+%Y-%m-%d %H:%M:%S') - Process with PID: $pid does not exist, Command: $COMMAND_INFO"fidonefi
}
# 处理可疑文件
process_suspicious_files() {for file in "${SUSPICIOUS_FILES[@]}"; doif [ -f "$file" ]; thenecho "$(date '+%Y-%m-%d %H:%M:%S') - Found suspicious file: $file"sudo rm -f "$file"if [ $? -eq 0 ]; thenecho "$(date '+%Y-%m-%d %H:%M:%S') - Deleted suspicious file: $file"elseecho "$(date '+%Y-%m-%d %H:%M:%S') - Failed to delete suspicious file: $file"fifidone
}# 处理可疑目录
process_suspicious_dirs() {for dir in "${SUSPICIOUS_DIRS[@]}"; doif [ -d "$dir" ]; thenecho "$(date '+%Y-%m-%d %H:%M:%S') - Found suspicious directory: $dir"sudo rm -rf "$dir"if [ $? -eq 0 ]; thenecho "$(date '+%Y-%m-%d %H:%M:%S') - Deleted suspicious directory: $dir"elseecho "$(date '+%Y-%m-%d %H:%M:%S') - Failed to delete suspicious directory: $dir"fifidone
}# 主循环
while true; do# 快速查杀可疑进程process_suspicious_procs# 较慢频率查杀可疑文件process_suspicious_files# 较慢频率查杀可疑目录process_suspicious_dirs# 设置不同任务的执行间隔sleep 0.5  # 进程查杀间隔sleep 1    # 文件和目录查杀间隔
done

http://www.mrgr.cn/news/46663.html

相关文章:

  • Vue2.0的安装
  • c++ haru生成pdf输出文本实例
  • 3、docker的数据卷和dockerfile
  • HOW - Form 表单确认校验两种模式(以 Modal 场景为例)
  • 简单组合逻辑
  • 单体 vs 微服务 怎么选?
  • k8s的安装和部署
  • 修改calibre-web最大文件上传值
  • Java第二阶段---12继承---第三节 final 修饰符
  • 询盘鸭跨境电商独立站
  • 软件设计师——系统基础开发
  • 【第2章 开始学习C++】C++语句
  • 力扣1031. 两个非重叠子数组的最大和
  • 体制内的必须要知道的“人情世故”及职场礼仪
  • 快速区分 GPT-3.5 与 GPT-4
  • 腾讯云SDK连麦应用
  • 高质量带货短视频素材来源推荐
  • 2.安装keepalived详细过程
  • [算法] 数组
  • 【必须知道】LLM大模型幻觉(hallucination)的成因和处理测试
  • [C++ 核心编程]笔记 3 引用做函数参数
  • c++11~c++20 thread_local
  • 老外发微信时说“I‘ll ping you”是什么意思?发微信怎么用英语说柯桥学英语到哪里?
  • 计算机网络:数据链路层 —— 数据链路层概述
  • LSTM(长短时记忆网络)
  • 城门(动态规划)