蓝队技能-应急响应篇&Web入侵指南&后门查杀&日志分析&流量解密&攻击链梳理&排查口

image-20251005171441542

知识点

应急响应-Web入侵指南-分析入口思路

Web攻击事件分析入口思路

获取当前WEB环境的组成架构(脚本,数据库,中间件,系统等)分析思路:

1、利用时间节点筛选日志行为:筛选攻击时间之前的日志

2、利用对漏洞进行筛选日志行为:站在红队角度思考目标系统有何漏洞可能可以利用

3、利用后门查杀进行筛选日志行为:攻击者会留下后门程序,排查后门文件访问、修改时间等

4、利用文件修改时间筛选日志行为:基于文件修改时间进行排查

5、利用流量捕获设备数据包分析行为

Web日志分析

  • 明确存储路径及查看细节

  • 后续会讲到日志分析利器使用

  • IIS、Apache、Tomcat、Nginx等

数据库日志分析

  • 明确存储路径及查看细节

  • Mysql、Mssql、Oracle、Postgresql等

应急响应-Web入侵指南-Webshell查杀

Web后门查杀

以下工具可以用作存在Web后门文件时的后门文件查杀

1、阿里伏魔

2、百度WEBDIR+

3、河马

4、CloudWalker(牧云)

5、在线webshell查杀-灭绝师太版

6、WebShell Detector WebShell扫描检测器

7、D盾

8、各类杀毒软件如火绒,管家,X60,Defender,Nod32等

注:关于内存马查杀还需后续讲解

应急响应-Web入侵指南-流量包捕获解密分析

Web攻击链分析

书写报告时要进行攻击链的分析

1、数据包流量特征

2、工具流量特征指纹

  • 如哥斯拉,可使用本节资源中的蓝队工具箱中的BlueTeamToolsV1.08工具进行流量内容解密,以确定是何种工具产生的流量
  • 笔者注:各类Webshell连接工具为绕开安全设备的捕获识别,一般不会直接明文请求及响应,而是使用密文,此时针对这些工具的流量就需要先解密再分析

了解使用哪种工具或哪种技术、漏洞利用等

因为日志大部分不会存储POST数据包或存储过少,导致无法分析具体行为

主机会采用流量捕获设备或防御检测系统抓到攻击流量包,便于分析具体行为

1、哥斯拉流量包

2、漏洞利用流量包

3、特有加密流量包

https://mp.weixin.qq.com/s/qPGLNtzJFLorTfwIjL29fw

https://mp.weixin.qq.com/s/jTHPVlQA-qROO44-A_lp0w

应急响应-Web入侵指南-修复建议、后续溯源与报告撰写

处置结果

找到攻击利用点并修复,写出攻击者流程,清理后门并后续溯源等

细节优化(持续关注)

0、如何做到Webshell查杀的精准

1、如何做到日志分析效率和准确

2、如何做到流量包分析效率和准确

3、如何做到后续溯源定位效率和准确

4、如何做到应急分析溯源报告的书写

演示案例

蓝队技能-Web入侵-入口&查杀&攻击链等

课程提供的资源是一个IIS+.NET的环境,先打开IIS管理器

image-20251005174536672

对于IIS的网站,可以在该网站的IIS配置页中的“日志”中查看到日志路径

image-20251005174628932

可知该网站日志路径如下%SystemDrive%\inetpub\logs\LogFiles

image-20251005174807635

在该路径下查看日志文件,可见有多个日志文件目录,这些日志文件目录名是根据网站的ID来命名的,

image-20251005174957863

在IIS管理器右侧的网站的“高级设置”中能够看到网站ID

image-20251005175130383

可知我们的网站的ID为5,因此W3SVC5就是该网站的日志目录,在其下可以看到日志文件

image-20251005175354582

1
2
3
4
5
6
#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2019-03-10 05:11:25
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2019-03-10 05:11:25 192.168.3.11 GET / - 86 - 192.168.3.11 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 200 0 0 599
2019-03-10 05:11:25 192.168.3.11 GET /images/jbg_01.png - 86 - 192.168.3.11 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 404 0 2 1

日志文件中指出了该日志记录的各个字段

字段名称 (Field Name) 全称与含义 解释与示例
date 日期 (Date) 记录请求发生的日期,格式为 YYYY-MM-DD。
time 时间 (Time) 记录请求发生的时间(服务器本地时区),格式为 HH:MM:SS。
s-ip 服务器 IP 地址 (Server IP) 处理请求的服务器网络接口的 IP 地址。
cs-method 客户端请求方法 (Client Method) HTTP 请求动词,如 GET(获取)、POST(提交)、HEAD等。
cs-uri-stem URI 资源 (Client URI Stem) 请求的目标路径或文件名,如 /index.html或 /api/user。
cs-uri-query URI 查询 (Client URI Query) URL 中 ?之后的查询字符串。如无参数,则为 -。例:id=123&type=1
s-port 服务器端口 (Server Port) 客户端连接的服务器端口号(HTTP: 80, HTTPS: 443)。
cs-username 客户端用户名 (Client Username) 通过身份验证的访问者用户名。如为匿名访问,则为 -。
c-ip 客户端 IP 地址 (Client IP) 发起请求的客户端(用户、爬虫等)的 IP 地址。关键追踪字段。
cs(User-Agent) 用户代理 (Client User Agent) 客户端的浏览器、操作系统和设备标识字符串。
sc-status HTTP 状态码 (Status Code) 服务器返回的 HTTP 状态码。关键诊断字段。 200(成功), 404(未找到), 500(服务器错误) 等。
sc-substatus HTTP 子状态码 (Sub Status) IIS 自定义的详细状态码,用于精确判断错误原因。如无,则为 0。
sc-win32-status Win32 状态码 (Win32 Status) 操作系统返回的底层状态码。0表示成功,非零值表示系统级错误。
time-taken 耗时 (Time Taken) IIS 处理该请求所花费的总时间,单位是毫秒 (ms)。关键性能指标。

同理的,常见 Web 服务器日志默认路径汇总表如下,如果更改果默认路径就先查看conf配置文件

Web 服务器 操作系统 日志类型 默认路径 备注
Apache Linux 访问/错误日志 /etc/httpd/logs/access_log /etc/httpd/logs/error_log 常见于 Red Hat, CentOS, Fedora 等系统
/var/log/httpd/access_log /var/log/httpd/error_log 另一种常见路径,与上一种等价
Apache Windows 访问日志 D:\xampp\apache\logs\access.log 此为XAMPP集成环境路径,非标准安装路径
错误日志 D:\xampp\apache\logs\error.log 此为XAMPP集成环境路径,非标准安装路径
IIS 6.0 Windows Server 2003 站点日志 C:\WINDOWS\system32\Logfiles 在此文件夹下,每个站点有独立的子文件夹
IIS 7.0+ Windows (Vista及之后 Server版) 站点日志 %SystemDrive%\inetpub\logs\LogFiles %SystemDrive%通常指系统盘(如C盘)。路径示例:C:\inetpub\logs\LogFiles
Nginx Linux / Unix 访问/错误日志 /usr/local/nginx/logs/access.log /usr/local/nginx/logs/error.log 此为编译安装的默认路径。通过包管理器安装的路径可能不同(如 /var/log/nginx)

这里不另做操作演示

观察日志可以看出

1、POST请求的日志中,没有记录提交数据

2、

Webshell排查思路-哥斯拉流量包

对于Webshell查找和攻击痕迹排查,可以有如下排查思路

后门查杀工具扫描

1、使用Webshell扫描工具或后门查杀工具如D盾,扫描网站根目录文件,找出可疑的Webshell文件,如下面扫出来的1.jsp

image-20251005191517576

查看可疑Webshell内容

2、查看该可疑Webshell文件内容,本例所示1.jsp文件特征为哥斯拉工具生成的后门木马

image-20251005191930016

web日志筛选

3、在web日志中筛选可疑Webshell文件的访问、操作记录

image-20251005191540585

4、日志中查找第一次和该Webshell文件相关记录,可以看到上传记录,通过路径/manager/html可以知道,这是利用Tomcat后台拿到了shell

image-20251005192218645

流量分析

实战中,日志中记录不全或没启用,所以借助流量设备找到数据包分析流程

5、模拟攻击者使用哥斯拉连接该Webshell,连接时抓取流量包,以更全面的数据包分析是否确实为哥斯拉后门(实际业务中,系统中一般部署有流量探针类设备,抓取实时流量,这里为了演示使用了自己抓自己模拟攻击流量的方式)。

模拟攻击流量并抓取,将请求中以POST方式提交的内容解密后得到

image-20251005195414090

将响应包中的内容解密后得到

image-20251005195534532

下图是哥斯拉工具界面,上面内容和哥斯拉中的返回内容相同,进而可以判定该后门是哥斯拉生成的

image-20251005195632964

通过上述分析可以得知:攻击者是通过Tomcat后台拿到了shell

Webshell排查思路-Java的Shiro漏洞利用流量包

Shiro 框架简介

Apache Shiro 是一个强大且易用的 Java 安全框架,用于处理身份认证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography)。它的核心功能是简化应用程序的安全管理。

正是因为其会话管理功能中的一个特性,导致了其最著名的高危漏洞。

核心漏洞:Shiro 反序列化漏洞 (CVE-2016-4437)

这是 Shiro 框架中最著名、最致命、影响最深远的一个漏洞,俗称 “Shiro-550”。

漏洞原理

  • 罪魁祸首:RememberMe功能Shiro 提供了一个“记住我”(RememberMe)的功能。用户登录成功后,可以选择“记住我”,这样下次访问时就不需要重新登录。

  • **数据处理流程:**服务器端会生成一个包含用户身份信息的序列化对象。使用 AES 加密算法对这个序列化对象进行加密。将加密后的数据进行 Base64 编码。最后将这个字符串作为 rememberMeCookie 的值返回给浏览器。下次请求时,浏览器会带上这个 Cookie。Shiro 会对其进行反向操作:Base64 解码 -> AES 解密 -> 反序列化,从而恢复用户身份信息。

  • 漏洞关键点:硬编码密钥Shiro 的早期版本中,用于 AES 加密和解密的密钥是硬编码在框架源代码中的。这意味着,所有使用默认配置的 Shiro 应用程序,其加解密密钥都是相同的、公开的。默认密钥:kPH+bIxk5D2deZiIxcaaaA==

漏洞利用:攻击者可以:

  1. 构造恶意序列化数据:生成一个包含攻击代码(例如,执行系统命令的代码)的序列化对象。

  2. 使用默认密钥进行加密:因为密钥是公开的,攻击者可以用这个密钥对恶意序列化数据进行 AES 加密和 Base64 编码。

  3. 伪造 Cookie:将处理后的数据伪装成 rememberMeCookie,发送给目标网站。

  4. 触发漏洞:Shiro 服务器在接收到这个 Cookie 后,会毫无防备地用相同的默认密钥进行解密,然后反序列化这个恶意对象。

  5. 命令执行:反序列化过程会执行嵌入的恶意代码,从而导致远程代码执行(RCE),攻击者就能完全控制服务器。

影响版本:Apache Shiro <= 1.2.4

修复方式

  • 升级 Shiro 到 1.2.5 及以上版本。新版本在初始化时会在配置文件中生成一个随机的密钥,而不是使用硬编码的默认密钥。
  • 手动配置:如果无法升级,管理员应在 Shiro 的配置文件中(如 shiro.ini)显式地配置一个唯一的、安全的 rememberMe加密密钥。

一些程序如Shiro框架,没有没有日志文件,其日志都是显示在运行框里面的,此时就不能使用上述思路进行排查,本案例尝试通过分析Shiro反序列化漏洞的流量包,找出漏洞利用痕迹

搭建好测试平台之后,使用Pyke-Shiro 0.3工具攻击平台地址,并抓取流量包

image-20251005203312312

从流量包中分析可知攻击者提交的rememberMe参数值如下

image-20251005203550546

使用蓝队分析研判工具箱中的Shiro解密,可以得到使用key以及反序列化攻击代码

image-20251005203653490

综上所述,本节属于思路讲解,涉及实际知识点较少。

站内搜索

没有找到内容!