Linux Exploit检测与清除指南
通过审查系统日志识别异常活动,重点关注登录尝试、权限变更及服务错误。常见日志路径及命令:
/var/log/auth.log(Ubuntu/Debian)、/var/log/secure(CentOS/RHEL),使用tail -f /var/log/auth.log实时监控,或grep "Failed password" /var/log/auth.log查找暴力破解痕迹;/var/log/syslog或/var/log/messages,查看dmesg输出识别内核级异常(如非法内存访问);/var/log/apache2/access.log(访问记录)、/var/log/apache2/error.log(错误信息),分析异常请求(如大量404或可疑路径访问)。sudo clamscan -r --remove /),清除检测到的恶意文件;sudo rkhunter --checkall、sudo chkrootkit),识别隐藏的rootkit;sudo debsecan --suite bookworm --format detail)。使用tcpdump或Wireshark捕获网络流量,分析异常连接(如大量出站连接到陌生IP、非常规端口通信)。示例命令:
sudo tcpdump -i any -w capture.pcap(捕获所有接口流量并保存为pcap文件);ip.src == <可疑IP> and tcp.port == <可疑端口>,识别恶意通信。通过Tripwire、AIDE或LSAT监控关键系统文件(如/bin、/sbin、/etc)的未授权更改。示例步骤:
sudo tripwire --init(初始化数据库)、sudo tripwire --check(检查文件变化);sudo lynis audit system(生成系统安全报告),识别新增的SUID/SGID文件或权限异常。/etc/passwd是否有未授权账户(如grep ":0:" /etc/passwd查找root等效账户),检查/etc/shadow是否有空密码账户(awk -F: '($2 == "" ) {print $1}' /etc/shadow);/etc/sudoers及/etc/sudoers.d/下的文件,避免过度授权(如sudo grep -ER '^%|ALL=' /etc/sudoers.d/);ps aux查看占用高CPU/内存的进程,top排序进程,systemctl list-unit-files --type=service检查异常启动服务。立即隔离受感染系统,防止恶意软件扩散或与C&C服务器通信:
sudo ip link set eth0 down(或sudo ifconfig eth0 down,替换为实际网卡名)。
ps aux | grep <可疑关键词>(如"ddg"、“x86_”、“kthreadds”)查找恶意进程;kill -9 <PID>终止进程(如kill -9 1234),顽固进程可用killall <进程名>(如killall -9 ddg)。/tmp/ddgs.*、/usr/bin/bsd-port/getty、/lib/libudev.so);chattr -i <文件名>解除不可修改属性后再删除(如chattr -i /usr/sbin/watchdogs)。检查并删除可疑定时任务(如挖矿脚本):
crontab -l(当前用户)、crontab -l -u root(root用户);cat /etc/crontab、ls /etc/cron.d/;i.sh、2start.jpg、@reboot /tmp/x86_)。sudo apt update && sudo apt upgrade;CentOS/RHEL:sudo yum update);sudo passwd -x 90 root设置root密码90天过期);/etc/ssh/sshd_config:PermitRootLogin prohibit-password),限制用户权限(如用sudo代替直接root);sudo ufw deny 22/tcp拒绝SSH端口,仅允许可信IP访问)。sudo tar czvf backup.tar.gz /home /etc);注:Exploit清除需根据具体漏洞类型(如挖矿木马、Rootkit、DDoS僵尸网络)调整步骤。建议定期执行安全审计(如Lynis、OpenSCAP),提前预防漏洞利用。