2024年1月9日发(作者:)

window安全日志分析

今日服务器遭受入侵,入侵路径回溯:被入侵服务器->跳板机->办公网某主机。因此整理记录windows被入侵相关信息。本文只研究windows安全登录相关日志,介绍三种事件类型(登录,注销,尝试登陆)。通过此日志可查看windows主机是否通过3389远程服务爆破进入。注:windows日志有存储大小限制,有被覆盖的可能。可修改,请自行百度。

1.1 windows日志位置

我的电脑右键管理:

刷选windows安全日志事件ID:4000-4700,登录相关

1.2 三种登录事件详解

1.2.1 事件4648(尝试登陆)

事件4648描述:

此事件发生在日志所在windows主机,表明日志所在windows主机尝试连接远程主机,无论连接成功与否,这里都会记录。

网络地址端口:经测试发现只有同一局域网(且同一C段)才会记录目标服务器ip端口。

1.2.2 事件4624(登陆成功)

事件4624描述:表示日志所在win主机被成功连接

“使用者”:指明本地系统上请求登录的帐户。这通常是一个服务(例如 Server 服务)或本地进程(例如 或 )。

“登录类型”:指明发生的登录种类。最常见的类型是 2 (交互式)和 3 (网络)。(登陆类型3:例如连接共享文件,打印机等;登陆类型7:解锁;登陆类型10:例如远程桌面等参考连接:/s/blog_)

“新登录”:指明新登录是为哪个帐户创建的,即登录的帐户。

“网络信息”:指明远程登录请求来自哪里。“工作站名”并非总是可用,而且在某些情况下可能会留为空白。

1.2.3 事件4634(注销)

1.3 日志分析工具log_parser_lizard

工具介绍:

一个Log Parser的图形版,功能强大(可能需要安全相关依赖,我一开始安装了Log Parser)

使用参考连接:

/post/2012/03/26/

下载地址:/lizardlabsdataUS/

获取15天免费key,需要注册邮箱:

/forms/d/e/1FAIpQLSeB09sSTV_kxMpHcWpxp5CFBFh_fE8SRRKm2EF0v3Chsk_3fA/viewform

工具界面:

执行查询:

我这里把相关安全日志单独copy一份,下面是我执行的语句:

相应字段:

执行结果:

strings难以查看,导出excel后,使用python处理了一下:

#! /usr/bin/python

# _*_ coding:utf-8 _*_

import xlrd

import xlwt

import time

workbook = _workbook('')

sheet = ()[0]

nrows =

ncols =

workbook1 = ok()

sheet1 = _sheet('my sheet')

(0, 0, u'时间')

(0, 1, u'事件ID')

(0, 2, u'事件类型')

(0, 3, u'描述')

for i in range(1, nrows):

row = _values(i)

timegenerated = _as_tuple(row[0], 0)

timegenerated = '{}/{}/{} {}:{}:{}'.format(timegenerated[0], timegenerated[1], timegenerated[2],

timegenerated[3], timegenerated[4], timegenerated[5])

eventid = int(row[1])

string = str(row[2]).split('|')

if eventid == 4648:

event_type = u'尝试登录'

account_name01 = string[1]

account_domain01 = string[2]

account_name02 = string[5]

account_domain02 = string[6]

destination_servername01 = string[8]

ip_addr01 = string[12]

result = u'使用者:{}:{},凭证:{}:{},目标服务器:{},网络信息:{}'.format(account_name01, account_domain01,

account_name02, account_domain02,

destination_servername01,

ip_addr01)

elif eventid == 4624:

event_type = u'登录成功'

account_name11 = string[1]

account_domain11 = string[2]

account_name12 = string[5]

account_domain12 = string[6]

login_type11 = string[8]

workstation11 = string[11]

ip_addr11 = string[18]

result = u'使用者:{}:{},登录用户:{}:{},登录类型:{},网络信息:{}:{}'.format(account_name11, account_domain11,

account_name12, account_domain12, login_type11,

workstation11, ip_addr11)

elif eventid == 4634:

event_type = u'注销'

account_name21 = string[1]

account_domain21 = string[2]

login_type21 = string[4]

result = u'使用者:{}:{},登录类型:{}'.format(account_name21, account_domain21, login_type21)

else:

result = string

# print i, timegenerated, eventid, result

(i, 0, timegenerated)

(i, 1, eventid)

(i, 2, event_type)

(i, 3, result)

('')

最终处理结果如下:

希望此文可以给关注windows主机的同学提供一些新的思路。