入侵检测一般排查流程
字数 1261 2025-08-15 21:34:08
入侵检测与应急响应排查流程
1. 常见入侵类型及处置方法
1.1 挖矿入侵
表象特征:
- CPU使用率异常增高
- 存在可疑定时任务
- 存在外联矿池IP的连接
告警来源:
- 威胁情报系统(主要)
- HIDS(主机入侵检测系统)
- 蜜罐系统(挖矿扩散时触发)
处置流程:
- 通过top命令确认CPU异常情况
- 确认可疑进程(ps -aux或ps -elf)
- 检查定时任务、主机服务、守护进程
- 结束病毒进程(kill -9 进程名)
- 删除病毒文件
- 系统加固
1.2 Webshell入侵
表象特征:
- 业务侧应用逻辑漏洞(如允许上传脚本导致命令执行)
- 开源软件低版本漏洞(如fastjson等)
- 表现为反弹shell、高危命令执行
- 可能伴随内网入侵、恶意程序传播、数据盗取
告警来源:
- HIDS(主要)
- 流量监控设备
处置流程:
- 确认Webshell文件内容与可用性
- 酌情断网,摘掉公网出口IP
- 通过日志确认Webshell文件访问记录
- 确定入侵来源(业务逻辑漏洞、开源组件漏洞、弱口令或未授权访问)
- 排查应用其他机器情况,全盘扫描Webshell文件
- 缩容机器,修复问题后重新恢复应用开放
1.3 内网入侵
表象特征:
- 以入侵的跳板机为源头
- 进行端口扫描、SSH爆破
- 内网渗透操作、域控攻击等
告警来源:
- HIDS(主要)
- 蜜罐系统
- 域控监控(如ATA)
处置流程:
- 确定入侵边界
- 检查蜜罐中的批量扫描爆破记录
- 登录前序遭入侵机器确认情况
- 进行批量处理(较为复杂,需单独处理)
2. 进程相关排查
-
查询可疑端口、进程、IP:
netstat -antlp | more netstat -anltp | grep $pid ls -l /proc/$PID # 查看PID对应的进程文件路径 -
资源消耗型恶意程序检查:
top # 按P(CPU排序)/M(内存排序) ps -elf 可疑 $PID ps -aux kill -9 进程名 # 结束进程 -
TCP/UDP连接检查:
netstatntu # IP地址列表 netstat -antlp # 可疑连接 -
守护进程检查:
lsof -p $pid -
进程命令行检查:
ps -aux # 注意查看命令行中的可疑字符串 -
进程跟踪:
strace -tt -T -e trace=all -p $pid
3. 系统相关排查
3.1 账户安全检查
-
近期登录记录:
last # 检查近期登陆的账户记录 usermod -L 用户名 # 禁用可疑用户 userdel -r 用户名 # 删除用户 -
特权用户检查:
awk -F ":" '$3==0{print $1}' /etc/passwd -
可远程登录用户检查:
awk '/\$1|\$6/{print $1}' /etc/shadow -
sudo权限账户检查:
cat /etc/sudoers | grep -v grep "ALL=(ALL)" -
弱口令检查:
- 确认管理员账户、数据库账户、MySQL账户、tomcat账户、网站后台管理员账户等密码设置
3.2 启动项与定时任务检查
-
定时任务检查:
ls -al /var/spool/cron/ # 检查非法定时任务脚本 cat /etc/crontab cat /etc/cron.d/* cat /etc/cron.daily/* cat /etc/cron.hourly/* cat /etc/cron.monthly/* cat /etc/cron.weekly/* cat /etc/anacrontab -
定时任务管理:
crontab -e # 编辑 crontab -l # 查看 crontab -r # 删除 -
其他系统信息:
history # 查询主机历史命令 service --status-all # 查询主机所有服务 ls -alt /etc/init.d/ cat /etc/rc.local # 开机启动项
4. 文件相关排查
4.1 敏感目录检查
-
临时目录检查:
ls -alt /tmp/ -
按时间排序检查:
ls -alt |head -n 10 -
文件修改时间检查:
stat 目录或文件
4.2 文件篡改检查
-
时间范围文件检查:
find ./ -mtime 0 -name "*.jsp" # 24小时内修改的特定文件 find / -ctime -2 # 72小时内新增的文件 -
系统文件检查:
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ /var/spool/cron/ -type f -mtime -3 | xargs ls -l
4.3 恶意文件处理
-
进程文件检查:
ls -al /proc/[pid]/ ls -al /proc/[pid]/exe -
文件删除:
rm -f [exe_path] -
文件校验:
md5sum 文件名 -
SSH日志检查:
vim /var/log/secureAccepted password: 密码正确登录Failed password: 密码错误尝试
5. 其他排查项
5.1 取证备份
chkconfig --list > services.log # 系统服务备份
ps -ef > ps.log # 进程备份
netstat -utnpl > port-listen.log # 监听端口备份
netstat -ano > port-all.log # 所有端口情况
5.2 异常登录检查
-
当前登录用户检查:
w # 当前登录用户及其行为 -
登录历史检查:
lastlog # 所有用户最后一次登录时间 last # 所有登录注销信息及系统事件 -
成功登录检查:
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}' -
爆破尝试检查:
grep refused /var/log/secure* | awk {'print $9'} | sort | uniq -c |sort -nr | more grep "Failed password" /var/log/secure* | grep -E -o "(([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}))" | uniq -c -
root账号爆破检查:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort -
爆破字典检查:
grep "Failed password" /var/log/secure | awk {'print $9'} | sort | uniq -c | sort -nr
5.3 Cron文件检查位置
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
5.4 检查最近被替换命令
ls -alt /usr/bin /usr/sbin /bin /usr/local/bin
总结
本流程涵盖了从入侵检测到应急响应的完整排查过程,包括:
- 常见入侵类型识别与处置
- 系统进程深度检查
- 账户与权限安全审计
- 文件系统完整性验证
- 日志分析与取证备份
按照此流程进行系统排查,可以有效发现并处理大多数入侵事件,同时为后续的安全加固提供依据。