Invoke-Maldaptive:一款针对LDAP SearchFilter的安全分析工具

news2025/1/13 2:24:42

关于Invoke-Maldaptive

MaLDAPtive 是一款针对LDAP SearchFilter的安全分析工具,旨在用于对LDAP SearchFilter 执行安全解析、混淆、反混淆和安全检测。

其基础是 100% 定制的 C# LDAP 解析器,该解析器处理标记化和语法树解析以及众多自定义属性,可实现准确、高效的 LDAP SearchFilter 混淆、反混淆和检测。该项目的其余部分是一个 PowerShell 包装器,旨在实现最大的灵活性、随机化和管道功能,以便在单个命令中无缝连接所有所需功能。

工具要求

PowerShell 7.1

.NET 6.0 (LTS)

工具安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

https://github.com/MaLDAPtive/Invoke-Maldaptive.git

然后切换到项目目录中,执行工具脚本完成安装:

cd Invoke-Maldaptive

Import-Module ./Maldaptive.psd1

工具使用

交互模式是该函数中丰富多彩的菜单驱动体验Invoke-Maldaptive(它还通过自己的内置 CLI 支持非交互功能)。它旨在促进对所有可用函数的探索,并使用彩色突出显示来放大每个函数返回的重要细节。

菜单探索支持完整的正则表达式和基本通配符,并具有由**、***和****命令定义的特殊自动菜单遍历选项。您可以随时输入HELP或TUTORIAL获取更多指导。

任何时候,都可以从交互式菜单中查看、复制或完全导出每一层混淆或反混淆的完整详细信息。MaLDAPtive 还在同一菜单中显示完整的 CLI 支持,因此可以使用交互模式“创建混淆配方”,然后轻松导出为简单的一行命令。

整个检测模块也内置在交互式菜单中,始终显示规则计数和总检测分数。运行FIND-EVIL将给出针对当前模糊 LDAP SearchFilter 以毫秒为单位评估的检测报告的完整摘要。

最后,我们发布了 1,337 个经过混淆的 LDAP SearchFilter 语料库,供检测工程师使用。这些经过混淆的样本也可以通过以下命令轻松用于测试检测模块:

Get-Content ./Corpus/ObfuscatedSearchFilters.txt | Get-Random | Find-Evil -Summarize | Show-EvilSummary

解析器用法

函数ConvertTo-LdapObject是访问 中定义的各种解析方法的最简单方法./CSharp/LdapParser.cs。共有五 (5) 个解析级别,通过函数的-Target输入参数定义。

以下两个命令演示了最直接有用的解析级别:

'(&(objectCategory=Person)(|(name=sabi)(name=dbo)))' | ConvertTo-LdapObject -Target LdapToken | Format-Table
[Maldaptive.LdapParser]::Tokenize('(&(objectCategory=Person)(|(name=sabi)(name=dbo)))') | Format-Table

'(&(objectCategory=Person)(|(name=sabi)(name=dbo)))' | ConvertTo-LdapObject -Target LdapFilter | Format-Table
[Maldaptive.LdapParser]::ToFilter('(&(objectCategory=Person)(|(name=sabi)(name=dbo)))',$true) | Format-Table

调用模块

为了简化 LDAP SearchRequest 的执行,我们创建了该Invoke-LdapQuery函数(使用方便的别名ILQ)。此外,该Out-LdapObject函数可以漂亮地打印任何输入的 LDAP SearchFilter,这在调试大型 SearchFilter 时非常有用,因为每种标记类型都使用颜色编码以方便查看。

遥测模块

在没有闭源 EDR 代理的实验室环境中,收集客户端和服务器端日志源的 LDAP 遥测数据并非易事。因此,我们打包了遥测模块,用于客户端和服务器端遥测的安装、配置、查询和规范化。在我们的实验室中,我们在域控制器上安装了此模块,以简化本地测试。请勿在任何生产系统上运行此模块。我们不承担与此模块相关的任何损害的责任。所有遥测功能都位于中./Helpers/LdapEventLog.psm1。

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可协议。

项目地址

Invoke-Maldaptive:【GitHub传送门】

参考资料

Black Hat USA 2024 | Briefings Schedule

https://defcon.org/html/defcon-32/dc-32-speakers.html

https://twitter.com/sabi_elezi

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

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

相关文章

35岁失业后:靠这几个AI副业,也能养活自己

最近几年连续的经济下行,到现在已经彻底传导到所有行业,波及到越来越多的人… 这种波及,最集中反映在失业率上,今年又是1179万应届生毕业即失业,加入到庞大的就业漩涡中,35岁裁员已成常态。 大环境确实如此…

RocketMQ 基础入门

文章内容是学习过程中的知识总结,如有纰漏,欢迎指正 文章目录 前言 RocketMQ 特点 RocketMQ 优势 1. RocketMQ 基本概念 1.1 NameServer 1.1.1 NameServer作用 1.1.2 和zk的区别 1.1.3 高可用保障 1.2 Broker 1.2.1 部署方式 1.2.1.1 单 Master 1.2.1.2 …

OpenAI推出o1,一个能够自我事实核查的模型

ChatGPT的开发者OpenAI宣布了其下一次重大产品发布:一个代号为“Strawberry”(草莓)的生成式AI模型,正式名称为OpenAI o1。 更准确地说,o1实际上是一个模型家族。周四,两个版本将在ChatGPT和OpenAI的API中…

最新kubernetes的安装填坑之旅(新手篇)

Kubernetes(常简称为 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序,lz也不知道哪根脑经秀逗了,竟然妄挑战学习一下,结果折戟沉沙,被折腾的欲仙欲死,不过…

26577flask旧衣物捐赠系统—计算机毕业设计源码26577

摘要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规…

【鸿蒙开发从0到1 day10】

ArkUI布局高级 一.线性布局1.间距(space)2.主轴对齐方式3.交叉轴对齐方式4.单个子组件交叉轴的对齐方式5.自适应缩放6.侧轴对齐方式7.案例 二.弹性布局1.淘宝网页面案例分析 三.总结 一.线性布局 线性布局(LinearLayout)是开发中最常用的布局&#xff0…

海鲜市场|基于springboot的网络海鲜市场系设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书(可指定任意题目) 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 计算机网络发展到现在已经好几十年了,在理论上面已…

HyperWorks二维网格划分及拓扑改进

Step 01:载入模型 Exercise_3a.hm。 Step 02:2D 网格划分。 进入 automesh 面板。 图 3-13 设置 automesh 面板网格控制参数 (2) 指定 element size 为 5,根据图 3-13 设置网格控制参数。 (3) 查看网格。 图 3-14 新创建的网格模型 网格…

计算机组成原理(二) —— Cache 高速缓存

这篇主要讲一下高速缓存,涉及到高速缓存的几种形式,缓存友好代码注意事项,多处理器下缓存的同步机制。 文章目录 存储器层次结构高速缓存存储器通用的高速缓存存储器组织结构直接映射高速缓存组选择行匹配字选择不命中时的行替换冲突不命中 组…

半个月赚3000+,用AI做仙侠场景账号,全网分发

那些看过的仙侠剧、修仙小说,玩过的仙侠游戏,你还记得吗? 仙侠类型之所以让人津津乐道,除了不同于普通人的人物形象塑造以及跌宕起伏的剧情之外,美轮美奂的仙境场景也是重中之重。所以,每个人心中都有独属于…

Qt Model/View之Model

在检查如何处理选择之前,您可能会发现检查模型/视图框架中使用的概念很有用。 基本概念 在模型/视图架构中,模型提供了一个标准接口,用于视图和委托访问数据。在Qt中,标准接口由QAbstractItemModel类定义。无论数据项如何存储在…

ListBox显示最新数据、左移和右移操作

1、程序 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using static Sys…

《餐饮世界》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《餐饮世界》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《餐饮世界》级别? 答:国家级。主管单位: 中国商业联合会 主办单位&am…

b√最大矩阵和

题目描述 给定一个二维整数矩阵&#xff0c;要在这个矩阵中选出一个子矩阵. 使得这个子矩阵内所有的数字和尽量大&#xff0c;我们把这个子矩阵称为和最大子矩阵 子矩阵的选取原则是原矩阵中一块相互连续的矩形区域。 输入描述 输入的第一行包含2个整数n,m(1< n,m< 10…

Mysql连接不上的问题?

Mysql服务器本地能访问&#xff0c;但是外部连接报错如下&#xff1a;显然我也知道这就是一个权限问题&#xff0c;但是在网上百度的方法要么就是不生效&#xff0c;要么就是执行命令报错&#xff0c;很抓狂&#xff5e;这里提供精准的解决方案&#xff1a;SELECT User, Host F…

EV代码签名证书签名指南,签名要求、签名步骤一览

作为软件开发者&#xff0c;在软件分发之前&#xff0c;为软件应用程序进行代码签名&#xff0c;可标识开发者身份&#xff0c;消除“未知发布者”警告&#xff0c;确保代码完整性&#xff0c;有利于应用程序安全分发&#xff0c;也可以让用户放心下载。而为软件应用程序进行代…

【C语言从不挂科到高绩点】17-C语言中的宏定义

Hello&#xff01;彦祖们&#xff0c;俺又回来了&#xff01;&#xff01;&#xff01;&#xff0c;继续给大家分享 《C语言从不挂科到高绩点》课程!! 本节将为大家讲解C语言中的函数&#xff1a; 本套课程将会从0基础讲解C语言核心技术&#xff0c;适合人群&#xff1a; 大学…

取消Cursor的注释斜体字风格

1. 打开settings.json 2. 添加如下代码 "editor.tokenColorCustomizations": {"textMateRules": [{"name": "Comment","scope": ["comment","comment.block","comment.block.documentation"…

Vert.x HttpClient调用后端服务时使用Idle Timeout和KeepAlive Timeout的行为分析

其实网上有大量讨论HTTP长连接的文章&#xff0c;而且Idle Timeout和KeepAlive Timeout都是HTTP协议上的事情&#xff0c;跟Vert.x本身没有太大关系&#xff0c;只不过最近在项目上遇到了一些问题&#xff0c;用到了Vert.x的HttpClient&#xff0c;就干脆总结一下&#xff0c;留…

从Apple Intelligence到IoT Intelligence,端侧生成式AI时代加速到来

9月10日凌晨1点&#xff0c;苹果新品发布会如期举行&#xff0c;全新iPhone16系列成为苹果生态中真正意义上的第一款原生AI手机&#xff0c;在第二代3nm工艺A18和A18 Pro芯片的加持下&#xff0c;iPhone16系列能够容纳并快速运行以Apple Intelligence为中心的生成式AI功能在手机…