Ubuntu Exploit:如何检测恶意代码
导读:Ubuntu 恶意代码检测与处置流程 一、快速检测清单 系统完整性基线 查看最近改动与新增文件:find /tmp /var/tmp -mtime -7 -ls;ls -lat /etc /usr/bin /usr/sbin | hea...
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 防暴力;配置 rkhunter 与 LMD 的定时任务与邮件告警,形成持续检测闭环。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Exploit:如何检测恶意代码
本文地址: https://pptw.com/jishu/779541.html
