一、綜述
按照我的學習過程來說,我必須知道我進行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互通
開啟bwapp的ldap注入選項,輸入類似下圖的內容:
以上是如何進行bee-box LDAP注入的環境配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!