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

攻防演练:1.木马后门文件演练

为了防止 Linux 服务器上传木马后门文件,可以编写一个脚本,定期检查系统中的可疑文件、进程和权限。以下是一个示例脚本,用于检查常见的后门文件、异常进程和权限问题。


脚本功能

  1. 检查常见后门文件路径。
  2. 检查异常 SUID/SGID 文件。
  3. 检查异常进程。
  4. 检查定时任务(cron jobs)。
  5. 检查网络连接。
  6. 记录检查结果到日志文件。 

脚本代码

#!/bin/bash# 日志文件路径
LOG_FILE="/var/log/security_scan.log"# 时间戳
echo "===== 安全扫描开始 [$(date)] =====" >> $LOG_FILE# 1. 检查常见后门文件路径
echo "===== 检查常见后门文件路径 =====" >> $LOG_FILE
BACKDOOR_PATHS=("/tmp" "/var/tmp" "/dev/shm" "/root/.ssh/authorized_keys""/etc/passwd" "/etc/shadow" "/etc/crontab" "/etc/ld.so.preload"
)
for path in "${BACKDOOR_PATHS[@]}"; doif [ -e "$path" ]; thenecho "检查路径: $path" >> $LOG_FILEfind "$path" -type f -mtime -7 -exec ls -lh {} \; >> $LOG_FILEfi
done# 2. 检查异常 SUID/SGID 文件
echo "===== 检查异常 SUID/SGID 文件 =====" >> $LOG_FILE
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -lh {} \; 2>/dev/null >> $LOG_FILE# 3. 检查异常进程
echo "===== 检查异常进程 =====" >> $LOG_FILE
ps aux | grep -E "(bash|sh|nc|telnet|ssh|wget|curl|python|perl|php)" | grep -v grep >> $LOG_FILE# 4. 检查定时任务
echo "===== 检查定时任务 =====" >> $LOG_FILE
crontab -l >> $LOG_FILE
ls -lh /etc/cron* >> $LOG_FILE# 5. 检查网络连接
echo "===== 检查网络连接 =====" >> $LOG_FILE
netstat -tulnp | grep -E "(LISTEN|ESTABLISHED)" >> $LOG_FILE# 6. 检查 /etc/passwd 和 /etc/shadow 权限
echo "===== 检查 /etc/passwd 和 /etc/shadow 权限 =====" >> $LOG_FILE
ls -lh /etc/passwd >> $LOG_FILE
ls -lh /etc/shadow >> $LOG_FILE# 扫描完成
echo "===== 安全扫描完成 [$(date)] =====" >> $LOG_FILE

使用方法

  1. 将脚本保存为 security_scan.sh

  2. 赋予脚本执行权限:

    chmod +x security_scan.sh
  3. 定期运行脚本(例如每天一次),可以通过 cron 设置:

    crontab -e

    添加以下内容:

    0 2 * * * /path/to/security_scan.sh

    这表示每天凌晨 2 点运行脚本。

  4. 检查日志文件 /var/log/security_scan.log,查看扫描结果。 

注意事项

  • 脚本仅用于基本检查,无法检测所有类型的后门或恶意文件。
  • 如果发现可疑文件或进程,需要进一步分析。
  • 定期更新系统和软件,以减少漏洞风险。
  • 结合其他安全工具(如 fail2banrkhunterclamav)使用,增强安全性。 

扩展功能

  • 添加邮件通知功能,将扫描结果发送到管理员邮箱。
  • 使用 clamav 等工具扫描系统中的恶意文件。
  • 检查系统日志(如 /var/log/auth.log)中的异常登录记录。

通过定期运行此脚本,可以有效提高服务器的安全性,及时发现潜在的木马后门文件。

http://www.lryc.cn/news/572254.html

相关文章:

  • 线程之并发限制
  • C语言项目实践——贪吃蛇
  • Python Redis 简介
  • Day05_数据结构总结Z(手写)
  • 设计模式精讲 Day 7:桥接模式(Bridge Pattern)
  • 68、数据访问-crud实验-删除用户完成
  • 优化TCP/IP协议栈与网络层
  • 十年年化50%+的策略如何进化?兼容机器学习流程的量化策略开发,附python代码
  • WOOT BD活动背后的策略与操作
  • openKylin适配RISC-V高性能服务器芯片,携手睿思芯科共拓智算新蓝海
  • Linux head 命令
  • 软件项目管理(第4版)部分课后题答案
  • 腾讯云TCCP认证考试报名 - TDSQL数据库交付运维高级工程师(MySQL版)
  • 【设计模式】用观察者模式对比事件订阅(相机举例)
  • 智能混合检索DeepSearch
  • 《二叉搜索树》
  • Git版本控制详细资料
  • Postman 的 Jenkins 管理 - 自动构建
  • ABP VNext + MongoDB 数据存储:多模型支持与 NoSQL 扩展
  • 【深度学习】生成对抗网络(GANs)深度解析:从理论到实践的革命性生成模型
  • 理想树获沙利文认证,赢得中学教辅图书市场认可
  • java Class类反射getDeclaredMethod() 和 getMethod()的区别
  • Linux中的阻塞信号与信号原理
  • Linux 并发编程:从线程池到单例模式的深度实践
  • 用 STM32 HAL/LL + Arduino 混合编程
  • 硬件-DAY04(ds18b20、ARM内核)
  • Python打卡:Day31
  • 矩阵置零C++
  • Linux:信号和线程
  • 如何在 Pop!_OS 或 Ubuntu Linux 上安装 Dash to Dock