域控服务器取消验证_记一次域控服务器应急

搜索公众号:暗网黑客

可领全套网络安全课程、配套攻防靶场

一介小白是如何成长为黑客大佬的

a719acad8459edda6760f04ae264fde6.png

一、背景介绍

这是去年11月份的应急事件,反复到客户现场多次才找到原因,最后得到的结论也极为简单。

解决问题过程中,由于客户给的压力较大,甚至几次都找错方向

但最终还是将问题解决,在这里我分享一下此次应急,希望能帮助到工作中的您。

1.1问题初步了解

接到客户反馈,某一域用户无法登录,客户通过查看域控服务器系统安全日志,发现域控服务器存在大量用户登录失败日志,初步判断域控服务器可能受到攻击。

1.2问题猜想与信息收集

问题猜想

当接到客户提供的信息和相关截图时,就对客户提供的信息进行分析,针对客户现场的问题作出相关猜想,将可能的原因都列举一下。

1、发现大量用户登录失败日志首先联想到是否存在RDP爆破?

2、是否存在内网横向攻击情况;

3、……

信息收集

针对客户提供的信息和判断结果,我便了解一下信息:

1、域控服务器是否对互联网提供应用;

2、该问题是什么时候出现的,出现后有哪些特征;

3、除域账号无法登录外,是否存在其他现象;

4、……

1.3客户反馈信息

通初步交流重客户处得到信息:

1、该域控不对互联网提供应用,域控服务器处于内网,与互联网无数据交互;

2、除域账号无法登录外,无其他异常情况。

二、问题分析

将自己的猜想同客户反馈到的信息做对比,完全对应不上,两个信息完全是处于两个相对的极端上,心凉凉的。

由于到客户现场需要一段时间,因此在这段时间中,我查找了相关域控的信息,对域控有一个初步了解。

在应急中最忌讳的就是慌张,没有头绪了解域控后,我放空了思路,让自己安静下来。

“知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能的。”

我很喜欢《大学》中这句话,在每次的应急中我都能从容应对。


给往网络安全发展或者准备提升自身技能的伙伴一句话:

实战练习才是硬道理!只有自己动手摸索,不断思考才能有提升

想学习更多黑客渗透技术却无实战练习挖漏洞渗透权限

免费提供靶场及工具进行实战演练

靶场+视频教程,新手能锻炼技术,老鸟层层闯关,在实战中进行自我探测!

4个月学成,月薪过万真的不只是说说!(真实案例)

扫描免费领取零基础体系化视频教程,好不好用看了才知道

b594359cb49f017db2e73ef85a119a45.png

三、现场分析

3.1日志分析

在现场分析中,首先考虑了是否存在暴力破解情况

因此对安全日志进行分析,但在发现的过程中发现安全日志记录241198条数其中ID为4771事件有92982条,4776事件有72732次。

系统中设置日志保存大小为128M,由于每天日志量很大,只保留了当天的日志

当日前的日志已被覆盖,无法得知之前是否存在RDP爆破

在未被覆盖的日志中未发现大量用户登录失败信息(RDP爆破),但存在4625事件(登录类型是3,是访问网络共享文件夹或打印机)。

ID:4771事件:

1a4980c3ced294e056ff0c5cb3093b5b.png

ID:4776事件:

ca51b3f1f006339ce2543f82cdd3a2d0.png

4625事件(登录类型是3——是访问网络共享文件夹或打印机,登录类型不是10——该类型为远程交付):

0004a9d9e7097e35b77d29f7520cacc4.png

通过对日志进行筛选,发现kerberos预身份验证日志ID:4771占总日志的38.6%,NTLM验证方式验证密码凭据事件ID:4776占总日志的:30%,两者相加占总日志两的68.6%,这一点让我很惊讶,为什么会有这么大的占比?

这里解释一下4771事件、4776事件和Kerberos 策略,详细如下:

4771事件: Kerberos 预身份验证失败:每次密钥分发中心无法发出Kerberos票证授予票证(TGT)时,都会生成此事件。当域控制器没有为智能卡身份验证安装的证书 (例如, 使用 “域控制器” 或 “域控制器身份验证” 模板) 时,用户的密码已过期或错误的密码将会发生这种情况。

此事件仅在域控制器上生成

如果为帐户设置了 “不要求 Kerberos 预身份验证” 选项, 则不会生成此事件。

事件4776是使用NTLM验证方式验证密码凭据时产生的,并且只会具有权威性的机器上产生,比如域帐户登录时是需要和域控进行验证的,域控就是具有权威性的机器

而造成登录失败的可能性也很多

比如用户名密码不正确,密码过期,帐号被锁定等等。请检查您环境中是否对该用户做过类似的更改。

Kerberos策略:通过减少Kerberos票证的生命周期,你可以降低合法用户的凭据被盗用并成功被攻击者使用的风险。但是,这还会增加授权开销。

通过对4771事件和4776事件深入分析后,发信当用户的密码已过期和错误进行时会出现上述情况

由于系统设置了Kerberos策略

因此存在上述问题,Kerberos策略设置如下(该策略参数是按照微软给出的最佳参数设置):

e320afa3b70a007d87d0d26040ca58c6.png

因此每隔一定时间后会出现以下问题:

0×0指代无错误

dd7902e2c40f1f8d7831ac723d8ae215.png

0xC000006A:帐户登录时出现拼写错误或密码错误:

b88dc0ef4d8721231fc06107c093aad5.png

3.2系统进程分析

通过对异常的域控服务器系统进程和服务进行分析,未发现异常。

3.3安全设备日志分析

对客户安全设备和感知平台一周前的日志进行分析,也未发现攻击痕迹。

3.3第一次分析总结

该问题为kerberos策略引起,因此不是安全事件(看着这个结论,觉得不对,可有找不到异常原因,觉得很难受,第一次分析到此)。

3.4最终分析及结论

我对这个结果不满意,客户拿到这个结果不满意,这个没有找到原因。

我有去了客户现场2次,这两次和之前一样也没有找到原因,结论还是和之前一样。感觉自己像个迷路的小孩,对这个问题无能为力。

第四次又厚着脸去了客户现场,到现场处理了一段时间还是一无所获,在黔驴技穷时,客户反馈到,他哪里还有一个问题:“发现一个重复SPN的组”

说到这里时,我起初也没有注意,当对该问题进行深入分析时发现:是由于错误的 SPN 组导致,如果有两个条目尝试使用相同的 kerberos 票证进行身份验证,它们将发生冲突,并导致错误和服务失败。

4af893e72fb2e1ce04c21142b270e87c.png

看到这里有可能对SPN组这个名词有点懵,这里我解释一下SPN组:服务主体名创(SPN)是 kerberos 客户端用于唯一标识给特定 kerberos 目标计算机的服务实例名称。

Kerberos 身份验证使用 SPN 将服务实例与服务登录账户向关联,因此如果有两个条目尝试使用相同的 kerberos 票证进行身份验证,它们将发生冲突,并导致错误和服务失败。

最终出现上述问题,也解释了为什么存在有的域账号不能登录。至此问题解决,成功脱坑。

3.5相关连接

Kerberos 策略:

https://docs.microsoft.com/zh-cn/previous-versions/windows/server/jj852258(v=ws.11)

ID:4771事件:

https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=4771

ID:4776事件:

https://docs.microsoft.com/zh-cn/windows/security/threat-protection/auditing/event-4776

ID:4625事件:

https://docs.microsoft.com/zh-cn/windows/security/threat-protection/auditing/event-4625

Kerberos 和 NTLM–SQL Server 连接的那点事(可以重点查看一下):https://blogs.msdn.microsoft.com/apgcdsd/2011/09/26/kerberosntlm-sql-server/

四、总结:

作为应急人,这里没有什么想要总结的,只想说一句话:“要做好应急就要先学会收集信息”。

03810bdd5002bdf9221ad944d9ab2646.png

作者:bbbbbbig

转载自:https://www.freebuf.com/articles/system/231947.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5难点,学习HTML5的难点是什么?

2012-02-05html5为什么要学html5?HTML5 是继 HTML4。01, XHTML 1。0 和 DOM 2 HTML 后的又一个重要版本,旨在消除富 Internet 程序(RIA)对 Flash, Silverlight, JavaFX 一类浏览器插件的依赖。HTML5 带来很多新功能,以…

AD转换实验 编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值。(如:AD转换后的数字量为128,则

编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值。(如:AD转换后的数字量为128,则数码管应该显示2.5) 程序&am…

python做词典_Python实现创建字典

Python编写一个名为 make_album() 的函数,它创建一个描述音乐专辑的字典。 1、这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地…

8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。

8255总线实验 编写程序利用8255扩展单片机的IO口&#xff0c;控制8位数码管显示1-8。 程序&#xff1a; #include<reg51.h> #include<absacc.h> #define PORT_A XBYTE[0X7FFC] #define PORT_B XBYTE[0X7FFD] #define PORT_C XBYTE[0X7FFE] #define PORT_CTL XBYTE[…

以下不属于python特点的是什么_以下哪一个不属于python语言的特点-Python语言的特点有哪些...

Python语言的特点有哪些 Python 是目前最流行的语言之一&#xff0c;从云计算、大数据到人工智能&#xff0c;Python 无处不在&#xff0c;Python 人才需求量也在逐年攀升&#xff0c;Python 为何能发展如此的迅猛&#xff0c;究竟有什么特点呢&#xff1f; Python 语言主要有以…

四叶草剧场服务器维修价格,四叶草剧场不合理报酬机制是什么-不合理报酬机制和收益详解-Appfound...

四叶草剧场不合理报酬机制是什么&#xff1f;不合理报酬的增益效果怎么样&#xff1f;在四叶草剧场手游中&#xff0c;有一种剧照效果是不合理的报酬&#xff0c;会使敌方角色被施加减益效果时还会失去5%最大生命&#xff0c;下面就为大家详细介绍不合理报酬的机制和收益。不合…

java8 lambda map排序_Java8新特性第3章(Stream API)

转载请注明出处&#xff1a;https://zhuanlan.zhihu.com/p/20540202Stream作为Java8的新特性之一&#xff0c;他与Java IO包中的InputStream和OutputStream完全不是一个概念。Java8中的Stream是对集合功能的一种增强&#xff0c;主要用于对集合对象进行各种非常便利高效的聚合和…

springboot security 权限不足_SpringBoot 整合 SpringSecurity 之起源篇(零)

本篇为SpringSecurity的第一篇&#xff0c;主要来介绍下什么是SpringSecurity&#xff0c;以及在springboot中如何使用它I. 基本知识点官方文档: https://docs.spring.io/spring-security/site/docs/5.2.2.BUILD-SNAPSHOT/reference/htmlsingle/#community-help下面是官方介绍S…

java输入年份和月份,输出天数

java输入年份和月份&#xff0c;输出天数 import java.util.Scanner;/*** Switch case 实现从键盘录入年份月份&#xff0c;输出天数*/ public class Test02 {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println("请输入年…

java用switch语句根据分数输出学生等级

java用switch语句根据分数输出学生等级 /*** 从键盘上输入分数&#xff0c;计算等级gradescore/10;* <60,不及格&#xff0c;继续努力&#xff01;* 60-69,及格&#xff0c;仍需努力&#xff01;* 70-79,一般&#xff0c;继续加油&#xff01;* 80-89,良好&#xff0c;再接…

nacos 配置_SpringCloud Alibaba之Nacos配置中心

前言前几篇介绍了Nacos相关知识&#xff0c;又介绍了nacos作为注册中心&#xff1b;今天老顾就分享一些Nacos作为配置中心&#xff0c;如何使用&#xff1f;新建配置打开nacos控制台&#xff0c;操作配置列表设置DataId&#xff0c;Data ID它的定义规则是&#xff1a;${prefix}…

java用while循环语句输出1-100内的奇数和

java用while循环语句输出1-100内的奇数和 /*** 用while语句,输出0-100所有奇数和*/ public class Test04 {public static void main(String[] args) {int i 1; //定义变量时&#xff0c;尽量不要写成int i1,sum0;int sum 0; //养成一个好习惯while(i<100){if (i%…

如何成为一名与众不同的程序员?|面向思维做事

思维能力是比解决具体问题更重要的能力。问题也许各有不同&#xff0c;但思维方式可以复制和迁移。正所谓:"有道无术&#xff0c;术尚可求也&#xff0c;有术无道&#xff0c;止于术"。 引言 本书的首要目的就是打破“不知道自己不知道”的思维禁锢&#xff0c;把软件…

nofollow标签_nofollow标签是什么?如何使用

nofollow标签是什么可以这样来理解&#xff0c;我们做了一个网页&#xff0c;看到这个网页上有很多个链接&#xff0c;搜索引擎收录这个网页之后&#xff0c;这网页它有一定的权重&#xff0c;它就会来决定分配给这些链接各自的权重。nofollow标签是什么nofollow标签呢就是用来…

java输出1-100内的所有5的倍数,5个一行

java输出1-100内的所有5的倍数&#xff0c;5个一行 /*** 输出1-100内的所有5的倍数&#xff0c;5个一行*/ public class Test05 {public static void main(String[] args) {int i 1;int j 0; //j的初值为0,不是1&#xff1b;while(i<100){if (i%50) {System.out…

java从键盘输入一个数,并将其倒序输出

从键盘输入一个数&#xff0c;并将其倒序输出 import java.util.Scanner;/*** 从键盘上录入任意整数,倒叙输出*/ public class Test06 {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println("请输入一个整数&#xff1a;&qu…

python open函数_精选2个小例子,带你快速入门Python文件处理

阅读本文大概需要7分钟讲完了函数和模块&#xff0c;我们来讲一讲文件的使用,python对数据的处理分两种一种是本地文件的处理&#xff0c;另外一种是通过网络数据处理(也就是爬虫相关的).而本地的数据处理&#xff0c;主要是通过文件的读和写完成~~我们先想一想平时对文件处理一…

Java判断一个整数是否为水仙花数

判断一个整数是否为水仙花数 import java.util.Scanner;/*** 从键盘上输入一个数字&#xff0c;判断是不是水仙花数* <p>* 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身* <p>* 例如&#xff1a;* 153 1*1*1 5*5*5 3*3*3 ;*/ public c…

mysql with as 用法_Python之图解with语句

在我们使用Python的时候&#xff0c;常使用到如下的代码块:# 文件读取 with open(file, r) as f:# CODE BLOCK ## 梯度计算 with tf.GradientTape() as g:# CODE BLOCK #在很多场景中&#xff0c;使用with语句来可以让我们可以更好地来管理资源和简化代码&#xff0c;它可以看做…

java实现从键盘上输入学生考试的科目和学生的每科分数,输出总分、最高分、最低分、平均分

java实现从键盘上输入学生考试的科目和学生的每科分数&#xff0c;输出总分、最高分、最低分、平均分 import java.util.Scanner;/*** 从键盘上输入学生考试的科目数和学生的每一科分数 输出总分、最高分、最低分、平均分*/ public class Test08 {public static void main(St…