文章总结: 这是一篇关于CentOS系统恶意进程排查的技术指南,作者介绍了从日志检查、网络连接分析、文件系统检查、用户权限审查、进程服务分析到持久化机制排查的完整流程。文章提供了大量实用的命令和检查方法,帮助安全人员识别和定位系统中的恶意进程,是Linux系统安全应急响应的实用参考资料。
综合评分: 91
文章分类: 应急响应,恶意软件,内网渗透,安全运营,安全建设
Centos系统恶意进程排查思路
原创
朱冠宇
小朱学网络
2025年8月3日 17:05
云南
最近在现网中遇到一个问题,后台出现未知进程占用大量cpu资源,以此为引,介绍linux系统的排查思路。
以下为整体思路:
- 检查认证与登录日志。
- 排查网络连接与端口。
- 定位被篡改或新增的恶意文件。
- 检查用户与权限。
- 分析进程与服务,识别恶意程序;
- 查找持久化机制:定时任务、启动脚本,确认攻击者是否长期控制系统。
接下来为第一个措施:检查日志:
| 日志文件路径 | 作用 | |
| — | — | — |
| /var/log/secure | 认证与授权日志(CentOS/RHEL) | |
| /var/log/auth.log | 认证与授权日志(Debian/Ubuntu) | |
| /var/log/messages | 系统通用消息日志 | |
| /var/log/maillog | 邮件服务日志 | |
| /var/log/cron | 定时任务日志 | |
命令参考:
grep “Failed password” /var/log/secure | tail -100
grep “Accepted password for root” /var/log/secure
grep “Failed password” /var/log/secure | awk ‘{print $11}’ | sort | uniq -c | sort -nr | head -10
网络连接与端口检查
查看当前活跃连接
yum install net-tools -y netstat -tulnp
重点查看: 3333、4444 等常用后门端口、陌生 IP、状态为ESTABLISHED的异常外部连接。
检查监听端口
netstat -lntp # 仅显示监听的TCP端口及进程
对比系统正常服务(如 web 服务通常用 80/443,SSH 用 22)
文件系统检查
查看最近修改的文件****
# 查找24小时内修改过的文件(排除/tmp等临时目录) find / -path /proc -prune -o -mtime -1 -type f -print 2>/dev/null
# 重点关注系统目录:/bin、/sbin、/usr/bin、/etc、/root、/home等 find /etc -mtime -1 -type f # 检查/etc下最近修改的配置文件
ls -la /tmp /var/tmp # 查看隐藏文件(以.开头)或权限异常的文件
find / -perm -4000 -o -perm -2000 -type f 2>/dev/null # 列出所有SUID/SGID文件
rpm -Va # 检查所有已安装RPM包的文件是否被修改(缺失、权限变更、校验和不符) # 输出中:S=大小变化,M=权限变化,5=校验和变化,需重点关注带5的文件
md5sum /etc/passwd # 对比备份的正常MD5值(若有备份)
用户与权限检查
cat /etc/passwd # 检查是否有陌生用户(尤其UID=0的用户,即root权限) cat /etc/shadow # 查看密码哈希(若有新增用户且密码为空/简单,需警惕)
cat /etc/sudoers # 或 visudo(安全编辑),查看是否有用户被非法授予sudo权限
who # 显示当前登录的用户及来源IP w # 显示登录用户的活动(如正在执行的命令)
进程与服务检查
ps aux # 显示所有进程(USER、PID、COMMAND等)
ps -ef # 显示进程树(便于查看父进程关系)
# CentOS 7用systemd: systemctl list-unit-files –type=service | grep enabled # 查看开机自启服务
# 检查陌生服务配置文件: ls -la /etc/systemd/system/ /usr/lib/systemd/system/
lsof -p
检查定时任务、启动脚本
# 系统级定时任务 cat /etc/crontab ls -la /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/
# 用户级定时任务(尤其是root用户) crontab -l
# 当前用户 crontab -l -u root # root用户的定时任务
# 查看登录初始化脚本(用户登录时执行) cat ~/.bashrc ~/.bash_profile /etc/profile /etc/bashrc
# 查看系统启动脚本(CentOS 7) ls -la /etc/rc.d/rc.local cat /etc/rc.d/rc.local # 检查是否有异常命令
#
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:小朱学网络 朱冠宇《Centos系统恶意进程排查思路》