渗透基础——获得域用户的登录信息

导语:本文将要分享我的实现方法,开源两个工具,记录细节。

0x00 前言

在域渗透中,获得了域控制器权限后,需要获得域用户的登录信息,包括域用户登录的IP地址和登录时间。通常使用的方法是查看域控制器的登录日志(Eventid=4624)。然而,人工从登录日志(Eventid=4624)中筛选出域用户登录的IP地址和登录时间需要耗费大量时间,不仅无效数据多,而且需要多次判断,所以我们需要编写程序来实现这个功能。

在实际使用过程中,为了能够适配多种环境,还需要支持本地和多种协议的远程登录。于是本文将要分享我的实现方法,开源两个工具,记录细节。

0x01 简介

本文将要介绍以下内容:

通过EventLogSession实现

通过WMI实现

开源代码

0x02 通过EventLogSession实现

通过查询资料发现,通过EventLogSession不仅支持解析本地日志内容,还支持通过RPC远程解析日志,下面介绍关于EventLogSession的开发细节

1.输出Eventid=4624的日志内容

C Sharp实现代码:

using System;
using System.Diagnostics.Eventing.Reader;
namespace Test1
{
   
    class Program
    {
   
        static void Main(string[] args)
        {
   
            var session = new EventLogSession();
            string LogName = "Security";
            string XPathQuery = "*[System/EventID=4624]";
            EventLogQuery eventLogQuery = new EventLogQuery(LogName, PathType.LogName, XPathQuery)
            {
   
                Session = session,
                TolerateQueryErrors = true,
                ReverseDirection = true
            };
            using (EventLogReader eventLogReader = new EventLogReader(eventLogQuery))
            {
   
                eventLogReader.Seek(System.IO.SeekOrigin.Begin, 0);
                do
                {
   
                    EventRecord eventData = eventLogReader.ReadEvent();
                    if (eventData == null)
                        break;
                    Console.WriteLine(eventData.FormatDescription());                    
                    eventData.Dispose();
                } while (true);
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值