MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

admin 2024年8月22日16:44:57评论12 views字数 2139阅读7分7秒阅读模式

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

介绍

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架。

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

发布详细信息

作为捍卫者,从研究一开始我们就希望以负责任的方式发布信息和框架,并决定分两阶段发布。这个决定是我们自己的,我们在 CFP 提交中明确阐述了这种两阶段方法。

因此,在本研究的初始版本中,我们将发布除混淆模块之外的所有代码。至少 4 个月后,我们将发布混淆模块以及本研究的第二部分(具体日期待定,具体取决于待提交的 CFP)。

我们的目的是让防御者提前数月设置所需的 LDAP SearchRequest 遥测并实施我们在本次研究中发布的完整检测规则集。

模块名称 发布日期
LDAP 解析器 2024-08-07
反混淆模块 2024-08-07
检测模块 2024-08-07
检测规则集 2024-08-07
遥测模块 2024-08-07
混淆语料库 2024-08-07
混淆模块 故意延迟发布

安装

Import-Module ./Maldaptive.psd1

所需软件包

PowerShell 7.1.NET 6.0 (LTS)

用法

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

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

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

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

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

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

MaLDAPtive 是一个用于 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

也可以直接调用底层的C#方法:

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

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

'(&(objectCategory=Person)(|(name=sabi)(name=dbo)))' | ConvertTo-LdapObject -Target LdapFilter | Format-Table

也可以直接调用底层的C#方法:

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

MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

调用模块

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

遥测模块

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

原文始发于微信公众号(Ots安全):MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月22日16:44:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   MaLDAPtive 是一个用于 LDAP SearchFilter 解析、混淆、反混淆和检测的框架https://cn-sec.com/archives/3087056.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息