学习

Windows 2000 AD是默认允许匿名LDAP访问的,但是Windows 2003 AD默认不允许。

要使得Windows Server 2003也象2000一样允许匿名LDAP连接,则必须修改DsHeuristics属性。该属性可以有2种值,0说明不允许,0000002为允许。默认情况下未设置值,隐含义为默认值0。我们可以手工更改为0000002 (必须有6个前导0)。该属性的Path如下:

CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,Root domain in forest

DsHeuristics属性修改后会在AD复制时复制到森林中所有的域控制器,而无需重启Windows。在Windows 2003森林中的Windows 2000 DC不支持这个属性。

用edsiedit.msc可以修改该值。(注:必须在根域修改,必须具有Enterprise Admin的权限)

打开edsiedit.msc,右键点击这里CN=Directory Service, 点Properties

脚本

#!/usr/bin/env python
# encoding: utf-8
# http://ldap3.readthedocs.io/tutorial.html#accessing-an-ldap-server
import ldap3
from fileutils import FileUtils
import os
from ldap3 import Connectiondef verify(host):try:print hostserver = ldap3.Server(host, get_info=ldap3.ALL, connect_timeout=30)conn = ldap3.Connection(server, auto_bind=True)#print server if len(server.info.naming_contexts) > 0:for _ in server.info.naming_contexts:if conn.search(_, '(objectClass=inetOrgPerson)'):naming_contexts = _.encode('utf8')#print naming_contextsprint host + ': ' + naming_contextsexcept Exception, e:pass#print eif __name__ == '__main__':for host in FileUtils.getLines('ldap.lst'):verify(host)

测试截图:

批量:
公司的一个渗透测试项目中发现使用了LDAP服务(389)做为用户认证的后台数据库,写了一个ldap匿名访问批量检测脚本 ldap2018.py:

#!/usr/bin/env python
# encoding: utf-8
# [url]http://ldap3.readthedocs.io/tutorial.html#accessing-an-ldap-server[/url]
import ldap3,os,sys,codecs
from exceptions import Exceptionreload(sys)
sys.setdefaultencoding('gbk')
IpFile=file('./ldap1.txt') #IP列表
fp= codecs.open("./ldap1_success.txt","a") #成功利用后写入的文件,支持写入中文字符的方式
timeout=10def check(host,port):try:print "[*]%s:%d" %(host,port)info=''server = ldap3.Server(host,port, get_info=ldap3.ALL, connect_timeout=timeout)conn = ldap3.Connection(server, auto_bind=True)print "[*]server=%s" %server #print "[*]conn=%s" %conn'''if len(server.info.naming_contexts) > 0:print "[*]server.info.naming_contexts=%s" %(server.info.naming_contexts)for i in server.info.naming_contexts:if "o=services" in i:naming_contexts = i.encode('utf8')info += u'%s:%d //存在ldap匿名访问漏洞:\n' %(host,port)print info+'\n'fp.write(info)fp.flush()'''if len(server.info.naming_contexts) > 0:#print conn.resultinfo += u'%s:%d //存在ldap匿名访问漏洞:\n' %(host,port)print info+'\n'fp.write(info)fp.flush() else:info += u'%s:%d //不存在ldap匿名访问漏洞:\n' %(host,port)print info+'\n'except Exception, e:print "Exception:%s\n" %epassif __name__ == '__main__':ip_list = []print u'''----------------------------------------------------------------------------------------程序名称:ldap匿名访问检测脚本 ldap2018.py程序作者:pt007@vip.sina.com程序用法:\tldap1.txt里面设置需要扫描的IP地址,如:10.110.123.30:389 回车后输入下一个IP地址!\tpython ldap2018.py-----------------------------------------------------------------------------------------\n'''ip_list=[]print "[*]ldap ip list:",while True:line = IpFile.readline()if len(line) == 0: # Zero length indicates EOFbreak#exit()             line=line.strip()print line,ip_list.append(line)IpFile.close()print "\n"for i in ip_list:host,port=i.split(":")check(host,int(port))fp.close()print "[*]Test done,please type ldap1_success.txt!\n"

ldap匿名访问学习(附脚本)相关推荐

  1. ldap禁止匿名访问

    安装配置 Linux:https://www.cnblogs.com/lemon-le/p/6266921.html Windows: https://www.cnblogs.com/myf008/p ...

  2. SharePoint学习札记[5] — 设置匿名访问

    设置网站的匿名访问一般有三种情况: 1. 创建Web应用程序时进行匿名访问设置. 2. 对已建立的网站进行匿名访问设置. 3. 对同一个网站分别设置验证访问和匿名访问. 创建Web应用程序时进行匿名访 ...

  3. openldap 匿名访问

    一.openldap默认允许匿名访问 1.使用LDAP Admin客户端测试匿名用户测试 2.匿名用户能登录,有查看组织架构的权限.从安全的角度考虑,这种情况是不被允许的 二.openldap禁止匿名 ...

  4. ftp邮箱里的文件无法连接服务器地址,匿名访问ftp服务器 电子邮件地址

    匿名访问ftp服务器 电子邮件地址 内容精选 换一换 如果你正在运行Confluence6.8或者后续版本,邀请你的小组开始使用Confluence服务器的移动应用,可以使用下面的方法.访问Confl ...

  5. Unity 3D学习视觉脚本无需编码即可创建高级游戏

    在本课程中,您将学习如何在Unity中使用可视化脚本(以前称为Bolt)以及如何在不编写一行代码的情况下创建自己的高级游戏所需的一切.本课程将教你如何掌握可视化脚本,即使你以前没有任何关于unity或 ...

  6. vsftp匿名访问目录_vsftp 匿名访问设置设置

    vsftpd (very secure ftpd),这软件在权限管理什么的也太安全了点,一点小细节出问题也会出现访问不了的问题.只是想架个ftp局域网传文件,一些博客里小细节和背后设计没有提到,踩了一 ...

  7. SharePoint Application Page启用匿名访问

    现在的项目需要使用sharepoint application page来展示图片影像,并让其它应用系统匿名访问,经过一番认真研究,主要有下面的步骤: 1. 在web applicaiton leve ...

  8. 微软BI 之SSRS 系列 - 报表邮件订阅中 SMTP 服务器匿名访问与 Windows验证, 以及如何成功订阅报表的实例...

    这篇文章源于在上一篇博文中有园友提出订阅 SSRS 报表时的一个问题,  于是就好好总结了一下,把有关 SSRS 报表订阅的要点和容易出现问题的地方写出来,希望对大家有所帮助! 参看上一篇博文 - S ...

  9. 快速提高CSDN访问量 - 附脚本初代机

    快速提高CSDN访问量的方法 多写常用知识点的博客,想办法提高百度排名,注意标题不要写的太复杂 写国内比较新的技术,中短期奇效,效果很好 成系列的写技术文章,有利于增加评论,粉丝,中长期能够大幅度提高 ...

最新文章

  1. 驱动07.USB驱动程序
  2. 写出我的第一个框架:迷你版Spring MVC
  3. python selenium 文件上传_Python+Selenium学习--上传文件
  4. CacheHelper
  5. 递归遍历所有文件夹名称
  6. Font Awesome-一款吊炸天的字体图标插件中文全介绍
  7. 【杂谈】如何在言有三本人的随时答疑下, 长期而系统地学习深度学习和计算机视觉,这是有三AI的完整计划...
  8. C#事件(Event)的理解
  9. C 怎么读取Cpp文件_opencv从yaml文件中读取矩阵(c++)
  10. springboot 多数据源 读写分离 AOP方式
  11. ssh scp不用输入密码
  12. python 协程 多线程_python进阶之多线程(简单介绍协程)
  13. 创建线程的3种方式,线程池的参数详解
  14. android adb进入recovery模式,adb 进入 recovery adb 进入 bootloader
  15. crmeb多商户二开crmeb类库二开文档services服务类【5】
  16. 一款校园社区APP,功能策划详解
  17. Win11系统怎么关闭hyper-v虚拟机?
  18. NYOJ_1275 导弹发射 【LIS】
  19. java libjli.so_解决setcap导致Java加载libjli.so 失败问题
  20. 树莓派家用NAS解决方案

热门文章

  1. a7100换电池_三星A7100拆机更换屏幕教程方法
  2. 读书与不读书的人,究竟有什么区别?
  3. 软考-2021年上半年中级软件设计师备考经验分享(已过!)
  4. java迭代法求圆周率用梯形_java第二阶段作业总结
  5. html5绘制运动的图形,html5 canvas高级贝塞尔曲线运动动画
  6. HTML空格占位符汇总
  7. 再陷抄袭风波 “快点阅读”成侵权黑洞
  8. SpringClound——Feign
  9. 计算机无法开机是键盘的问题,电脑维修:电脑键盘损坏导致不能使用及无法正常开机...
  10. Windows上PowerShell默认禁止运行 *.ps1 脚本原因与解决方法