监控账户登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控账户登录相关的知识,希望对你有一定的参考价值。

监控账户登录

 

对于有很大权限的账户,比如域管理员账户我们希望能够实时监控他的登录情况。如果账户被他人盗取,我们在第一时间就判断是正常使用还是他人盗取后使用的。

 

这里介绍一种不借助第三方工具就能简单实现的邮件监控账户登录的方法。

 

首先,打开安全日志,找到用户登录的日志。在Windows 2012 R2中记录的日志是4626。其中记录了用户名,登录的客户端。


技术分享


接下去就要新建计划任务了。

在触发器这里选择发生事件时,并选择自定义然后新建事件筛选器。然后再XML选项卡中勾选,手动编辑查询。然后贴入以下代码:

<QueryList>

 <Query Id="0" Path="Security">

    <Select Path="Security">

    *[EventData[Data[@Name=‘SubjectUserName‘]and (Data=‘jewel‘)]] and

*[System[(EventID=‘4624‘)]]</Select>

  </Query>

</QueryList>

这个表示,筛选事件ID为4624并且用户名为jewel的事件。

 技术分享

然后,在操作这里执行两个程序。

第一个将日志导出为TXT文件。

第二个将TXT文件中的内容以邮件的形式发送给特定的收件人。

 技术分享

 

导出日志的BAT内容如下:

wevtutil.exe qeSecurity "/q:*[System [(EventID=4624)]]" /f:text /rd:true /c:1 >c:\evt\adminlogon.txt

发送邮件的Powershell文件内容如下:

###########DefineVariables########

 

$fromaddress ="[email protected]"

$toaddress ="[email protected]"

$Subject ="Admin logon"

$body =(Get-Content C:\evt\adminlogon.txt) -join ‘<BR>‘

$smtpserver ="mail.moon.com"

 

####################################

 

$message =new-object System.Net.Mail.MailMessage

$message.From =$fromaddress

$message.To.Add($toaddress)

$message.IsBodyhtml= $True

$message.Subject= $Subject

$message.body =$body

$smtp =new-object Net.Mail.SmtpClient($smtpserver)

$smtp.Send($message)

 

配置计划任务执行powershell脚本

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

-command"& ‘C:\evt\sendmail.ps1‘"

技术分享

接着就可以收到邮件了。

 

这个计划任务需要在所有域控制器上部署,才能确保记录所有这个受监控账户的登录情况。


以上是关于监控账户登录的主要内容,如果未能解决你的问题,请参考以下文章

编写监控脚本

win10如何删除登录的账户

windows10电脑删除账户无法登录后如何解决

为啥我的win10会出现两个登陆账户

如何打开MySQL中root账户的远程登录

如何取消windows10 微软账户登录