windows安全日志分析工具logparser用法详解

VSole2023-08-11 14:39:10

在工作过程中,尤其是应急的时候,碰到客户windows域控被入侵的相关安全事件时,往往会需要分析windows安全日志,此类日志往往非常的大;此时,高效分析windows安全日志,提取出我们想要的有用信息,就显得尤为关键。

logparser使用介绍

首先,让我们来看一下Logparser架构图,熟悉这张图,对于我们理解和使用Logparser是大有裨益的

简而言之就是我们的输入源(多种格式的日志源)经过 SQL语句(有SQL引擎处理)处理后,可以输出我们想要的格式。

输入源

从这里可以看出它的基本处理逻辑,首先是输入源是某一种固定的格式,比如EVT(事件),Registry(注册表)等,对于每一种输入源,它所涵盖的字段值是固定的,可以使用logparser –h –i:EVT查出(这里以EVT为例):

这里是一些可选参数,在进行查询的时候,可对查询结果进行控制,不过我们需要重点关注的是某一类日志结构里含有的字段值(在SQL查询中匹配特定的段):

对于每一类字段值的详细意义,我们可以参照logparser的自带文档的参考部分,这里以EVT(事件)为例:

输出源

输出可以是多种格式,比如文本(CSV等)或者写入数据库,形成图表,根据自己的需求,形成自定的文件(使用TPL)等,比较自由

基本查询结构

了解了输入和输出源,我们来看一则基本的查询结构

Logparser.exe –i:EVT –o:DATAGRID “SELECT * FROM E:\logparser\xx.evtx”

这是一则基本的查询,输入格式是EVT(事件),输出格式是DATAGRID(网格),然后是SQL语句,查询E:\logparser\xx.evtx的所有字段,结果呈现为网格的形式:

看到这里,想必你已经明白了,对于windows的安全日志分析,我们只需要取出关键进行判断或者比对,就可以从庞大的windows安全日志中提取出我们想要的信息。

windows安全日志分析

对于windows安全日志分析,我们可以根据自己的分析需要,取出自己关心的值,然后进行统计、匹配、比对,以此有效获取信息,这里通过windows安全日志的EVENT

ID迅速取出我们关心的信息,不同的EVENT ID代表了不同的意义,这些我们可以在网上很容易查到,这里列举一些我们平常会用到的。

有了这些我们就可以对windows日志进行分析了 比如我们分析域控日志的时候,想要查询账户登陆过程中,用户正确,密码错误的情况,我们需要统计出源IP,时间,用户名时,我们可以这么写(当然也可以结合一些统计函数,分组统计等等):

LogParser.exe -i:EVT "SELECT

TimeGenerated,EXTRACT\_TOKEN(Strings,0,'|') AS

USERNAME,EXTRACT\_TOKEN(Strings,2,'|') AS

SERVICE\_NAME,EXTRACT\_TOKEN(Strings,5,'|') AS Client_IP FROM

'e:\logparser\xx.evtx' WHERE EventID=675"

查询结果如下:

如果需要对于特定IP进行统计,我们可以这么写(默认是NAT输出):

LogParser.exe -i:EVT "SELECT

TimeGenerated,EXTRACT\_TOKEN(Strings,0,'|') AS

USERNAME,EXTRACT\_TOKEN(Strings,2,'|') AS

SERVICE\_NAME,EXTRACT\_TOKEN(Strings,5,'|') AS Client\_IP FROM

'e:\logparser\xx.evtx' WHERE EventID=675 AND

EXTRACT\_TOKEN(Strings,5,'|')='x.x.x.x'"

或者将查询保存为sql的格式:

SELECT

TimeGenerated,EXTRACT\_TOKEN(Strings,0,'|') AS

UserName,EXTRACT\_TOKEN(Strings,1,'|') AS Domain

,EXTRACT\_TOKEN(Strings,13,'|') AS

SouceIP,EXTRACT\_TOKEN(Strings,14,'|') AS SourcePort FROM

'E:\logparser\xx.evtx' WHERE EXTRACT_TOKEN(Strings,13,'|') ='%ip%'

然后在使用的时候进行调用

logparser.exe file:e:\logparser\ipCheck.sql?ip=x.x.x.x –i:EVT –o:NAT

查询结果为:

怎么样?是不是一目了然呢?根据特定登陆事件,直接定位到异常IP,异常时间段内的连接情况。

同样我们也可以选择其他输出格式,对日志分析和统计。上述所有操作都是在命令行下完成的,对于喜欢图形界面的朋友,We also have

choices!这里我们可以选择使用LogParser Lizard。对于GUI环境的Log Parser

Lizard,其特点是比较易于使用,甚至不需要记忆繁琐的命令,只需要做好设置,写好基本的SQL语句,就可以直观的得到结果,这里给大家简单展示一下

首先选取查询类型

这里我们选择windows event log,然后输入刚才的查询语句:比

如:

SELECT TimeGenerated,EXTRACT\_TOKEN(Strings,0,'|') AS

USERNAME,EXTRACT\_TOKEN(Strings,2,'|') AS

SERVICE\_NAME,EXTRACT\_TOKEN(Strings,5,'|') AS Client\_IP FROM

'e:\logparser\xx.evtx' WHERE EventID=675 AND

EXTRACT\_TOKEN(Strings,5,'|')='x.x.x.x'

得到的查询结果为(并且这里我们可以有多种查询格式):


总结

这里简单和大家介绍了在windows安全日志分析方面logparser的一些使用样例,logparser的功能很强大,可进行多种日志的分析,结合商业版的Logparser

Lizard,你可以定制出很多漂亮的报表展现,图形统计等,至于其他的功能,留给大家去探索吧~

token
本作品采用《CC 协议》,转载必须注明作者和本文链接
UNI token空投钓鱼攻击成功从Uniswap窃取价值800万美元的以太币。 Uniswap是一家去中心化的加密货币交易所,Uniswap是基于以太坊的协议,旨在促进ETH和ERC20 代币数字资产之间的自动兑换交易,可以在以太坊上自动提供流动性。
一种CSRF防御办法
Windows Token原理及利用
2021-12-14 13:21:53
在进行内网横向时,常常会查看是否存在其他用户的进程来判断本机有更高的权限去访问其他计算机。这其中就涉及到了登录会话与访问令牌。
声明 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。为了防止数据包的重放,token机制被引入了代码中。有的token每次请求都会重新获取,而有的会持续一段时间。
通过观察交易,发现黑客发送了大量的 transfer,去看合约代码。发现在 transfer 函数中,如果满足了条件,它就会销毁流动池中的Health代币。从而导致Health兑换WBNB的价格增高。复盘我们同样也去dodo借一笔闪电贷,然后去模拟运行一下。
Biswap攻击复现
2023-07-11 09:26:07
简要的攻击流程第一次调用migrate函数,输入真的pair合约和假的token,mint地址是受害者。transferFrom函数将受害者LPtoken发到升级合约中。销毁LPtoken,获取两种代币。调用mint,铸造假的LPtoken给受害者。调用假的pair合约的transferFrom和burn函数不做任何操作,其中burn函数需要返回转移合约中两种代币的数量。具体实现编写假的token合约:contract fakeToken is ERC20 {. 获取bsw-wbnb交易对中受害者对转移合约的授权:uint256 allowance = pair.allowance;创建两种假token的交易对:factory.newPool;
新的研究发现,网络犯罪分子正在使用Telegram机器人窃取一次性密码token(OTP)并通过银行和在线支付系统(包括PayPal、Apple Pay和Google Pay)欺诈群众。
VSole
网络安全专家