应急响应篇——中间件日志分析

经过前几篇的铺垫,进入中间件日志排查篇。由于各种各样的原因安全人员获取到的告警信息很可能是零零碎碎的,且高级黑客的整个入侵过程很可能十分完整,包含了清除痕迹等,这就导致了几种情况可能会发生:可疑威胁文件已被删除,无法定位;远程命令执行痕迹已被清除,无法还原攻击者入侵路径。

先给出一张示例图,上图为up搭的apache,并随手访问、加了点东西后的access.log的截图,由于是给大家做个示例,就搞得简单一些了让大家都看得懂。以这张图片为前提,以下为中间件日志排查过程:

一、确定IP、攻击时间。

到中间件排查这一步前一定有了具体的告警来源,确认了攻击IP、告警产生时间,根据二者双重筛选就可以定位到与攻击者实施攻击相关的日志内容,遂进行下一步。

二、根据攻击类型定位payload/可疑文件名

在前一步根据IP和攻击时间筛选后,再根据初始告警(例如示例图里的log4j)去排查,这一步较为繁重,无法根据关键字定位,推荐还是手工一条条过,不然可能会漏掉一些重要信息(毕竟真实环境下的payload应用可能就没那么简单了)。但是威胁文件就较容易确认了,筛上传包、前一步的筛ip,定位文件名,再根据文件名去查系统日志,一般攻击者清除的只有威胁文件,在系统日志查进程挂钩可能会有留存的痕迹、或者查其他缓存区是否还留存有该威胁文件。

三、状态码分析

很多告警可能无法确认攻击类型或者攻击是通过工具跑的,只有某一次的某一个payload成功了,例如shiro反序列化,一个个key爆破会产生大量400日志,或者无返回的200日志,需要定位ip后具体进行分析,一般来说短时间内大量400或者大量无返回、无意义200都是在fuzz测试payload或者拿工具跑漏洞没跑了。状态码分析是一个辅助,主要结合以上两条进行。

四、关键路径排查

正常来说某些路径是不应该开放的,由于开发的疏忽产生了部分未授权访问路径,这部分无脑记一记就好了,由于各个系统、web的敏感路径不同,这里up给出一小部分系统的路径(主要应对路径穿越的,web的大家按照实际情况来看吧。)给大家参考吧,文章结尾自取。

五、关键字排查

针对黑客工具or黑客攻击手法

对已知的攻击手法、工具特征进行检索。当然了,这一块可能偏向于流量分析,光看中间件日志可能没太大用处,毕竟只看得到请求,仅参考用。

系统敏感路径:

Windows下:

c:/boot.ini //查看系统版本

c:/windows/php.ini //php配置信息

c:/windows/my.ini //MYSQL配置文件,记录管理员登录过的MYSQL用户名和密码

c:/winnt/php.ini

c:/winnt/my.ini

c:\mysql\data\mysql\user.MYD //存储了mysql.user表中的数据库连接密码

c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini //存储了虚拟主机网站路径和密码

c:\Program Files\Serv-U\ServUDaemon.ini

c:\windows\system32\inetsrv\MetaBase.xml 查看IIS的虚拟主机配置

c:\windows\repair\sam //存储了WINDOWS系统初次安装的密码

c:\Program Files\ Serv-U\ServUAdmin.exe //6.0版本以前的serv-u管理员密码存储于此

c:\Program Files\RhinoSoft.com\ServUDaemon.exe

C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\*.cif文件

//存储了pcAnywhere的登录密码

c:\Program Files\Apache Group\Apache\conf\httpd.conf 或C:\apache\conf\httpd.conf //查看WINDOWS系统apache文件

c:/Resin-3.0.14/conf/resin.conf //查看jsp开发的网站 resin文件配置信息.

c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf 查看linux系统配置的JSP虚拟主机

d:\APACHE\Apache2\conf\httpd.conf

C:\Program Files\mysql\my.ini

C:\mysql\data\mysql\user.MYD 存在MYSQL系统中的用户密码

Linux下:

/usr/local/app/apache2/conf/httpd.conf //apache2缺省配置文件

/usr/local/apache2/conf/httpd.conf

/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置

/usr/local/app/php5/lib/php.ini //PHP相关设置

/etc/sysconfig/iptables //从中得到防火墙规则策略

/etc/httpd/conf/httpd.conf // apache配置文件

/etc/rsyncd.conf //同步程序配置文件

/etc/my.cnf //mysql的配置文件

附上原文链接:

代码语言:javascript
复制
https://blog.csdn.net/qq_63844103/article/details/128008820