在这篇文章中,我们将告诉大家如何使用活动目录服务接口(ADSI)并结合C/C++来实现Cobalt Strike的活动目录枚举。现在很多环境下都会对PowerShell和.NET程序进行非常严格的监视,而本文所介绍的技术也许可以帮你们躲避这些机制的检测。
使用活动目录集成的DNS服务,任何域内用户都有权限查询域内所有的DNS记录。在活动目录数据库内,所有的DNS数据都存储在如下条目中
一、文档概述 本文从介绍ldap入手,讲述了ldap的使用场合,并进一步的指导用户进行openldap安装与配置。是新手入门的一个教程。 二、LDAP简介 2.1 LDAP介绍 LDAP的英文全称是Lightweight Directory AccessProtocol,它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。 2.2 LDAP优劣 目录服务的数据类型主要是字符型,为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。 LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。 LDAP在查询时是做过优化的,因此查询速度快,但是在更新时相对关系型数据库要慢得多 2.3 LDAP协议 LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。厂商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。与LDAP不同的是,如果软件厂商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费。大多数的LDAP服务器安装起来很简单,也容易维护和优化。 2.4 LDAP服务器 LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:可以把数据“推”到远程的办公室,以增加数据的安全性。复制技术是内置在LDAP服务器中的而且很容易配置。如果要在DBMS中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很难管理。 2.5 LDAP使用权限 LDAP允许你根据需要使用ACI(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。ACI可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数据进行访问控制。因为这些都是由LDAP目录服务器完成的,所以不用担心在客户端的应用程序上是否要进行安全检查。 2.6 LDAP目标 1、需要在任何平台上都能读取数据 2、每一个单独的记录项很少改变 3、可以把数据存在平面数据库(flat database)而不是关系型数据库中 4、如果可以把数据存在一张张的卡片里 三、安装配置 3.1 软件安装 下载: 1、下载openldap-for-windows。提供网址:http://www.userbooster.de/en/download/openldap-for-windows.aspx 2、下载jdk1.4或jdk1.5 3、下载LdapBrowser 安装: 1、将openldap一步步安装,在选择数据库类型方面使用默认的BDB 2、将jdk进行安装 3、LdapBrowser无需安装,可直接使用 3.2 软件配置 1、修改安装目录下的sldap.conf文件,可参照下面修改 suffix "dc=my-domain,dc=com" rootdn "cn=Manager,dc=my-domain,dc=com" 把这两行改为 suffix "dc=root" rootdn "cn=Manager,dc=root" 2、环境变量中配置path,将jdk/bin加入(
LDAP 是轻量目录访问协议,英文全称是LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL,一般都简称为 LDAP。
受bin牛委托修改并发布,版权归bin牛所有。 Bug/建议提交:zcgonvh@rootkit.net.cn 祝各位马年大吉,财源滚滚。 免责声明: 本程序只用于管理员安全检测,使用前请注意环境与法律法规,因使用不当造成的后果本人不承担任何责任。 已测试的系统: win2003+iis6+.net 2.0 win2008+iis7+.net 4.0 win8+iis8+.net 4.5 注意:此版本最低需要.net 2.0环境,不再支持.net 1.1。如果目标机器是.net 1.1,请换用AspxSp
SharpStrike是一款基于C#开发的后渗透工具,该工具可以使用CIM或WMI来查询远程系统。除此之外,该工具还可以使用研究人员提供的凭证信息或使用当前的用户会话。
CIMplant是WMImplant项目的C#实现,并扩展了原项目的相关功能,该工具 能够使用CIM或WMI来查询远程系统,并且可以使用用户提供的凭据或当前用户的会话来执行操作。
最近项目中加入LDAP认证方式,那么问题来了,在网站上创建用户的时候,要将用户同步到LDAP服务器上。看了一下python-ldap的文档,实现了对ldap服务器上的用户实现增删改查。
上午写了一篇《C#开发中Windows域认证登录》,然后跟吉日嘎拉沟通了一下,还是把这个Windows AD用户登录的功能扩展到DotNet.Business中,重新命名为LDAP方式的登录,因为需要引用System.DirectoryServices,暂时用不到此功能的朋友,可以exclude此文件(DotNet.Business\WebUtilities\Utilities.LogOnLDAP.cs)。
openldap的介绍与安装 传统账户管理存在的问题 系统账号无法集中管理 系统账号权限无法集中控制 系统账号授权无法集中管理 系统账号审计无法集中管理 系统账号密码策略无法集中控制 简介 OpenLDAP是一款轻量级目录访问协议(Lightweight Directory Access Protocol) 目前有两个家标准 X.500:openldap LDAP: 支持TCP/IP协议: 用户读取和搜索比较方便 目录结构的信息是按照树形结构组织的 DN:区别名属性,相当于数据库中的字段概念 优点 基于X
随着公司的发展,往往会有很多IT系统,如gitlab、V**、jira、wiki等等,员工需要开通多个系统的账号,这么多的账号密码,很容易混乱,同样对于管理人员维护来说也不方便。于是需要一个统一的认证系统来进行用户名及密码管理,OpenLDAP正好适用于此。
在最近一次的活动目录(Active Directory)评估期间,我们以低权限用户的身份访问了一个完全修补且安全的域工作站。在尝试了许多不同的方法来提升本地权限后,我们发现了Elad Shamir发表的一篇题为“Wagging the Dog:滥用基于资源的约束委派攻击活动目录”[1]的博文。
学习docker的途中,怎么能少了牛逼的harbor呢,先说说harbor是什么吧,harbor: Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目(Harbor 提出的概念),基于官方 Registry V2 实现。 通过地址:https://github.com/vmware/harbor/releases 可以下载最新的版本。 官方提供了两种版本:在线版和离线版。
由于其公司内部都内部各种运维系统等,当每个新员工入职就需要一个挨一个的登录到每个系统的后台给新员工开通账号,设置密码,然后员工离职还得去到每个系统后台去关闭账号,想想多浪费时间那么能不能维护一套账号,对所有系统生效呢? 当然有那就是LDAP。
在内网渗透测试中我们经常会在几个小时内获得域管理权限,而造成这种情况的原因是系统加固不足和使用不安全的Active Directory默认值,在这种情况下公开的利用工具有助于发现和利用这些问题,并经常导致获得域管理权限,本篇博文描述了一个场景,在这个场景中我们的标准攻击方法不起作用,我们必须更深入地挖掘才能获得域中的高权限,我们描述了使用访问控制列表的更高级的权限提升攻击,并介绍了一个名为Invoke-Aclpwn的新工具和一个对ntlmrelayx的扩展,它可以自动执行这种高级攻击的步骤
C#开发BIMFACE系列3 服务端API之获取应用访问凭证AccessToken
OpenLDAP 是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),属于开源集中账号管理架构的实现,且支持众多系统版本,被广大互联网公司所采用。
Zabbix是企业IT网络和应用程序监视解决方案。在对其源代码进行例行检查时,我们在Zabbix UI的身份验证组件中发现了CSRF(跨站点请求伪造)漏洞。使用此漏洞,如果未经身份验证的攻击者可以说服Zabbix管理员遵循恶意链接,则该攻击者可以接管Zabbix管理员的帐户。即使使用默认的SameSite=Laxcookie保护,此漏洞也可在所有浏览器中利用。该漏洞已在Zabbix版本4.0.28rc1、5.0.8rc1、5.2.4rc1和5.4.0alpha1中修复。
通过受感染的主机利用 SOCKS 代理来自 Windows 攻击者机器的工具是一个包含一些细微差别和混淆空间的主题。这种细微差别源于将普通网络流量代理到目标网络的协议要求,以及可用于 Windows 以促进通过 SOCKS 代理网络流量的工具(或缺乏工具)。但是,从攻击的角度来看,将现有 Windows 工具和本机实用程序代理到网络中的能力具有重要价值。为此,这篇文章旨在逐步完成:
几个月前,我自愿对一家法国公司进行了安全审计。该公司有一个企业站,你可以在其中找到新闻,联系页面或下载文档。这是一个非常典型的网站,当加载某些内容,将会发送AJAX请求,该请求由2个参数组成。
上边来了一堆的名词解释,看的云里雾里,还不是很明白,怎么跟自己的组织架构对应起来呢?看看下边的图是不是清晰明了
伪装进程的方式其实也可以算做借助了白名单,但是没有直接调用白名单进程,所以单独列出来了。
作为管理员,您需要了解运行 Hive 查询的 Hive 默认授权是不安全的,以及您需要做什么来保护您的数据。您需要了解您的安全选项:设置 Ranger 或基于存储的授权 (SBA),它基于模拟和 HDFS 访问控制列表 (ACL),或这些方法的组合。
吉日嘎了的Webform例子程序做的很好,但在我们公司,除了使用GPM通用权限管理自带的账户系统登录,还需要集成Windows域账户登录。对于如何实现,我思考了一段时间,大体的思路如下:
如何在 Active Directory 环境中检测 Bloodhound 的 SharpHound 收集器和 LDAP 侦察活动完成的枚举。我们将通过创建一些诱饵帐户(或蜂蜜帐户)并将它们与真实帐户混合来使用欺骗来检测这一点。诱饵帐户是为欺骗目的而创建的帐户,也用于防御以检测恶意行为。MITRE在其工具和技术中涵盖了Bloodhound和域枚举。
LDAP实现提供被称为目录服务的信息服务,可以看做是一张特殊的数据库系统。可以有效的解决众多网络服务的用户账户问题,规定了统一的身份信息数据库、身份认证机制和接口,实现了资源和信息的统一管理,保证了数据的一致性和完整性。
链接:https://www.freebuf.com/defense/397357.html
之前看了SHIRO-721这个漏洞,然后这个漏洞和SHIRO-550有些关联,在SHIRO-550的利用方式中又看到了利用ysoserial中的JRMP exploit,然后又想起了RMI、JNDI、LDAP、JMX、JMS这些词。这些东西也看到了几次,也看过对应的文章,但把他们联想在一起时这些概念又好像交叉了一样容易混淆。网上的一些资料也比较零散与混乱,所以即使以前看过,没有放在一起看的话很容易混淆。下面是对RMI、JNDI、LDAP、JRMP、JMX、JMS一些资料的整理。
在渗透测试中,当进行信息收集与环境侦察时,发现与识别 Exchange 及其相关服务,可以有多种方法与途径。
OpenLdap(Lightweight Directory Access Protocol)是什么?它其实是一个开源的、具备工业标准特性的应用协议,可以使用TCP协议提供访问控制和维护分布式信息的目录信息。这是一个传统意义上的书面解释,是的,毫无疑问,你会一脸懵逼。好吧,让我们变得感性一点,假如我每天早上使用Twitter想听听懂王又吹了什么牛,登录Twitter账号密码,紧接着又想上Instagram看看女神又post了什么新靓照,好的,登录Instagram账号密码,摸了一上午的鱼之后,突然想起来要登录公司的邮箱,看看有没有新需求,是的,又需要那该死的账号和密码,甚至于查询社保、公积金提取、交罚款都需要各自系统的账号和密码。想象一下,如果有一套系统可以统一管理和维护所有下游应用的账号和权限,我们不需要花时间重复的注册新应用的账号,而只需要关注应用本身,从而实现账号集中认证管理,此时作为账号管理员的我们只须维护OpenLDAP 服务器条目即可,金瓯无缺江山一统,这就是openladp能够带给我们的好处。
现代C++与最原始的版本已经差不多是两种不同的语言了。不断发展的C++标准给C++这门语言带来了更多的范式和特性,也造就了其非常的难度。但是从个人的体会而言,如此之多的特性没有必要一项项去硬学,很多的特性没有实际使用过,体会就不会很深。反而在学了C#,Java,JavaScript这些语言并在实际使用过之后,反而愈发理解了这些语言的编程思想。
单点登录SSO(Single Sign on):一个多系统共存的环境下,用户在一处的登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。
📷 目的 本文介绍了一些在保护 IBM Cognos 10 BI 环境时需要考虑的最佳实践和准则。 本文的目标读者是负责设计 IBM Cognos 10 架构和/或开发项目的 IBM Cognos 1
我们在上一章《攻击rmi的方式》中提到了rmi的一大特性——动态类加载。而jndi注入就是利用的动态类加载完成攻击的。在谈jndi注入之前,我们先来看看关于jndi的基础知识
JNDI 全名 Java Naming and Directory Interface,实际上简单来说就是一个接口,应用通过该接口来访问对应的目录服务。好吧,先了解一下目录服务是啥。
本文转载自:https://www.cnblogs.com/backlion/p/10843067.html
在devops流水线中,所有的代码都存储在代码仓库中,通过git的一些方法可以完成代码的codereview的卡点设置,那么下一步需要搭建的服务是什么呢?下一步就是Sonar,通过Sonar完成代码质量的管理。
2013年搞公司的OA时,为了统一用户登录,将Windows AD的用户和OA的账号对接,OA用户名的规则就是使用Windows AD的用户名,格式举例:Troy.Cui,原理就是先进行域服务器的认证,认证完毕使用自定义的函数根据用户名读取出OA的用户信息,然后读取出用户名和密码信息,最后使用获取到的用户名和密码进行正常的登录。当时的文章:《C#开发中Windows域认证登录2(扩展吉日嘎拉GPM系统)》,本周打算OA中开发在线培训的功能,也想借此机会升级一下底层的应用DotNet.Business和DotNet.Utilities,第一个要升级的项目就是这个Windows域账号登录。
接上篇 Windows Server 2008 R2 配置AD(Active Directory)域控制器 对AD域结合常见需求用C#进行一些读取信息的操作^_^! 示例准备 打开上一篇文章配置
之前因为看有人怀疑我的DNN C#版本不是官方的,我晕,我得把整个事情的来龙去脉给写出来。
此前,笔者曾写过一篇《OpenLDAP 安装初体验》尝试使用 Docker 一键式部署 OpenLDAP。其中,对 LDAP 协议也作了一定的基础入门,但对如何利用 LDAP 来为各式各样的应用提供统一认证服务还未有深入的实践。本文就打算以 LDAP 为中心集成到团队内部的各类第三方系统或服务中。例如,团队内部常用的私有化代码托管服务 Gitlab、网盘服务 Nextcloud、缓存加速服务 Squid、访问内部集群的专用 OpenVPN 服务、内部团队知识库服务 Dokuwiki、内部代码库及容器镜像服务 Nexus3 等等。
轻量级目录访问协议(LDAP)是一种标准协议,旨在通过网络管理和访问分层目录信息。目录服务在开发内部网和与互联网程序共享用户、系统、网络、服务和应用的过程中占据了重要地位。例如,目录服务可能提供了组织有序的记录集合,通常有层级结构,例如公司电子邮件目录。同理,也可以提供包含了地址和电话号码的电话簿。 用例子来说,一个用语言描述的LDAP的搜索如:“在公司邮件目录中搜索公司位于那什维尔名字中含有“Jessy”的有邮件地址的所有人。请返回他们的全名,电子邮件,头衔和简述。
当IT系统的数量增多,统一管理各个信息系统的用户信息就是一件很有必要的事情,否则一个个系统去开通和注销用户,不但操作繁琐容易出错,而且可能会出现不安全的情况。比如张三离职后注销了人资系统的帐号却还在可以登录办公系统,或者李四离开公司还可以登录公司内部网络。
概述: 我们经常在code中用到属性,但是我们真的知道属性和字段的区别吗?为什么会有属性这个用法?带着这两个问题,我们来用IL中间语言剖析一下属性(Property) C#中如何定义一个属性 publ
国外安全研究员@elad_shamir在2019年一月底发表了一篇名为” Wagging the Dog: Abusing Resource-Based Constrained Delegation to Attack Active Directory"(https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html)的文章,不同于以往利用无约束委派以及传统约束委派攻击,首次提出并详细介绍利用基于资源的约束委派进行活动目录攻击的方式。文中详细解释了该攻击发现过程,对协议的分析以及攻击原理,并给出不同场景下基于此攻击进行的远程代码执行,本地权限提升等操作。
我们使用Django开发网站后台是,会有账号密码认证登录的需求,一般公司内部会使用Windows 的AD 或者Linux下的OpenLDAP进行账号密码认证。以下为Django使用Windows AD进行账号认证的配置,代码全部配置在Django的setting.py 文件中,代码如下:
LDAP(Lightweight Directory Access Protocol)是一种用于访问和维护分布式目录服务的开放标准协议。它提供了一种在网络上访问和操作目录服务数据的方法,常用于组织和管理用户、组、设备和其他资源的信息。
安全漏洞是指在计算机系统、网络系统或软件程序中存在的错误、缺陷或漏洞,可能被恶意攻击者利用,导致系统被入侵、数据泄露或服务被破坏。安全漏洞可以存在于操作系统、应用程序、网络协议、数据库系统等各个层面。攻击者可以利用这些漏洞来获取非法访问权限、执行恶意代码、篡改数据或者拒绝服务等。安全漏洞的发现和修补是保障系统安全的重要工作,而及时更新和修复已知的漏洞是保持系统安全的基本措施。
公司内部使用Django作为后端服务框架的Web服务,当需要使用公司内部搭建的Ldap 或者 Windows 的AD服务器作为Web登录认证系统时,就需要这个Django-auth-ldap第三方插件
领取专属 10元无门槛券
手把手带您无忧上云