Web日志安全分析

0x00 前言

当企业发生web应用发生网络异常、可能存在web攻击的时候,需要排查分析web服务器和相关web日志,确认web应用是否被黑客攻击了,攻击类型有哪些类型、攻击IP是多少、是否可能被植入webshell、甚至控制系统等一系列溯源分析。

0x01 排查思路

1. 应急响应的原则

  1. 3W1H原则:3W即Who、What、Why,1H即How,做应急响应要带着疑问来做事,一定要收集清楚这些信息。
  2. 易失性原则:免不了要做信息收集和取证的,但这里是有一定的先后顺序的,即最容易丢失的据,应该最先收集,其它的依次类推。
  3. 要素原则:主要是抓关键证据,即要素,这些要素包括样本、流量、日志、进程及模块、内存、启动项。
  4. 避害原则:要做到趋利避害,不能还没有解决问题,反而引入了新的问题。

2. 事件处理的基本流程

  1. 收集信息,建档:收集用户信息和主机信息,包括样本。
  2. 日志分析,提取攻击信息:对web攻击日志进行安全分析,分析出相关的攻击日志。
  3. 判断类型,分析攻击类型:判断是否是安全事件,何种安全事件,web扫描、爬虫、SQL注入等。
  4. 深入分析,威胁情报预研:通过日志分析和分析webshell文件,得出可疑IP和文件,使用威胁情报进行辅助分析预研。
  5. 事件处置:根据web日志分析、webshell查杀和威胁情报,清理webshell文件、封锁攻击IP、检查系统漏洞等方式,及时遏制安全事件的扩散,防止进一步影响。
  6. 产出报告:整理并输出完整的安全事件报告。

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

2、查看当天有多少个IP访问:

awk '{print $1}' log_file|sort|uniq|wc -l

3、查看某一个页面被访问的次数:

grep "/index.php" log_file | wc -l

4、查看每一个IP访问了多少个页面:

awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file

5、将每个IP访问的页面数进行从小到大排序:

awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n

6、查看某一个IP访问了哪些页面:

grep ^111.111.111.111 log_file| awk '{print $1,$7}'

7、去掉搜索引擎统计当天的页面:

awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc  -l

8、查看2018年6月21日14时这一个小时内有多少IP访问:

awk '{print $4,$1}' log_file | grep 21/Jun/2018:14 | awk '{print $2}'| sort | uniq | wc  -l

0x03 检测web是否存在攻击日志

根据web攻击特征,检索分析日志是否包含攻击特征,如果检索结果里面包含攻击日志,证明web正在遭受攻击。

1.SQL注入检攻击检测

grep -E -i "select|%20and%201=1|%20and%201=2|exec|%27exec| information_schema.tables|information_schema.tables|where%20|union|%2ctable_name%20|cmdshell|%20table_schema" /www/logs/access.2020-07-09.log

2.xss跨站脚本攻击检测

grep -E -i " (S)%3C(S+)%3E|(S)%3C(S+)%2F%3E|(S+)<(S+)>|(S+)<(S+)/>|onerror|onmouse|expression|alert|document.|prompt()" /www/logs/access.2020-07-09.log

3. 敏感文件扫描攻击检测

grep -E -i "*.zip|*.rar|*.mdb|*.inc|*.sql|*.config|*.bak|/*login.inc.php|*.svn|/*mysql/|config.inc.php|*.bak|wwwroot|网站备份|/gf_admin/|/DataBackup/|/*Web.config|/web.config|/1.txt|/test.txt" /www/logs/access.2020-07-09.log

4.命令注入攻击攻击检测

grep -E -i "ping%20-c%20|ls%20|cat%20|%20pwd|net user" 

/www/logs/access.2020-07-09.log

5. 漏洞利用攻击检测

grep -E -i "struts|jmx-console|ajax_membergroup.php|iis.txt|phpMyAdmin|getWriter|dirContext|phpmyadmin|acunetix.txt|/e/|/SouthidcEditor/|/DatePicker/" /www/logs/access.2020-07-09.log

6.文件包含攻击检测

grep -E -i "/passwd|win.ini|/my.ini|/MetaBase.xml|/ServUDaemon.ini|cmd.exe" 

/www/logs/access.2020-07-09.log

7.网站被植入webshell后门检测

grep -E -i "eval|%eval|%execute|%3binsert|%20makewebtaski|/1.asp|/1.jsp|/1.php|/1.aspx|/xiaoma.jsp|/tom.jsp|/py.jsp|/k8cmd.jsp|/k8cmd|/ver007.jsp|/ver008.jsp|/ver007|/ver008|.aar|%if" /www/logs/access.2020-07-09.log

8.暴力破解账号攻击检测

grep -E -i "POST.*login" /www/logs/access.2020-07-09.log

grep -E -i "login.*200" /www/logs/access.2020-07-09.log

grep -E -i "login" /www/logs/access.2020-07-09.log | grep -E -i "POST" | grep -E -i "200" 

​​​​​​​0x04 数据统计分析

1.统计爬虫,观察是否有爬虫攻击。

grep -E -i 'Googlebot|Baiduspider' /www/logs/access.2020-07-09.log | awk '{ print $1 }' | sort | uniq

2.IP 统计,统计IP,利用威胁情报分析哪些IP是恶意IP

grep '23/May/2019' /www/logs/access.2020-07-09.log | awk '{print $1}' | awk -F'.'  '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -r -n | head -n 10

3.统计网段,观察黑客是否攻击其他网络,如内网的IP

cat /www/logs/access.2020-07-09.log | awk '{print $1}' | awk -F'.' '{print $1"."$2"."$3".0"}' | sort | uniq -c | sort -r -n | head -n 200

4.统计域名,观察是否有恶意域名

cat /www/logs/access.2020-07-09.log |awk '{print $2}'|sort|uniq -c|sort -rn|more

5. HTTP Status,观察是否有批量攻击,会造成很多404

cat /www/logs/access.2020-07-09.log |awk '{print $9}'|sort|uniq -c|sort -rn|more

6. URL 统计

cat /www/logs/access.2020-07-09.log |awk '{print $7}'|sort|uniq -c|sort -rn|more

cat /www/logs/access.2020-07-09.log | awk '{print $7}' | egrep '\?|&' | sort | uniq -c | sort - rn | more

7.文件流量统计

cat /www/logs/access.2020-07-09.log |awk '{sum[$7]+=$10}END{for(i in sum){print sum[i],i}}'|sort -rn|more

grep ' 200 ' /www/logs/access.2020-07-09.log |awk '{sum[$7]+=$10}END{for(i in sum){print sum[i],i}}'|sort -rn|more

​​​​​​​0x05 安全分析工具

1.360星图

咨询安全人员或者通过百度网盘下载

链接:https://pan.baidu.com/s/1gCeDrABYw0nsXHAzi3yaUg 提取码:qma0

使用方法:按照【星图使用常见问题及解决】说明进行使用。

2.Web日志安全分析工具 v2.0

咨询安全人员或者通过百度网盘下载

链接:https://pan.baidu.com/s/1IFtDktwDDL3pwjJlMNPMwA 提取码:ggv7

使用方法:按照工具的界面说明要求。

3.微步威胁平台

利用威胁情报平台对将日志分析得到的文件或者IP进行分析。

地址:https://x.threatbook.cn/

可以对IP、域名、文件HASH(MD5/SHA1/SHA256)、邮箱、文件、URL进行威胁情报分析。

4.奇安信威胁情报中心

利用威胁情报平台对将日志分析得到的文件或者IP进行分析。

地址:https://ti.qianxin.com/

可以对域名、IP、邮箱、文件HASH(MD5/SHA1)、证书指纹(SHA1)或其他字符串、文件进行威胁情报分析。

0x06 Webshell查杀

linux版

河马webshell查杀

工具下载地址:http://www.shellpub.com

深信服Webshell网站后门检测

工具下载地址:链接:https://pan.baidu.com/s/1t_QPDDp2V0-jfWYvb4sSnw 提取码:eckv

PHP-malware-finder

一款优秀的检测webshell和恶意软件混淆代码的工具

github项目地址:https://github.com/jvoisin/php-malware-finder

Windows

D盾_Web查杀

阿D出品,使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell后门行为。兼容性:只提供Windows版本。

工具下载地址:http://www.d99net.net/down/WebShellKill_V2.0.9.zip

河马webshell查杀

专注webshell查杀研究,拥有海量webshell样本和自主查杀技术,采用传统特征+云端大数据双引擎的查杀技术。查杀速度快、精度高、误报低。

兼容性:支持Windows、linux,支持在线查杀。官方网站:https://www.shellpub.com/

Sangfor WebShellKill

Sangfor WebShellKill(网站后门检测工具)是一款web后门专杀工具,不仅支持webshell的扫描,同时还支持暗链的扫描。是一款融合了多重检测引擎的查杀工具。能更精准地检测出WEB网站已知和未知的后门文件。

兼容性:支持Windows、linux

工具下载地址:http://edr.sangfor.com.cn/backdoor_detection.html(已停止访问)

百度网盘地址:链接:https://pan.baidu.com/s/1f61sfEkQi1KoWLWH77bpCg 提取码:ts3m

在线查杀

Virscan

VirSCAN.org 是一个非盈利性的免费为广大网友服务的网站,它通过多种不同厂家提供的最新版本的病毒检测引擎对您上传的可疑文件进行在线扫描,并可以立刻将检测结果显示出来,从而提供给您可疑程度的建议。

官方网址:https://www.virscan.org/language/zh-cn/

百度WEBDIR+

下一代WebShell检测引擎,采用先进的动态监测技术,结合多种引擎零规则查杀。

兼容性:提供在线查杀木马,免费开放API支持批量测。

在线查杀地址:https://scanner.baidu.com/

virustotal

免费, 独立的服务使用40种以上反病毒引擎,每15分钟更新一次病毒资料库。

官方网址:https://www.virustotal.com/gui/

 

你可能感兴趣的:(安全技术,系统安全,网络安全分析,web日志安全分析,webshell查杀,webshell检测,web日志安全审计,360,日志审计,WEB日志)