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

news/2024/11/13 5:31:23/

关于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-MaldaptiveImport-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.ppmy.cn/news/1526902.html

相关文章

【HarmonyOS】Beta最新对外版本IDE下载和环境配置

【HarmonyOS】Beta最新对外版本IDE下载和环境配置 前言 目前华为HarmonyOS的系统版本已经从Develop Beta升级为Beta预览版,全面开放。再也不需要白名单限制,才能下载使用最新的IDE和预览最新的开放文档了。 IDE下载和安装 Beta IDE下载地址 1.根据你…

matlab在控制台输出某个变量的值

在 MATLAB 中,要在控制台(命令窗口)输出变量的值,可以使用几种不同的方法: 1. 使用 disp 函数 disp 函数用于显示变量的值,适用于简洁的输出。 % 创建一个变量 x 42;% 在控制台输出变量值 disp(x);2. 使…

transformer模型进行英译汉,汉译英

上面是在测试集上的表现 下面是在训练集上的表现 上面是在训练集上的评估效果 这是在测试集上的评估效果,模型是transformer模型,模型应该没问题,以上的是一个源序列没加结束符和加了结束符的情况。 transformer源序列做遮挡填充的自注意力,这就让编码器的输出中每个token的语…

Kamailio-超强dispatcher负载均衡模块

Kamailio 负载均衡的功能主要依靠 Dispatcher 模块完成,模块官方文档参看 为什么要引入负载均衡?如何使用? 引入和配置功能路由调用命令行指令 为什么要引入负载均衡? Q: 如果单台VOIP服务的性能不能满足业务需求了&#xff0…

【图像匹配】基于SURF算法的图像匹配,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于SURF算法的图像匹配,用matlab实现。 一、案例背景和算法介绍 前…

RabbitMQ(高阶使用)死信队列

文章内容是学习过程中的知识总结,如有纰漏,欢迎指正 文章目录 一、什么是死信队列? 二、死信队列使用场景 三、死信队列如何使用 四、打车超时处理 1.打车超时实现 以下是本篇文章正文内容 一、什么是死信队列? 先从概念解释上搞…

在grafana上配置显示全部node资源信息概览

在grafana上配置显示全部node资源信息概览,便于巡检 1,注册grafana官网账号:Grafana dashboards | Grafana Labs 2、寻找可以展示所有node资源概览信息的dashboard,并下载支持prometheus数据源的dashboard&#xff…

海外云手机——跨国业务的高效工具

海外云手机是一种基于云计算的虚拟手机服务,依托海外服务器实现跨国网络访问。这项服务不仅具备传统智能手机的所有功能,还突破了地域限制,为跨国业务提供更加便捷、高效、安全的解决方案。 随着全球化的加速和互联网的快速普及,跨…