当前位置: 首页 > news >正文

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

关于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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java stream().anyMatch
  • 无线安全(WiFi)
  • vulnhub(8):pWnOS(还没信息收集就已经成功打点)
  • 最佳实践 · MySQL 分区表实战指南
  • Java 实现桌面烟花秀
  • 树——数据结构
  • 计算机网络第二章:作业 1: Web 服务器
  • 相机光学(三十七)——自动对焦原理
  • 2018年国赛高教杯数学建模D题汽车总装线的配置问题解题全过程文档及程序
  • OpenCV高阶操作
  • 耐压110V茂睿芯MK9019可以向下兼容MK9016
  • 找了一家征信公司,干了两个多月。。。
  • 【每日一诗】【诗词创作】【诗】《雨前秋夜》
  • mysql 修改索引
  • Spring Boot- 配置中心问题
  • 【面试系列】之二:关于js原型
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 【知识碎片】第三方登录弹窗效果
  • 2017 年终总结 —— 在路上
  • 4. 路由到控制器 - Laravel从零开始教程
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Fabric架构演变之路
  • in typeof instanceof ===这些运算符有什么作用
  • learning koa2.x
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • react-native 安卓真机环境搭建
  • scrapy学习之路4(itemloder的使用)
  • Shadow DOM 内部构造及如何构建独立组件
  • Spring Cloud中负载均衡器概览
  • uni-app项目数字滚动
  • 初识 webpack
  • 简单基于spring的redis配置(单机和集群模式)
  • 简单数学运算程序(不定期更新)
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 世界上最简单的无等待算法(getAndIncrement)
  • 听说你叫Java(二)–Servlet请求
  • 小程序测试方案初探
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 容器镜像
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (办公)springboot配置aop处理请求.
  • (二) 初入MySQL 【数据库管理】
  • (黑马C++)L06 重载与继承
  • (六)vue-router+UI组件库
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)Linux Shell编程——输入输出重定向
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .Family_物联网
  • .NET Framework杂记
  • .NET Standard 的管理策略