温馨提示×

Ubuntu Exploit:如何检测恶意代码

小樊
44
2025-12-24 01:14:44
栏目: 智能运维

Ubuntu 恶意代码检测与处置流程

一、快速检测清单

  • 系统完整性基线
    • 查看最近改动与新增文件:find /tmp /var/tmp -mtime -7 -ls;ls -lat /etc /usr/bin /usr/sbin | head
    • 检查定时任务与系统服务:crontab -l -u root;grep -R “CRON” /var/spool/cron /etc/cron* /etc/init.d /etc/systemd 2>/dev/null
    • 检查可疑网络连接与监听:ss -tulpen | grep -E “ESTAB|LISTEN”;lsof -i -P -n | egrep “ESTABLISHED|LISTEN”
    • 检查开机自启与持久化:systemctl list-unit-files --type=service | grep enabled;grep -R “ExecStart” /etc/systemd /etc/init.d 2>/dev/null
  • 日志与登录异常
    • 登录审计:last -a | head;grep “Failed password” /var/log/auth.log;faillog -a
    • 内核与系统消息:dmesg | tail -n 200;journalctl -xe | tail -n 200
  • 恶意软件与 Rootkit 初筛
    • 运行 Rootkit 检测:sudo chkrootkit;sudo rkhunter --check(查看 /var/log/rkhunter.log)
    • 运行反病毒扫描:clamscan -r -i --move=/var/quarantine /tmp /var/www(按需替换路径)
  • 网站目录专项(如为 Web 服务器)
    • 使用 LMD(Linux Malware Detect)对 /var/www 等目录进行恶意脚本与 WebShell 检测与隔离

二、工具与命令速查

工具 用途 安装 常用命令 要点
ClamAV 反病毒引擎(文件/归档/文档) sudo apt-get install clamav clamav-freshclam freshclam;clamscan -r -i /path;–move=隔离目录 适合文件落地型恶意软件与邮件/附件场景
chkrootkit Rootkit 检测 sudo apt-get install chkrootkit sudo chkrootkit 轻量快速;个别环境存在误报,需结合日志与人工复核
rkhunter Rootkit/后门/可疑二进制检测 sudo apt-get install rkhunter sudo rkhunter --update;sudo rkhunter --check 结果写入 /var/log/rkhunter.log;可配置每日检查与更新
LMD(Linux Malware Detect) WebShell/恶意脚本检测与隔离 下载安装脚本并执行 ./install.sh maldet -a /var/www;maldet --monitor-start;maldet --report list 支持实时监控与邮件告警,适合 Web 主机
Lynis 安全审计与加固建议 sudo apt-get install lynis sudo lynis audit system 非杀毒工具,用于发现配置薄弱点与风险项
Fail2ban 暴力破解防护(SSH 等) sudo apt-get install fail2ban sudo systemctl enable --now fail2ban 减少被爆破成功后的入侵概率
UFW 防火墙(最小化暴露面) sudo apt-get install ufw sudo ufw enable;sudo ufw status 仅放行业务必需端口(如 22/80/443
AppArmor 强制访问控制(MAC) 通常预装 sudo aa-status 为关键服务(如 nginx/mysql/ssh)加载或编写策略以限权
以上工具与命令为 Ubuntu 环境下常用、有效的检测与加固组合,覆盖文件、进程、网络、Rootkit 与 Web 场景。

三、降低误报与对抗“被感染的工具链”

  • 使用可信环境执行检测
    • 从 LiveCD/救援盘挂载受检系统分区,或以只读介质提供干净命令集,使用 chkrootkit 的 -p 指定干净路径、rkhunter 的 BINDIR 指向只读命令目录,避免被篡改的 ps/ls/netstat 等影响判断。
  • 交叉验证与多引擎扫描
    • Rootkit 类用 chkrootkit 与 rkhunter 交叉;文件类用 ClamAV 与 LMD 交叉;Web 目录再用 LMD 专项复核。
  • 基线对比与完整性校验
    • 对比关键系统目录的包管理校验和与文件属性(如 dpkg -V 输出),对新增/篡改的可疑文件做进一步取证与溯源。

四、发现后的处置与加固

  • 隔离与取证
    • 立即将系统从网络隔离;对可疑文件做只读备份与哈希记录(sha256sum),保留相关日志(auth.log、journalctl、rkhunter.log、clamscan 日志、LMD 日志)以便溯源。
  • 清理与恢复
    • 优先使用“隔离/删除并重建”的方式清理恶意文件;对 Web 目录使用 LMD 的隔离功能后,复核并修补漏洞(弱口令、插件/主题漏洞、过时组件)。
    • 系统层面:更新系统与安全补丁(apt update && apt full-upgrade);重置被入侵账户的密码;撤销可疑 SSH 公钥;清理异常定时任务与自启项。
  • 加固与持续监测
    • 启用并验证 UFW 仅开放必要端口;为关键服务启用 AppArmor 策略;部署 Fail2ban 防暴力;配置 rkhunterLMD 的定时任务与邮件告警,形成持续检测闭环。

0