攻防演练:1.木马后门文件演练
为了防止 Linux 服务器上传木马后门文件,可以编写一个脚本,定期检查系统中的可疑文件、进程和权限。以下是一个示例脚本,用于检查常见的后门文件、异常进程和权限问题。
脚本功能
- 检查常见后门文件路径。
- 检查异常 SUID/SGID 文件。
- 检查异常进程。
- 检查定时任务(cron jobs)。
- 检查网络连接。
- 记录检查结果到日志文件。
脚本代码
#!/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
使用方法
-
将脚本保存为
security_scan.sh
。 -
赋予脚本执行权限:
chmod +x security_scan.sh
-
定期运行脚本(例如每天一次),可以通过
cron
设置:crontab -e
添加以下内容:
0 2 * * * /path/to/security_scan.sh
这表示每天凌晨 2 点运行脚本。
-
检查日志文件
/var/log/security_scan.log
,查看扫描结果。
注意事项
- 脚本仅用于基本检查,无法检测所有类型的后门或恶意文件。
- 如果发现可疑文件或进程,需要进一步分析。
- 定期更新系统和软件,以减少漏洞风险。
- 结合其他安全工具(如
fail2ban
、rkhunter
、clamav
)使用,增强安全性。
扩展功能
- 添加邮件通知功能,将扫描结果发送到管理员邮箱。
- 使用
clamav
等工具扫描系统中的恶意文件。 - 检查系统日志(如
/var/log/auth.log
)中的异常登录记录。
通过定期运行此脚本,可以有效提高服务器的安全性,及时发现潜在的木马后门文件。