企业安全应急响应及溯源排查之道
一、企业应急事件分类
(1) 应用层: 数据篡改、 挂马、webshell
(2) 主机层: 挖矿、对外DDoS、勒索病毒、反弹shell
(3) 网络层: DDoS攻击、CC攻击、劫持
(4) 数据层: 数据库信息泄漏、 内部人员 .....
二、应急事件处理流程
(1) 评估: 初步梳理安全事件产生的原因并评估潜在影响范围.
(2) 控制: 快速找到止损(临时方案)方法, 将事件影响尽可能的控制在最小范围内.
(3) 消除: 找到安全事件产生的根本原因并提出和实施根治的方案.
(4) 恢复: 确保所有受影响的系统和应用服务完全恢复到安全状态.
(5) 总结审查: 总结梳理安全事件时间线和应对方案, 审查事件产生的根本原因并形成总结性文档.
三、应急响应处理流程 - 消除
服务器安全排查 -----> 问题事件分析 ------> 应用系统安全漏洞排查
(1) 服务器安全排查 :
- webshell查找
- 木马、病毒、Rootkit查找和清理
- 恶意进程、网络连接和自启任务等清理
(2) 问题事件分析
- 溯源事件缘由
- 定位黑客攻击途径
(3) 应用系统安全漏洞排查
- SQL注入
- 命令执行
- 文件操作
- 未授权访问
- ......
四、应急响应事件分类
(1) 未授权访问
- redis未授权访问
- memcache未授权访问
- docker未授权访问
- k8s未授权访问
(2) Tomcat
- tomcat PUT任意文件写入漏洞(CVE-2017-12615)
- tomcat弱口令部署war包getshell
(3) ActiveMQ
- ActiveMQ反序列化命令执行(CVE-2015-5254)
- ActiveMQ fileserver任意文件写入漏洞(CVE-2016-3088)
(4) 爆破
- SSH
- RDP(3389)
- 中间件(Tomcat、weblogic、ActiveMQ ....)
(5) 框架
- Struts2命令执行漏洞
- java RMI命令执行
- weblogic反序列化漏洞
五、应急响应快速排查步骤
(1) 检查进程及文件
- 快速查看进程信息, 并获取进程文件位置 (top -c)
- 根据文件创建时间查找 ( find / -mtime 1 -name *)
- 杀死进程 ( kill -9 PID)
- 查看进程占用信息( lsof -p PID)
- 根据文件名特征查找( grep -rni "shell.name" * )
- 读取进程在内存中的信息 (cd /proc/PID cat * |string -n 5|more)
- 根据文件大小特征查找 (find / -size 1223123c)
(2) 检查网络
- 查看“PORT"端口的占用情况( lsof -i : "PORT")
- 查看不正常端口 (netstat -nap)
- 查看TCP连接 (netstat -an | grep tcp | awk '{print $5}')
- 查看SYN连接 netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more)
(3) 检查系统命令
- ls -alt /bin/ | head -n 10
- ls -alt /usr/sbin/ | head -n 10
- ls -alt /usr/bin/ | head -n 10
(4) 恶意病毒、文件
- webshell查杀(D盾、河马、自写脚本)
- 使用杀毒软件(ClamAV、rkhunter)
(5) 检查日志
- 系统日志 (crontab日志: /var/log/cron; secure日志: /var/log/secure; lastlog日志: /var/log/lastlog; bash日志: ~/.bash_history)
- web日志 (access_log、error_log)
六、注意事项
(1) 一定要查看系统命令是否被替换, 否则所做的一切都是徒劳
(2) 若系统替换可用其他代替, 如: ps使用top, netstat使用ss, busybox等.
(3) lsof -n | grep delete查找已经删除但是还在使用的文件
(4) 留意下是否有ssh后门
(5) 注意是否存在隐藏进程
(6) 是在无法删除可使用chattr + i锁定相应计划任务文件
(7) 实在不行修改把curl、wget、lynx文件全局重命名
浙公网安备 33010602011771号