一、综述
按照我的学习过程来说,我必须知道我进行web攻击的这个模型和漏洞的原理是什么,现在我就碰到个冷门,最初见到LDAP时是某次在某国企的渗透测试中发现一个冷门(经过授权的),激起了我对它的兴趣。
LDAP的概念:
全称:轻量级目录访问协议(Lightweight Directory AccessProtocolt),特点:协议什么的就不说了,太深奥,可以把它理解为一种存储数据的数据库,它的特殊在于它是一种树状的数据库,首先这个数据库的名字相当于树根(即DB = dc),然后从树根到某个叶子节点过程所经过的所有节点叫做分叉(ou),最后到达所要找的这个叶子节点(uid)。如下图所示:
再具体点,对每个节点进行命名重新走一遍这个图,dc= root,分叉1 ou = database,分叉2 ou= mysql,叶子节点uid = user。
然后用语言描述就是:dn:cn =user,ou = database,ou = mysql,dc = root
dn标识一条记录,描述了一条数据的详细路径,被称为“基准DN”,通过这条记录,可以方便快捷的找到一个叶子节点。从图上看,LDAP可以很明显的进行节点的区域划分,即该节点的父节点是什么,子节点是什么,引申到现实应用中就是该部门的上级部门是什么,该部门的员工有谁,如果企业内部使用,可以很清晰的描述每个员工属于哪个位置。
先看一个服务器段配置的案例:
假设一个的公司名字叫做bwapp,管理这个公司的CEO叫做admin。
现在CEO要为公司的增加一个新部门,叫安全部(anquanbu),安全部下面有安服部门(anfu),安服部门下面又划分为渗透测试(shentou)和应急响应(yingji)两个小组,然后小亮(xiaoliang)在渗透组里,小明(xiaoming)在应急组里。
配置好的目录结构如下图所示
首先找一个比较容易配置的LDAP架构,这里推荐OpenLDAP+phpLDAPadmin。
步骤如下:
首先输入以下两条安装命令:
sudo apt-getupdate
sudo apt-getinstall slapd ldap-utils
在安装过程中,将要求你选择并确认LDAP的管理员密码
sudodpkg-reconfigure slapd
这条命令需要配置一些ldap的东西,以下是中英文对照以及截图
1、 省略了OpenLDAP服务器配置? 没有
2、 DNS域名?
此选项将确定目录路径的基本结构。 阅读消息以了解这将如何实现。 即使您不拥有实际的网域,您也可以选择所需的任何值。但是,本教程假设您具有适当的服务器域名,因此您应该使用它。 此处为了bwapp靶场,设置为bwapp.local
3、 机构名称?
我们使用bwapp
4、 管理员密码?输入两次安全密码
5、数据库后端?HDB
5、 清除slapd时删除数据库? 没有
6、 移动旧数据库?是
7、 允许LDAPv2协议? 没有
此时初始配置已完毕,打开防火墙上的LDAP端口,以便外部客户端可以连接:
sudo ufw allow ldap
测试与ldapwhoami的LDAP连接是否成功,该连接应该返回我们连接的用户名:
ldapwhoami -H ldap:// -x
从主机访问虚拟机的phpLDAPadmin
https://虚拟机IP /phpldapadmin/
输入密码进行登录。
登录成功
那么在服务器上的配置如下
以下配置都是利用Google翻译插件翻译的中文。
首先创建安全部:
选中组织单位
创建该对象
接着创建安全部的子部门安服(anfu)
创建子条目
步骤同上
创建成功
再在安服下面创建渗透(shentou)和应急(yingji)
步骤同上
分别给渗透(shentou)和应急(yingji)创建员工李小亮(xiaoliang)和王小明(xiaoming)
创建人员步骤如下,以上都是创建机构部门的步骤
首先在渗透组下创建用户账号xiaoliang
phpMyAdmin创建用户需要先创建一个用户组,如果没有这个用户组是没有办法进行创建用户的,创建用户组的过程如下:
创建子条目
创建用户组
接着在该用户组下创建用户
创建成功,但是需要给用户输姓就很烦,那么你在创建用户之后需要对用户进行重命名。
重命名步骤如下
左侧点击用户名,右侧点击rename
修改成功
打开bwapp的ldap注入选项,输入类似于下图的内容:
如果连接成功,将返回如下界面
注意:如果创建了ldap账户的话,登录的格式一定是这样的:
cn=xiaoliang,cn=user,ou=shentou,ou=anfu,ou=anquanbu,dc=bwapp,dc=local
然后去登录
以上是如何进行bee-box LDAP注入的环境配置的详细内容。更多信息请关注PHP中文网其他相关文章!