Linux Exploit漏洞扫描技巧
信息收集是漏洞扫描的前提,准确的信息能显著提升扫描效率和准确性。需收集以下关键信息:
nmap -sV <target_ip>扫描目标开放端口及对应服务版本(如SSH、Apache版本);通过uname -a获取内核版本,cat /etc/os-release确认发行版(如Ubuntu 22.04、CentOS 7)。这些信息能帮助定位特定版本的已知漏洞(如Log4j漏洞需匹配Java版本)。find / -name "*.conf" 2>/dev/null查找配置文件(如/etc/passwd、/etc/sudoers),find / -perm -4000 2>/dev/null查找SUID/SGID程序(如passwd、find),这些文件若存在配置错误或权限过高,可能成为攻击入口。借助专业工具能快速检测系统中的已知漏洞(如CVE漏洞),避免手动检查的繁琐:
sudo lynis audit system生成详细报告,涵盖安全问题、配置缺陷及修复建议。nmap -sV -p 1-1000 <target_ip>扫描常见端口(1-1000)的服务版本,结合-O参数探测操作系统类型,快速识别高风险端口(如22端口开放且SSH版本为7.2p2,可能存在CVE-2016-0777漏洞)。Rootkit和恶意软件会隐藏自身并获取系统最高权限,需使用专用工具检测:
ls、ps)是否被篡改。运行sudo chkrootkit查看是否有可疑修改(如/sbin/ifconfig被替换为恶意程序)。sudo rkhunter --check生成报告,重点关注“Warning”级别的条目(如“Checking for hidden files and directories”发现可疑目录/dev/.udev)。sudo freshclam)后,运行sudo clamscan -r /扫描整个系统,重点关注/tmp、/var/tmp等临时目录。日志和网络流量能反映系统的异常行为,帮助发现潜在的漏洞利用尝试:
grep "Failed password" /var/log/auth.log查看SSH登录失败记录(频繁失败可能为暴力破解);grep "sudo" /var/log/auth.log检查sudo命令使用情况(非授权用户使用sudo可能为提权尝试)。tcpdump -i any -w capture.pcap捕获网络流量,通过Wireshark分析可疑流量(如大量SYN包可能为DDoS攻击,异常端口连接可能为数据外泄)。alert tcp any any -> any 22 (msg:"SSH brute force"; flow:to_server; flags:S; threshold: type both, track by_src, count 5, seconds 60;))识别暴力破解行为。随着容器技术的普及,容器安全不容忽视;同时,内核漏洞(如Dirty Cow)可能导致系统被完全控制:
clairctl inspect /path/to/image生成报告,重点关注“High”等级漏洞(如CVE-2021-30465)。sudo setenforce 1)或AppArmor(sudo aa-enforce /etc/apparmor.d/usr.sbin.httpd),限制进程权限(如Apache只能访问/var/www/html目录,防止越权访问系统文件);调整内核参数(如net.ipv4.tcp_syncookies = 1防范SYN Flood攻击)。漏洞扫描需融入日常运维,形成持续的安全防护体系:
sudo apt update && sudo apt upgrade或sudo yum update),关闭不必要的服务(如Telnet、FTP),减少攻击面。