LDAP(Light Directory Access Protocal)是一个基于X.500标准的轻量级目录访问协议,LDAP是支持跨平台的Internet协议,只需要通过LDAP做简单的配置就可以与服务器做认证交互。可以大大降低开发的成本。

windows Active Diretcory就是一个支持LDAP的微软产品。

活动目录是指域环境中提供目录服务的组件,它用于存储网络对象信息(用户、组、打印机等)。

把活动目录理解成一个可扩展的,撞门为了查询、浏览、搜索优化的特殊数据库,就像windows文件目录的结构一样。目录数据库与MySQL这种关系型数据库相比,具有优异的可读性,但是可写性能很差,而且没有备份还原这样的功能。

信息收集:操作系统、权限、用户、ip段、杀软、端口、进程、服务、补丁、计划任务、共享、会话

利用LDAP进行信息收集

前提是能够访问DC的389端口,且已经知道域内的一个账号密码,假设我们已经知道域内用户test1的密码时admin@123,DC的ip是192.168.190.130

1.使用ldapsearch获取信息

该工具只能在域环境下使用,因此一般当获得shell后,挂socks代理,在本地进行操作查询。

参数说明:

-x:进行简单认证

-H:服务器地址

-D:用来绑定服务器的DN

-w:绑定DN的密码

-b:指定要查询的根节点

•获取所有信息

•ldapsearch.exe -x -H ldap://192.168.17.133:389 -D "CN=test1,CN=Users,DC=hacker,DC=test" -w Asdfqwer.. -b "DC=hacker,DC=test"

•查询用户

•ldapsearch.exe -x -H ldap://192.168.17.133:389 -D "CN=test1,CN=Users,DC=hacker,DC=test" -w Asdfqwer.. -b "DC=hacker,DC=test" "(&(objectClass=user)(objectCategory=person))" | grep ^cn

•查询计算机名

•ldapsearch.exe -x -H ldap://192.168.17.133:389 -D "CN=test1,CN=Users,DC=hacker,DC=test" -w Asdfqwer.. -b "DC=hacker,DC=test" "(&(objectCategory=computer)(objectClass=computer))" | grep ^cn

•查询域内组

•ldapsearch.exe -x -H ldap://192.168.17.133:389 -D "CN=test1,CN=Users,DC=hacker,DC=test" -w Asdfqwer.. -b "DC=hacker,DC=test" "(&(objectCategory=group))" | grep ^cn

2.使用PowerSploit工具搜索信息

•模块目录

•$env:PSModulePath

•更改策略

•set-executionpolicy remotesigned

•加载模块

•Import-Module -name 路径

•下载地址:

https://github.com/PowerShellMafia/PowerSploit

$uname="test1"
$pwd=ConvertTo-SecureString "Asdfqwer.." -AsPlainText -Force
$cred=New-Object System.Management.Automation.PSCredential($uname,$pwd)

•查询用户

Get-NetUser -Domain hacker.test -DomainController 192.168.17.133 -ADSpath "LDAP://DC=hacker,DC=test" -Credential $cred | fl cn

•查询计算机名

Get-NetComputer -Domain hacker.test -DomainController 192.168.17.133 -ADSpath "LDAP://DC=hacker,DC=test" -Credential $cred | fl cn

•查询域内组

Get-NetGroup -Domain hacker.test -DomainController 192.168.17.133 -ADSpath "LDAP://DC=hacker,DC=test" -Credential $cred | fl cn

3.sharpview获取信息

•查询所有用户

•SharpView.exe Get-NetUser -Domain hacker.test -Server 192.168.17.133 -Credential test1@hacker.test/Asdfqwer.. | findstr cn

•模块

•Get-DomainController

•Get-NetUser

•Get-DomainComputer

•下载地址

https://github.com/tevora-threat/SharpView

域渗透之ldap协议的更多相关文章

  1. 域渗透基础之NTLM认证协议

    域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...

  2. 域渗透:SPN(ServicePrincipal Names)的利用

    SPN 简介:服务主体名称(SPN:ServicePrincipal Names)是服务实例(可以理解为一个服务,比如 HTTP.MSSQL)的唯一标识符.Kerberos 身份验证使用 SPN 将服 ...

  3. AD域渗透总结

    域渗透总结 学习并做了一段时间域网络渗透,给我直观的感受就是思路问题和耐心,这个不像技术研究,需要对一个点进行研究,而是遇到问题后要从多个方面思考,寻找"捷径"思路,只要思路正确, ...

  4. 域渗透 | kerberos认证及过程中产生的攻击

    ​文章首发于公众号<Z2O安全攻防>​ 直接公众号文章复制过来的,排版可能有点乱, 可以去公众号看. https://mp.weixin.qq.com/s/WMGkQoMnQdyG8UmS ...

  5. Active Directory的LDAP协议与DN(Distinguished Name)详解

    前言 光copy几段代码的文章没什么意思,本章上最基础的代码,主要是为了从编程方面聊LDAP和DN,其它的后面聊,一步步慢慢来吧. Active Directory编程须知 1.域控服务器: Wind ...

  6. 域渗透-Kerberos身份验证流程

    域渗透-Kerberos身份验证流程 Kerberos协议框架 在 Kerberos 协议中主要是有三个角色的存在: 1. 访问服务的 Client: 2. 提供服务的 Server: 3.KDC(K ...

  7. LDAP协议介绍

    LDAP协议基础概念  1. 从用途上阐述LDAP,它是一个存储静态相关信息的服务,适合"一次记录多次读取".经常使用LDAP服务存储的信息: 公司的物理设备信息(如打印机,它的I ...

  8. 初级AD域渗透系列

      net group /domain 获得所有域用户组列表 net group “domain admins” /domain 获得域管理员列表 net group “enterprise admi ...

  9. 认识LDAP协议

    LDAP LDAP是Lightweight Directory Access Protocol的缩写,顾名思义,它是指轻量级目录访问协议(这个主要是相对另一目录访问协议X.500而言的:LDAP略去了 ...

随机推荐

  1. Java改写重构第2版第一个示例

    写在前面 <重构:改善既有代码的设计>是一本经典的软件工程必读书籍.作者马丁·福勒强调重构技术是以微小的步伐修改程序. 但是,从国内的情况来而论,"重构"的概念表里分离 ...

  2. 如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (三)

    修改数据结构   基本的 API 已经定义好了,现在是个修改 Person 对象结构的好时机.只要修改 Person 结构体,数据库和 API 都会自动做出相应的修改.   我要做的是在 Person ...

  3. ImageMagick实现图片加水印(ImageMagick6.9.10)

    一,ImageMagick的安装 请参见: https://www.cnblogs.com/architectforest/p/12807514.html 说明:刘宏缔的架构森林是一个专注架构的博客, ...

  4. 使用Sparse Checkout 排除跟踪Git仓库中指定的目录或文件

    应用场景 在一个大工程里包含由不同部门开发的模块时,项目的Git仓库肯定很大,造成每次Git操作相对比较耗时.因为开发人员一般只关心他们部门的模块的代码,所以完全可以排除一些他完全不需要用到的目录.这 ...

  5. c++ qsort的使用

    c++ qsort的使用 qsort函数定义在头文件algorithm中,使用时需要include该头文件 void qsort (void* base, size_t num, size_t siz ...

  6. 执行java -jar filename.jar提示没有主清单属性

    <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...

  7. APP打开(三)—激活率提升20%的思考

    激活是APP拉新后的一个重要环节.通常,我们希望用户打开我们的APP之后,能够顺利的被激活,从而留下来成为我们的忠实用户. 激活一词,就跟北斗星指标一样,对每个产品来说都是不一样的.有些APP一旦打开 ...

  8. openspiel 随笔 05.05

    现阶段的任务是向openspiel 中添加e一个自己的游戏 上次已经将大体的逻辑写完了,但运行时出了问题.state 为空. Incorrect number of characters in str ...

  9. templatedcodegenerator 简单模板化代码生成器

    传送门:https://github.com/uniqss/templatedcodegenerator templatedcodegenerator code generator with spec ...

  10. Jmeter——ForEach Controller&Loop Controller

    今天来分享下Jmeter中的2款循环控制器,ForEach Controller和Loop Controller,在使用上还是有所区别. ForEach Controller ForEach Cont ...