【HW系列】—Windows日志与Linux日志分析

news2025/6/3 6:20:59

文章目录

  • 一、Windows日志
    • 1. Windows事件日志
    • 2. 核心日志类型
    • 3. 事件日志分析实战
      • 详细分析步骤
  • 二、Linux日志
    • 1. 常见日志文件
    • 2. 关键日志解析
    • 3. 登录爆破检测方法
    • 日志分析核心要点

一、Windows日志

1. Windows事件日志

  • 介绍:记录系统、应用程序及安全事件,用于故障排查、安全审计与行为追踪。
  • 打开方式:
    • 运行 eventvwr 或 eventvwr.msc
    • 控制面板 → 管理工具 → 事件查看器
    • PowerShell:Get-WinEvent

2. 核心日志类型

在这里插入图片描述

💡 权限要求:安全日志需管理员权限查看。

3. 事件日志分析实战

(1) RDP协议远程登录分析

  • 关键事件ID:
    • 4624:登录成功(类型10表示RDP)
    • 4778:会话重连
    • 4647:用户手动注销
  • 分析步骤:
    1. 筛选事件ID 4624,检查Logon Type=10
    2. 提取Source Network Address字段获取客户端IP
    3. 结合Account Name确认登录账户
      (2) 登录爆破检测
  • 特征事件:
    • 4625:登录失败(频繁出现)
    • 同一IP短时间内多次尝试不同用户名

详细分析步骤

步骤1:筛选RDP登录成功事件

# PowerShell查询过去24小时成功的RDP登录
Get-WinEvent -FilterHashtable @{
    LogName='Security'
    ID=4624
    StartTime=(Get-Date).AddHours(-24)
} | Where-Object { $_.Properties[8].Value -eq 10 } | Format-List *

关键字段解析:

  • Properties[5]:登录账户名(TargetUserName)
  • Properties[18]:源IP地址(IpAddress)
  • Properties[8]:登录类型(LogonType=10表示RDP)
  • TimeCreated:登录时间
    步骤2:追踪完整RDP会话
# 查询特定IP的完整RDP活动(登录+注销)
$IP = "192.168.1.100"
Get-WinEvent -FilterHashtable @{
    LogName='Security'
    ID=@(4624,4634,4647)
    StartTime=(Get-Date).AddDays(-7)
} | Where-Object { 
    ($_.Id -eq 4624 -and $_.Properties[8].Value -eq 10 -and $_.Properties[18].Value -eq $IP) -or
    ($_.Id -in @(4634,4647) -and $_.Properties[1].Value -like "*$IP*")
} | Sort-Object TimeCreated | Format-Table TimeCreated,Id,Message -AutoSize

步骤3:计算会话持续时间

# 计算各RDP会话的持续时间(需配合日志导出分析)
$sessions = @{}
Get-WinEvent -LogName Security | Where-Object { 
    $_.Id -in @(4624,4634,4647) -and $_.Properties[8].Value -eq 10 
} | ForEach-Object {
    if ($_.Id -eq 4624) {
        $sessions[$_.Properties[3].Value] = @{
            Start = $_.TimeCreated
            User = $_.Properties[5].Value
            IP = $_.Properties[18].Value
        }
    }
    elseif ($_.Id -in @(4634,4647)) {
        if ($sessions.ContainsKey($_.Properties[3].Value)) {
            $duration = $_.TimeCreated - $sessions[$_.Properties[3].Value].Start
            [PSCustomObject]@{
                User = $sessions[$_.Properties[3].Value].User
                IP = $sessions[$_.Properties[3].Value].IP
                StartTime = $sessions[$_.Properties[3].Value].Start
                EndTime = $_.TimeCreated
                Duration = "$($duration.Hours)h $($duration.Minutes)m"
            }
            $sessions.Remove($_.Properties[3].Value)
        }
    }
}
  • 操作流程:
1. 统计失败登录TOP 10 IP
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625} | 
  Group-Object -Property @{e={$_.Properties[18].Value}} | 
  Sort-Object Count -Descending | Select -First 10

2. 查看某IP的爆破详情(如192.168.1.20)
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625} | 
  Where-Object {$_.Properties[18].Value -eq '192.168.1.20'} |
  Format-List TimeCreated, Message
> ⚠️ 注意:高频4625事件(如每分钟>5次)可能为暴力破解。

二、Linux日志

1. 常见日志文件

在这里插入图片描述

2. 关键日志解析

  • lastlog:二进制文件,需用lastlog -u 用户名查看指定用户最后登录时间。
  • wtmp:记录登录/注销行为,last -f /var/log/wtmp显示完整历史。
  • secure/auth.log:核心安全日志,记录SSH登录成功/失败、sudo授权等。

3. 登录爆破检测方法

1. 统计爆破root的IP及次数(CentOS)
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr

2. 提取爆破使用的用户名(Ubuntu)
grep "Failed password" /var/log/auth.log | perl -ne '/for (.+?) from/ && print "$1\n"' | sort | uniq -c

3. 定位爆破时间范围
grep "Failed password" /var/log/secure | head -1  # 首次尝试
grep "Failed password" /var/log/secure | tail -1  # 末次尝试

🔍 技巧:结合fail2ban工具自动封锁高频攻击IP。


日志分析核心要点

在这里插入图片描述

更深入的日志保护策略(如日志加密、远程存储)可参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2395002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VIN码识别解析接口如何用C#进行调用?

一、什么是VIN码识别解析接口? VIN码不仅是车辆的“身份证”,更是连接制造、销售、维修、保险、金融等多个环节的数字纽带。而VIN码查询API,正是打通这一链条的关键工具。 无论是汽车电商平台、二手车商、维修厂,还是保险公司、金…

动态规划之网格图模型(一)

文章目录 动态规划之网格图模型(一)LeetCode 64. 最小路径和思路Golang 代码 LeetCode 62. 不同路径思路Golang 代码 LeetCode 63. 不同路径 II思路Golang 代码 LeetCode 120. 三角形最小路径和思路Golang 代码 LeetCode 3393. 统计异或值为给定值的路径…

PCB设计实践(三十)地平面完整性

在高速数字电路和混合信号系统设计中,地平面完整性是决定PCB性能的核心要素之一。本文将从电磁场理论、信号完整性、电源分配系统等多个维度深入剖析地平面设计的关键要点,并提出系统性解决方案。 一、地平面完整性的电磁理论基础 电流回流路径分析 在PC…

使用ray扩展python应用之流式处理应用

流式处理就是数据一来,咱们就得赶紧处理,不能攒批再算。这里的实时不是指瞬间完成,而是要在数据产生的那一刻,或者非常接近那个时间点,就做出响应。这种处理方式,我们称之为流式处理。 流式处理的应用场景…

IP证书的作用与申请全解析:从安全验证到部署实践

在网络安全领域,IP证书(IP SSL证书)作为传统域名SSL证书的补充方案,专为公网IP地址提供HTTPS加密与身份验证服务。本文将从技术原理、应用场景、申请流程及部署要点四个维度,系统解析IP证书的核心价值与操作指南。 一…

【Linux系列】Linux/Unix 系统中的 CPU 使用率

博客目录 多核处理器时代的 CPU 使用率计算为什么要这样设计? 解读实际案例:268.76%的 CPU 使用率性能分析的意义 相关工具与监控实践1. top 命令2. htop 命令3. mpstat 命令4. sar 命令 实际应用场景容量规划性能调优故障诊断 深入理解:CPU …

C++语法系列之模板进阶

前言 本次会介绍一下非类型模板参数、模板的特化(特例化)和模板的可变参数&#xff0c;不是最开始学的模板 一、非类型模板参数 字面意思,比如&#xff1a; template<size_t N 10> 或者 template<class T,size_t N 10>比如&#xff1a;静态栈就可以用到&#…

基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践

在企业数字化转型进程中&#xff0c;非结构化文本数据的处理与分析已成为核心技术挑战。传统自然语言处理方法在处理客户反馈、社交媒体内容和内部文档等复杂数据集时&#xff0c;往往难以有效捕获文本间的深层语义关联和结构化关系。大型概念模型&#xff08;Large Concept Mo…

R 语言科研绘图 --- 热力图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

解决访问网站提示“405 很抱歉,由于您访问的URL有可能对网站造成安全威胁,您的访问被阻断”问题

一、问题描述 本来前几天都可以正常访问的网站&#xff0c;但是今天当我们访问网站的时候会显示“405 很抱歉&#xff0c;由于您访问的URL有可能对网站造成安全威胁&#xff0c;您的访问被阻断。您的请求ID是&#xff1a;XXXX”&#xff0c;而不能正常的访问网站&#xff0c;如…

机器学习中的关键术语及其含义

神经元及神经网络 机器学习中的神经网络是一种模仿生物神经网络的结构和功能的数学模型或计算模型。它是指按照一定的规则将多个神经元连接起来的网络。 神经网络是一种运算模型&#xff0c;由大量的节点&#xff08;或称神经元&#xff09;之间相互联接构成。每个节点代表一…

网络编程1_网络编程引入

为什么需要网络编程&#xff1f; 用户再在浏览器中&#xff0c;打开在线视频资源等等&#xff0c;实质上说通过网络&#xff0c;获取到从网络上传输过来的一个资源。 与打开本地的文件类似&#xff0c;只是这个文件的来源是网络。相比本地资源来说&#xff0c;网络提供了更为…

【Day38】

DAY 38 Dataset和Dataloader类 对应5. 27作业 知识点回顾&#xff1a; Dataset类的__getitem__和__len__方法&#xff08;本质是python的特殊方法&#xff09;Dataloader类minist手写数据集的了解 作业&#xff1a;了解下cifar数据集&#xff0c;尝试获取其中一张图片 import …

HTML Day04

Day04 0.引言1. HTML字符实体2. HTML表单2.1 表单标签2.2 表单示例 3. HTML框架4. HTML颜色4.1 16进制表示法4.2 rgba表示法4.3 名称表达法 5. HTML脚本 0.引言 刚刚回顾了前面几篇博客&#xff0c;感觉写的内容倒是很详细&#xff0c;每个知识点都做了说明。但是感觉在知识组织…

云原生安全基石:Kubernetes 核心概念与安全实践指南

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. Kubernetes 架构全景 Kubernetes&#xff08;简称 K8s&#xff09;采用主从架构&#xff0c;由控制平面&#xff08;Control Plane&…

autodl 安装了多个conda虚拟环境 选择合适虚拟环境的语句

1.conda env list 列出所有虚拟环境 可以看到&#xff0c;我有两个虚拟环境&#xff0c;一个是joygen&#xff0c;一个是base conda activate base 或者 conda activate joygen 激活对应的环境。我选择激活 joygen 环境 然后就可以在joygen环境下进行操作了 base环境也是同理…

ansible-playbook 进阶 接上一章内容

1.异常中断 做法1&#xff1a;强制正常 编写 nginx 的 playbook 文件 01-zuofa .yml - hosts : web remote_user : root tasks : - name : create new user user : name nginx-test system yes uid 82 shell / sbin / nologin - name : test new user shell : gete…

趋势直线指标

趋势直线副图和主图指标&#xff0c;旨在通过技术分析工具帮助交易者识别市场趋势和潜在的买卖点。 副图指标&#xff1a;基于KDJ指标的交易策略 1. RSV值计算&#xff1a; - RSV&#xff08;未成熟随机值&#xff09;反映了当前收盘价在过去一段时间内的相对位置。通过计算当前…

基线配置管理:为什么它对网络稳定性至关重要

什么是基线配置&#xff08;Baseline Configuration&#xff09; 基线配置&#xff08;Baseline Configuration&#xff09;是经过批准的标准化主设置&#xff0c;代表所有设备应遵循的安全、合规且运行稳定的配置基准&#xff0c;可作为评估变更、偏差或未授权修改的参考基准…

Nest全栈到失业(一):Nest基础知识扫盲

Nest 是什么? 问你一个问题,node是不是把js拉出来浏览器环境运行了?当然,他使用了v8引擎加上自己的底层模块从而实现了,在外部编辑处理文件等;然后它使用很多方式来发送请求是吧,你知道的什么http.request 或 https.request; 我们浏览器中,使用AJAX以及封装AJAX和http的Axios…