利用原理:如果域内存在一台域控名为DC(机器账户为DC)的域控机,此时攻击者可利用CVE-2021-42287漏洞去申请一个机器账户,再将机器账户的sAMAccountName修改为DC。然后再利用这个机器账户去申请一个TGT票据,再将DC的sAMAccountName修改为其他。修改结束后再利用这个TGT通过S4U2Self去申请ST票据,此时KDC识别TGT票据内用户名为DC,检索到域内并未存在DC用户,但存在DC用户(检索的依据为sAMAccountName值),于是KDC通过DC机器的hash加密票据,我们便可成功拿到DC的权限。
与标准用户帐户相比计算机帐户的名称末尾附加了$符号,默认情况下Microsoft操作系统缺乏可以防止许多攻击的安全控制和强化措施,此外多年来已经证明Windows生态系统中许多事物工作方式可以通过利用现有功能和工作流程来实现滥用
这几个月一直在帮客户改需求,部署。我已经心力憔悴,经过一段时间的摸索,我对用PowerShell实现自动化部署也有了一些心得,比如说利用PowerShell导出导入AD中的User。在基于SharePoint平台开发时,利用AD来进行人员的管理,一般会建组织单元(OrganizationalUnit)来对用户进行管理。当最终部署到客户的服务器上时,怎样把本地AD中的用户数据同步到服务器上呢,要知道如果手动输入人员是一件麻烦的事。幸运的事,PowerShell可以帮我们解决这个麻烦的问题。 导出AD Use
2021年11月9日,微软发布11月份安全补丁更新。在该安全补丁更新中,修复了两个域内提权漏洞CVE-2021-42287/CVE-2021-42278。但是当时这两个漏洞的利用详情和POC并未公布出来,因此并未受到太多人关注。
针对 Windows® 平台,Microsoft 提供了三个主要目录平台:Active Directory® 域服务、每台 Windows 计算机上的本地安全帐户管理器 (SAM) 数据存储,以及比较新的 Active Directory 轻型目录服务或 AD LDS(即您先前已经知道的 Active Directory 应用程序模式或简称 ADAM)。这篇博文不是讲活动目录的使用,具体可以参照MSDN一篇文章专门介绍活动目录的编程http://msdn.microsoft.com/zh-cn/magazi
Global Catalog,简写为“GC”,有的地方叫“全局编录”,这里我把它叫做“通用类别目录”。
前言最近出了两个漏洞:CVE-2021-42278,机器账户的名字一般来说应该以$结尾,但AD没有对域内机器账户名做验证。CVE-2021-42287,与上述漏洞配合使用,创建与DC机器账户名字相同的机器账户(不以$结尾),账户请求一个TGT后,更名账户,然后通过S4U2self申请TGS Ticket,接着DC在TGS_REP阶段,这个账户不存在的时候,D
密码安全问题一直都受到个人和企业的关注。对于个人而言,或许仅仅只是个人隐私的被公开,而对于企业而言则可能会是灾难性的。为了避免出现这种情况,越来越多的企业都开始使用一些不可逆,且强度高的加密算法来加密其账户密码。但一些安全意识薄弱的企业或个人,仍在使用可逆加密存储其账户密码。一旦使用可逆加密,即使你的密码设置的非常长也可以被攻击者轻易的破解。
当请求服务 ST 的账户没有被 KDC 找到时,KDC 会自动在尾部添加 $ 重新搜索。创建与DC机器账户名字相同的机器账户(不以$结尾),账户请求一个TGT后,更名账户,然后通过S4U2self申请TGS Ticket,接着DC在TGS_REP阶段,这个账户不存在的时候,DC会使用自己的密钥加密TGS Ticket,提供一个属于该账户的PAC,然后我们就得到了一个高权限ST。
> 今天在微软的galary 中闲逛,发现了一个PS脚本,是导出当前的用户数据大小的值的,和对比一段时间数据库大小的值。我们现在不需要对比,只需要得出当前的用户的几个指标,因此我将这段PS代码修改了下,就不再需要利用EXCEL 做数据大小的计算了,代码如下,大家可以把这段代码COPY 到一个NOTEPAD中,然后保存为PS1即可。
在 管理 -> 身份验证 -> 添加策略 -> 选择 LDAP/AD , 如下: 📷 接下来进行详细配置: 显示名称: 按需修改 是否启用: 是 LDAP URL: 格式为: ldap://serverhost:389 or ldaps://serverhost:636 Admin Bind DN: CN=xxxx,OU=xxxx部,OU=xxxx,DC=xxxxx-net,DC=com,DC=cn ❗️ 注意: 一定要明确该CN的完整信息.确定归属于OU=xxxx部,OU=xxxx,DC=xxxxx-n
本文介绍如何在 Windows 系统上配置 Apache Git 服务器, 以及使用 AD 进行认证用户认证。
在 AD 中进行用户的操作,通常需要先判断用户是否存在,这时就需要使用查询了,用下面代码可以进行 AD 中的查询:
https://www.xie-sec.com/detail/l_628764a1e4b01a485201cba3/4
服务主体名称 (SPN) 是 Active Directory (AD) 数据库中的记录,显示哪些服务注册到哪些帐户:
我们使用Django开发网站后台是,会有账号密码认证登录的需求,一般公司内部会使用Windows 的AD 或者Linux下的OpenLDAP进行账号密码认证。以下为Django使用Windows AD进行账号认证的配置,代码全部配置在Django的setting.py 文件中,代码如下:
LDAPWordlistHarvester是一款功能强大的字典列表生成工具,该工具可以根据LDAP中的详细信息生成字典列表文件,广大研究人员随后可以利用生成的字典文件测试目标域账号的非随机密码安全性。
我现在开始第一步,获取AD域用户所在的组,因为我想把菜单和界面按钮的功能由角色组来控制,用户加入角色组就可以获得相应的权限. 这是我的思路.
第三方通用组件漏洞: struts、thinkphp、jboss、ganglia、zabbix等
作为一个公共服务,登录体系当然也要选择一个公共的方案。这里配置ldap。官方文档: http://docs.grafana.org/auth/ldap/
通常我们自己做的工具,都要用一套自己的账号管理系统,如果工具做得多,这些个账号管理系统又相互独立,维护和管理不是很方便。接入公司的人事系统才是一个好的选择。
全民制作人大家好,我是学习python两天半的练习生王忘杰,喜欢路由交换、linux、网络安全,开整!在此之前我并没有编程经验,对于python我花了半天时间看了www.runoob.com/python3的教程,看完第五节基本语法,发现python与bash脚本基本相同,因此安装完PyCharm后直接开始了代码编写。
了解LDAP之前需要先了解“目录服务”,目录服务是一个特殊的数据库,用来保存描述性的、基于属性的详细信息,支持过滤功能。如:人员组织管理,电话簿,地址簿。
AD域中常见属性名词解释 Active Directory(AD)活动目录 schema对象模型 Organizational Unit(OU)组织单位 Distinguished name(DN)识别名 Canonical Name(CN)正式名称 Domain Controllers(DC)域控制器 displayname显示名称 homephone住宅电话 家庭电话(M) givenname名(F) samaccounttype账号类型 mobile手机 primarygroupid分组ID objectclass对象类 取值person, organizationalPerson, user sn姓(L) displayName 显示名称(S) description 描述(D) physicalDeliveryOfficeName 办公室(C) initials英文缩写(I) telephoneNumber电话号码(T) mail电子邮件(M) wWWHomePage网页(W) otherTelephone电话号码-其它(O) url网页-其它(R) co国家/地区(O) st省/自治区(V) l市/县(C) streetAddress 街道(S) postOfficeBox 邮政信箱(B) postalCode邮政编码(Z) userPrincipalName 用户登录名(U) sAMAccountName 用户登录名(Windows 2000 以前版本)(W) pager寻呼机(P) mobile 移动电话(B) facsimileTelephoneNumber传真(F) ipPhone IP电话(I) info 注释 otherHomePhone 家庭电话-其它(O) otherPager 寻呼机-其它(T) otherMobile移动电话-其它(B) otherFacsimileTelephoneNumber传真-其它(E) otherIpPhone IP电话-其它(R) company 公司(C) department 部门(D) title 职务(J) manager 经理-姓名(N) directReports 直接下属(E)
说明:梦里项目,相关信息如ip,域名,账户等信息都是后期编的,可能会出现文不对题,不要纠结细节。
在这篇文章中,我们将告诉大家如何使用活动目录服务接口(ADSI)并结合C/C++来实现Cobalt Strike的活动目录枚举。现在很多环境下都会对PowerShell和.NET程序进行非常严格的监视,而本文所介绍的技术也许可以帮你们躲避这些机制的检测。
acltoolkit是一款针对ACL(访问控制列表)的多功能安全工具,该工具实现了多种针对ACL的滥用技术,可以帮助广大研究人员更好地研究ACL安全。
在通过Spring Boot的自动化装配功能及JDK自带的LDAP模块,可通过如下几个简单步骤实现业务系统自动同步AD域账号功能。
Adfind是一款在域环境下非常强大的信息搜集工具,允许用户在域环境下轻松搜集各种信息。它提供了大量的选项,可以优化搜索并返回相关详细信息,是内网域渗透中的一款利器。
星期五实验室的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息造成的直接或间接后果和损失,均由使用者本人负责。
在测试过程中通过漏洞获取了边界节点的控制权,但该主机不在域中,或者不是windows主机(Linux 服务器、边界网络设备),进一步测试发现,该主机和域控主机并没有隔离,掌握一定的域用户信息, 同时可以通过该主机进行流量转发。
索性用goby再去扫一下,应该是spring没错,但是没有漏洞是什么操作?联想到最近出的log4j2的洞,可能他只是一个日志文件所以并没有框架
这是因为某种认证方式下一旦有了除admin/anonymous之外的用户存在。则不能修改认证方式了。 要想修改就需要删除现有用户。而且必须是在数据库里删除用户。只在页面上删除用户,实际数据库里是把用户打了个删除标记,仍然不能修改认证方式。
完成了AD RMS的部署后,下面就需要让Exchange 2013来集成RMS了。首先我们需要了解,Exchange IRM的工作方式,Exchange是调用RMS通过Web Service来提供服务。Exchange服务器必须对 AD RMS 服务器证书管道(AD RMS 服务器上的 ServerCertification.asmx 文件)的读取和执行权限。下面就来对Exchange以及RMS进行配置,使得Exchange可以正常的使用到RMS服务。
当在域渗透的过程中,如果只获得了一个有效的普通域用户,可以有很多工具很多方式连接LDAP进行查询信息,比如:adfind、adexplorer、ldapsearch等等。
在红队评估期间,利用现有的 Microsoft 功能进行进攻性操作非常普遍,因为它提供了融入环境并不被发现的机会。Microsoft 引入了“ AdminSDHolder ”活动目录对象,以保护高权限帐户(例如域管理员和企业管理员)免受无意修改的权限,因为它被用作安全模板。Active Directory 检索“ AdminSDHolder ”的 ACL”对象定期(默认情况下每 60 分钟一次)并将权限应用于属于该对象的所有组和帐户。这意味着在红队操作期间,即使在 60 分钟内检测到一个帐户并将其从高特权组中删除(除非强制执行),这些权限也将被推回。
项目官网: https://www.ltb-project.org/documentation/self-service-password.html github: https://github.com/ltb-project/self-service-password 文档: https://self-service-password.readthedocs.io/en/latest/
接上篇 Windows Server 2008 R2 配置AD(Active Directory)域控制器 对AD域结合常见需求用C#进行一些读取信息的操作^_^! 示例准备 打开上一篇文章配置
众所周知,在windows10以及Windows Server2016的平台当中,PowerShell5.x已经能够去获取到系 统当中大部分的信息,但有时候仍有一些信息需要借助于调用WMI的类来完成。通过本文,你可以 了解到WMI的基本架构和组件,包括WMI的数据库,WMI的provider,以及在PowerShell调用WMI的 时候提供的module和相关的命令。接下来我们就能通过powershell的命令去完成WMI的查询操作, 去获取到系统当中WMI的实例。然后我们还可通过实例的属性查看到系统当中不同的信息,同时的 话去调用实例当中为我们提供的不同的方法,去修改系统信息的配置。
Ldap 认证就是把用户数据信息放在 Ldap 服务器上,通过 ldap 服务器上的数据对用户进行认证处理。好比采用关系型数据库存储用户信息数据进行用户认证的道理一样。Ldap 也可以算作是数据库,不过不是关系型的,而是采用层次型组织数据的。Ldap是开放的Internet标准,支持跨平台的Internet协议,在业界中得到广泛认可的,并且市场上或者开源社区上的大多产品都加入了对Ldap的支持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。接下来介绍Opnsense Ldap Authentication on Active Directory。
如果你的计算机加入了某个AD域,则可以获取该域中所有的计算机和用户的信息。 所用程序集,需要.Net Framework 4。 添加程序集引用 System.DirectoryServices.Acc
选择的用户授予 DCSync 的权限,在某些设置中可能会逃避检测。
公司内部使用Django作为后端服务框架的Web服务,当需要使用公司内部搭建的Ldap 或者 Windows 的AD服务器作为Web登录认证系统时,就需要这个Django-auth-ldap第三方插件
Ldap 认证就是把用户数据信息放在 Ldap 服务器上,通过 ldap 服务器上的数据对用户进行认证处理。好比采用关系型数据库存储用户信息数据进行用户认证的道理一样。Ldap 也可以算作是数据库,不过不是关系型的,而是采用层次型组织数据的。Ldap是开放的Internet标准,支持跨平台的Internet协议,在业界中得到广泛认可的,并且市场上或者开源社区上的大多产品都加入了对Ldap的支持,因此对于这类系统,不需单独定制,只需要通过Ldap做简单的配置就可以与服务器做认证交互。
在域环境中,如果安装Exchange后,系统会添加一个名为Microsoft Exchange Security Groups、Exchange Trusted Subsystem和Exchange Windows Permission三个组。如果获得了这三个组内任意用户的控制权限,就能够继承用户组的WriteDACL权限,WriteDACL权限可以修改域对象的ACL,最终实现利用DCSync导出域内所有用户hash。
注意:实现LDAP用户账户统一认证需要AD和ZABBIX共有用户帐号并且保证LDAP设置中 Test authentication 选项中用户和密码和AD中的相同。
GitLab是一个开源的代码托管和项目管理平台,它提供了一系列功能,如代码托管、CI/CD、issue跟踪等。GitLab支持多种认证方式,包括LDAP、OAuth、CAS等。本文将介绍如何在GitLab中集成AD域控登录。
TrickBot通过不断增加窃取用户凭证的新模块而不断进化,我们已发布的最新进展是关于它的pwgrab32模块。最近,我们又发现了一个新的POS相关的恶意模块,使得该银行木马更加危险。一旦受感染的计算机连接到支持POS服务和设备的网络,新模块将开始活动。
领取专属 10元无门槛券
手把手带您无忧上云