0x00 前言
当企业发生web应用发生网络异常、可能存在web攻击的时候,需要排查分析web服务器和相关web日志,确认web应用是否被黑客攻击了,攻击类型有哪些类型、攻击IP是多少、是否可能被植入webshell、甚至控制系统等一系列溯源分析。
0x01 排查思路
1. 应急响应的原则
- 3W1H原则:3W即Who、What、Why,1H即How,做应急响应要带着疑问来做事,一定要收集清楚这些信息。
- 易失性原则:免不了要做信息收集和取证的,但这里是有一定的先后顺序的,即最容易丢失的据,应该最先收集,其它的依次类推。
- 要素原则:主要是抓关键证据,即要素,这些要素包括样本、流量、日志、进程及模块、内存、启动项。
- 避害原则:要做到趋利避害,不能还没有解决问题,反而引入了新的问题。
2. 事件处理的基本流程
- 收集信息,建档:收集用户信息和主机信息,包括样本。
- 日志分析,提取攻击信息:对web攻击日志进行安全分析,分析出相关的攻击日志。
- 判断类型,分析攻击类型:判断是否是安全事件,何种安全事件,web扫描、爬虫、SQL注入等。
- 深入分析,威胁情报预研:通过日志分析和分析webshell文件,得出可疑IP和文件,使用威胁情报进行辅助分析预研。
- 事件处置:根据web日志分析、webshell查杀和威胁情报,清理webshell文件、封锁攻击IP、检查系统漏洞等方式,及时遏制安全事件的扩散,防止进一步影响。
- 产出报告:整理并输出完整的安全事件报告。
0x02 日志安全分析
1.Web日志
Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅帮助我们定位攻击者,还有助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。
我们来看一条Apache的访问日志:
127.0.0.1 - - [11/Jun/2018:12:47:22 +0800] "GET /login.html HTTP/1.1" 200 786 "-" "Mozilla/5.0
(Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"
通过这条Web访问日志,我们可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器的情况下访问了你网站的哪个页面,是否访问成功。
本文通过介绍Web日志安全分析时的思路和常用的一些技巧。
2. 日志分析技巧
在对WEB日志进行安全分析时,一般可以按照两种思路展开,逐步深入,还原整个攻击过程。
第一种:确定攻击的时间范围,以此为线索,查找这个时间范围内可疑的日志,进一步排查,最终确定攻击者,还原攻击过程。
第二种:攻击者在攻击网站后,通常会留下后门维持权限,以方便再次访问,我们可以找到该文件,并以此为线索来展开分析。
常用分析工具:
Window下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错。
Linux下,使用Shell命令组合查询分析,一般结合grep、awk等命令等实现了几个常用的日志分析统计技巧。
1、列出当天访问次数最多的IP命令:
cut -d- -f 1 log_file|uniq -c | sort -rn | head -20