网易首页 > 网易号 > 正文 申请入驻

【技术原创】渗透基础——获得域用户的登录信息

0
分享至

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

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

本文将要介绍以下内容:

通过EventLogSession实现

通过WMI实现

开源代码

通过查询资料发现,通过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); } } }}

以上代码能够查询本地日志并输出日志的完整内容

2.xml格式解析

为了便于提取内容,可以选择将输出内容转换为xml格式

关键代码:

Console.WriteLine(eventData.ToXml());

输出内容示例:

从xml格式中,可直接提取出EventRecordID,关键代码:

XmlDocument xmldoc = new XmlDocument();xmldoc.LoadXml(eventData.ToXml());XmlNodeList recordid = xmldoc.GetElementsByTagName("EventRecordID");Console.WriteLine(recordid[0].InnerText);

提取TargetUserName需要先取出Data的内容,再做一个筛选,关键代码:

XmlNodeList data = xmldoc.GetElementsByTagName("Data");foreach (XmlNode value in data){ if (value.OuterXml.Contains("TargetUserName")) { Console.WriteLine(value.InnerText); }}

这里我们一共需要筛选出以下属性:

TargetUserSid

TargetDomainName

TargetUserName

IpAddress

在做字符匹配时,由于格式固定,所以我们可以从固定偏移位置得到对应的属性,避免多次判断,提高查询效率

关键代码:

XmlNodeList data = xmldoc.GetElementsByTagName("Data");String targetUserSid = data[4].InnerText;String targetDomainName = data[6].InnerText;String targetUserName = data[5].InnerText;String ipAddress = data[18].InnerText;

3.筛选判断条件

为了筛选出有效登录信息,这里对targetUserSid和ipAddress的长度做了判断,targetUserSid长度需要大于9,ipAddress长度需要大于8

关键代码:

XmlNodeList data = xmldoc.GetElementsByTagName("Data");String targetUserSid = data[4].InnerText;String targetDomainName = data[6].InnerText;String targetUserName = data[5].InnerText;String ipAddress = data[18].InnerText;if (targetUserSid.Length > 9 && ipAddress.Length > 8){ Console.WriteLine(targetUserSid); Console.WriteLine(targetDomainName); Console.WriteLine(targetUserName); Console.WriteLine(ipAddress);}

4.支持筛选指定时间内的日志

可以通过修改搜索条件实现,关键代码:

string XPathQuery = "(Event/System/EventID=4624) and Event/System/TimeCreated/@SystemTime >= '2022-01-26T02:30:39' and Event/System/TimeCreated/@SystemTime = '2022-01-26T02:30:39' and Event/System/TimeCreated/@SystemTime =20210526 AND TimeGenerated=20210526 AND TimeGenerated<=20220426"; ManagementScope s = new ManagementScope("root\\CIMV2"); SelectQuery q = new SelectQuery(queryString); ManagementObjectSearcher mos = new ManagementObjectSearcher(s, q); int flagTotal = 0; int flagExist = 0; foreach (ManagementObject o in mos.Get()) { flagTotal++; String Message = o.GetPropertyValue("Message").ToString(); int pos1 = Message.LastIndexOf("Security ID"); int pos2 = Message.LastIndexOf("Account Name"); int pos3 = Message.LastIndexOf("Account Domain"); int pos4 = Message.LastIndexOf("Logon ID"); int pos5 = Message.LastIndexOf("Source Network Address"); int pos6 = Message.LastIndexOf("Source Port"); int length1 = pos2 - pos1 - 16; int length2 = pos4 - pos3 - 20; int length3 = pos3 - pos2 - 17; int length4 = pos6 - pos5 - 27; if (length1 < 0 || length2 < 0 || length3 < 0 || length4 < 0) continue; String targetUserSid = Message.Substring(pos1+14, length1); String targetDomainName = Message.Substring(pos3 + 17, length2); String targetUserName = Message.Substring(pos2 + 15, length3); String ipAddress = Message.Substring(pos5 + 24, length4); { Console.WriteLine("[+] EventRecordID: " + o.GetPropertyValue("RecordNumber")); Console.WriteLine(" TimeCreated : " + o.GetPropertyValue("TimeGenerated")); Console.WriteLine(" UserSid: " + targetUserSid); Console.WriteLine(" DomainName: " + targetDomainName); Console.WriteLine(" UserName: " + targetUserName); Console.WriteLine(" IpAddress: " + ipAddress); flagExist++; } } Console.WriteLine("Total: " + flagTotal + ", Exist: " + flagExist); } }}

5.支持远程登录

关键代码:

var opt = new ConnectionOptions(); ;opt.Username = "TEST\\Administrator";opt.Password = "Password@123";ManagementScope s = new ManagementScope("\\\\192.168.1.1\\root\\CIMV2", opt);

将以上代码整合,得出最终代码,代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/SharpGetUserLoginIPWMI.cs

代码支持以下功能:

可使用csc.exe进行编译,支持3.5和4.0

支持本地和远程日志解析,远程日志解析使用WMI方式

支持判断条件,可筛选指定日期

自动提取信息:EventRecordID、TimeCreated、UserSid、DomainName、UserName和IpAddress

本文介绍了获得域用户登录信息的实现细节,开源两个工具SharpGetUserLoginIPRPC.cs和SharpGetUserLoginIPWMI.cs,在通信效率上,RPC要快于WMI。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
唉!又有一家大企业成功“结业”了!

唉!又有一家大企业成功“结业”了!

翻开历史和现实
2024-06-10 18:54:33
马斯克的妙计和雄心:让搭载FSD的特斯拉自己去拉活“赚钱”

马斯克的妙计和雄心:让搭载FSD的特斯拉自己去拉活“赚钱”

看看娱乐与体育
2024-06-14 20:58:52
重庆国资委介入处理银行女员工向领导表白事件,双方均离婚

重庆国资委介入处理银行女员工向领导表白事件,双方均离婚

辉哥说动漫
2024-06-14 18:20:54
剑指东方!沙俄兼并雅库特、楚科奇、堪察加半岛,究竟有多顺利

剑指东方!沙俄兼并雅库特、楚科奇、堪察加半岛,究竟有多顺利

历史摆渡
2024-06-14 13:05:02
嫦娥六号即将返回,NASA局长:允许中国分享月球样本,引发热议!

嫦娥六号即将返回,NASA局长:允许中国分享月球样本,引发热议!

吾天
2024-06-12 02:13:23
彻底倒向美囯?拒绝中方移民,驱离中方工人,中方大怒:永不合作

彻底倒向美囯?拒绝中方移民,驱离中方工人,中方大怒:永不合作

星辰故事屋
2024-04-27 19:04:44
皮相相似,骨相差了一大截,吴谨言和艾米互换了造型,却天差地别

皮相相似,骨相差了一大截,吴谨言和艾米互换了造型,却天差地别

喵喵娱乐团
2024-06-14 13:43:59
大胸女子当街售卖拥抱,一次2元,所到之处生意火爆,网友:低俗

大胸女子当街售卖拥抱,一次2元,所到之处生意火爆,网友:低俗

三月柳
2024-06-08 16:14:54
神秘的换妻游戏,背后组织者身份曝光真相令人心痛不已

神秘的换妻游戏,背后组织者身份曝光真相令人心痛不已

小鱼滑
2024-04-20 02:05:06
达成续约!CBA名将再次签下顶薪合同,睢冉打响第一枪

达成续约!CBA名将再次签下顶薪合同,睢冉打响第一枪

篮球大陆
2024-06-14 16:34:49
姜萍为何只能读中专?知情人透露,教育不背锅,是中专成就了她!

姜萍为何只能读中专?知情人透露,教育不背锅,是中专成就了她!

王晓爱体彩
2024-06-14 18:37:45
没有捡来的便宜,国足为出线付出昂贵代价!给伊万交学费值不值?

没有捡来的便宜,国足为出线付出昂贵代价!给伊万交学费值不值?

中国足球的那些事儿
2024-06-12 12:08:25
美丽动人!26岁银色泳衣美女海边拍摄的写真照

美丽动人!26岁银色泳衣美女海边拍摄的写真照

小影的娱乐
2024-06-13 13:08:46
炸裂!高中毕业典礼家长演讲火了,网友:这才是高手,信息量很大

炸裂!高中毕业典礼家长演讲火了,网友:这才是高手,信息量很大

户外阿毽
2024-06-13 01:36:39
38分狂屠首都体院!广东派职业球员打业余,球迷:赢了有什么意义

38分狂屠首都体院!广东派职业球员打业余,球迷:赢了有什么意义

弄月公子
2024-06-14 17:09:25
你见过的狠人有多绝?网友:认识一妹子,容嬷嬷见了都得使劲摇头

你见过的狠人有多绝?网友:认识一妹子,容嬷嬷见了都得使劲摇头

开玩笑的水母
2024-06-11 18:37:22
杭州有人私自锁住公共足球场遛狗?官方回应

杭州有人私自锁住公共足球场遛狗?官方回应

极目新闻
2024-06-14 19:34:39
可助男人金枪不倒的性生活妙招,最后一个真的绝

可助男人金枪不倒的性生活妙招,最后一个真的绝

小红帽笔记
2023-12-20 15:32:41
教育部任命!双一流大学,书记校长双调整

教育部任命!双一流大学,书记校长双调整

双一流高校
2024-06-14 16:43:26
回顾男子新车跑20万公里,成功跑报废,4S店:买完车就没有熄过火

回顾男子新车跑20万公里,成功跑报废,4S店:买完车就没有熄过火

琪琪故事记
2024-06-14 09:09:07
2024-06-14 22:18:44
嘶吼RoarTalk
嘶吼RoarTalk
不一样的互联网安全新视界
7434文章数 10508关注度
往期回顾 全部

科技要闻

马斯克重获信任 豪言特斯拉市值超10个苹果

头条要闻

男子赤膊趴车头救人:湍急水流淹车头 司机昏迷水及腰

头条要闻

男子赤膊趴车头救人:湍急水流淹车头 司机昏迷水及腰

体育要闻

我们为什么还爱欧洲杯?

娱乐要闻

江宏杰秀儿女刺青,不怕刺激福原爱?

财经要闻

“石油美元”协议走向终结 影响几何?

汽车要闻

提供100/240kW双电机版本车型 乐道L60实车曝光

态度原创

数码
游戏
教育
亲子
军事航空

数码要闻

LG 推出 G4 系列 OLED 电视新品:65 英寸 23999 元

《王国之心》系列发售贺图:首日登顶Steam热销榜!

教育要闻

一看到有人分享管理经验,就会有人阴阳怪气,“你来我这里试试啊”,其实,我不知道他受到了多大的打击,但...

亲子要闻

看到三胞胎妈妈一人带三娃的疲惫,才明白情绪稳定是对宝妈的PUA

军事要闻

美国与乌克兰签署双边安全协议

无障碍浏览 进入关怀版