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

知识点
应急响应-Web入侵指南-分析入口思路
Web攻击事件分析入口思路
获取当前WEB环境的组成架构(脚本,数据库,中间件,系统等)分析思路:
1、利用时间节点筛选日志行为:筛选攻击时间之前的日志
2、利用对漏洞进行筛选日志行为:站在红队角度思考目标系统有何漏洞可能可以利用
3、利用后门查杀进行筛选日志行为:攻击者会留下后门程序,排查后门文件访问、修改时间等
4、利用文件修改时间筛选日志行为:基于文件修改时间进行排查
5、利用流量捕获设备数据包分析行为
Web日志分析
明确存储路径及查看细节
后续会讲到日志分析利器使用
IIS、Apache、Tomcat、Nginx等
数据库日志分析
明确存储路径及查看细节
Mysql、Mssql、Oracle、Postgresql等
应急响应-Web入侵指南-Webshell查杀
Web后门查杀
以下工具可以用作存在Web后门文件时的后门文件查杀
1、阿里伏魔
3、河马
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管理器

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

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

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

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

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

1 | #Software: Microsoft Internet Information Services 7.5 |
日志文件中指出了该日志记录的各个字段
| 字段名称 (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

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

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

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

流量分析
实战中,日志中记录不全或没启用,所以借助流量设备找到数据包分析流程
5、模拟攻击者使用哥斯拉连接该Webshell,连接时抓取流量包,以更全面的数据包分析是否确实为哥斯拉后门(实际业务中,系统中一般部署有流量探针类设备,抓取实时流量,这里为了演示使用了自己抓自己模拟攻击流量的方式)。
模拟攻击流量并抓取,将请求中以POST方式提交的内容解密后得到

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

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

通过上述分析可以得知:攻击者是通过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==漏洞利用:攻击者可以:
构造恶意序列化数据:生成一个包含攻击代码(例如,执行系统命令的代码)的序列化对象。
使用默认密钥进行加密:因为密钥是公开的,攻击者可以用这个密钥对恶意序列化数据进行 AES 加密和 Base64 编码。
伪造 Cookie:将处理后的数据伪装成
rememberMeCookie,发送给目标网站。触发漏洞:Shiro 服务器在接收到这个 Cookie 后,会毫无防备地用相同的默认密钥进行解密,然后反序列化这个恶意对象。
命令执行:反序列化过程会执行嵌入的恶意代码,从而导致远程代码执行(RCE),攻击者就能完全控制服务器。
影响版本:Apache Shiro <= 1.2.4
修复方式
- 升级 Shiro 到 1.2.5 及以上版本。新版本在初始化时会在配置文件中生成一个随机的密钥,而不是使用硬编码的默认密钥。
- 手动配置:如果无法升级,管理员应在 Shiro 的配置文件中(如
shiro.ini)显式地配置一个唯一的、安全的rememberMe加密密钥。
一些程序如Shiro框架,没有没有日志文件,其日志都是显示在运行框里面的,此时就不能使用上述思路进行排查,本案例尝试通过分析Shiro反序列化漏洞的流量包,找出漏洞利用痕迹
搭建好测试平台之后,使用Pyke-Shiro 0.3工具攻击平台地址,并抓取流量包

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

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

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