• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья LDAP и инструменты

Azrv3l

win32kfull
Эксперт
Регистрация
30.03.2019
Сообщения
215
Реакции
539
Содержание статьи:
  • Ликбез по LDAP
    • Общая информация
    • Информационная модель
    • Аутентификация
    • Запросы
    • Источники
  • Инструменты работы с LDAP
    • ldapsearch
      • Установка
      • Формат
    • JXplorer
      • Установка
      • Прочее
  • Вместо заключения
При атаке на домен, часто приходится иметь дело с протоколом LDAP, его мы сегодня и разберём.
Если вам не интересно как работает LDAP и вам нужны только инструметы, то можете пропустить этот раздел и сразу перейти к инструментам.
Новичкам же которые не представляют себе что вообще за LDAP такой, прошу под кат.

Дискеймер:
Автор не далеко не мастер работы с LDAP, и не претендует. Статья расчитана на новичков, которые вчера услышали про LDAP.
Ну или для тех кто не определился с инструментом. Вообщем поехали.

Ликбез по LDAP
Как гласит вики:
Код:
LDAP (англ. Lightweight Directory Access Protocol — «легковесный протокол доступа к каталогам») — протокол прикладного уровня для доступа к службе каталогов X.500,
разработанный IETF как облегчённый вариант разработанного ITU-T протокола DAP.


Общая информация:
Если говорить языком по проще, то:
Код:
LDAP — это всего лишь протокол, определяющий методы, посредством которых осуществляется доступ к данным каталога. Он также определяет и описывает,
как данные представлены в службе каталогов (Модель данных или Информационная модель).
Наконец, он определяет, каким образом данные загружаются (импортируются) и выгружаются (экспортируются) из службы каталогов (с использованием LDIF).

Кроме того:
Код:
LDAP не определяет, как происходит хранение и манипулирование данными. С точки зрения стандарта хранилище данных и методы доступа к нему — это "чёрный ящик",
за который, как правило, отвечают модули back-end

LDAP определяет четыре модели:
  • Информационная модель: модель данных (или информационная модель) определяет, каким образом информация или данные представлены в системе LDAP. Это может совпадать или не совпадать с фактическим методом представления данных в хранилище на физическом носителе. Как упоминалось выше, вопрос хранилищ данных лежит за пределами стандартов LDAP.
  • Модель именования: определяет все вещи наподобие 'dc=example,dc=com', с которыми Вы сталкиваетесь в системах LDAP.
  • Функциональная модель: при чтении, поиске, записи или модификации LDAP Вы используете функциональную модель — кто бы мог подумать!
  • Модель безопасности: эта модель также включает в себя защиту данных при передаче по сети, такую как TLS/SSL.

ldap-stds-1.png

Картинка схематично описывает вышесказанное


Информационная модель:
В LDAP-системе данные представлены как иерархия объектов, каждый из которых называется записью. Верхнюю часть данного дерева обычно называют корнем (root), (а также базой (base) или суффиксом (suffix)).

У каждой записи есть одна родительская запись (объект) и ноль или более дочерних записей (объектов).

Каждая запись состоит из (является экземпляром) одного или нескольких объектных классов (objectClass). Объектные классы содержат ноль или более атрибутов (attribute). Атрибуты имеют имена (и, иногда, аббревиатуры или псевдонимы) и обычно содержат данные (наконец-то!).

Остальное — детали. Да, этих деталей, пожалуй, очень много. Но суть LDAP именно в этом.


ldap-dit.png

Вот схема.

Аутентификация:
В LDAP v3 есть два варианта аутентификации LDAP - простой и SASL (Simple Authentication and Security Layer):
  • Анонимная аутентификация: предоставляет клиенту анонимный статус для LDAP.
  • Аутентификация без аутентификации: только для целей регистрации, не должна предоставлять доступ клиенту.
  • Аутентификация по имени или паролю: Предоставляет доступ к серверу на основе предоставленных учетных данных
  • Аутентификация SASL: связывает сервер LDAP с другим механизмом аутентификации, таким как Kerberos.
В 2007 году Шумон Хак выпустил статью (LDAP Weaknesses as a Central Authentication System),
в которой он подробно описал проблемы испольования LDAP как системы аутентификации.


Запросы LDAP:
Запрос LDAP - это команда, которая запрашивает у службы каталогов некоторую информацию.
Как пример, вот запрос получения групп в которые входит пользователь:
Код:
(&(objectClass=user)(sAMAccountName=yourUserName)
(memberof=CN=YourGroup,OU=Users,DC=YourDomain,DC=com))


Источники:
Если хотите больше информации по деталям протокола LDAP то прошу сюда.
Информацию для этой части брал отсюда, заходите если не хватило подробностей.
Вот глава про модель безопасности, если кому-то нужно только это.

C ликбезом всё, переходим к инструментам!

Инструменты работы с LDAP:

ldapsearch:
and-operator.png

ldapsearch - это интерфейс командной строки к API ldap_search. Если утилита ldapsearch найдет одну или несколько записей, то значения указанных атрибутов этих записей будут переданы в стандартный поток вывода. Если атрибуты не указаны, то возвращаются все атрибуты.

Установка:
Ubuntu:sudo apt install ldap-utils
RedHat/CentOS:yum install openldap*
Arch:pacman -S openldap

Формат:
Код:
ldapsearch [-a преобразование] [-A] [-b база-поиска] [-B] [-c шаблон] [-C набор-символов]
[-d уровень-отладки][-D dn-подключения] [-e] [-f файл] [-F разделитель] [-G область] [-h хост-ldap]
[-i файл][-j ограничение] [-J ограничение] [-k] [-K файл-ключей]
[-l предельное-время] [-L] [-m механизм] [-M] [-n] [-N сертификат]
[-o тип-атрибута] [-O макс.-число] [-p порт-ldap] [-P пароль-файла-ключей] [-q размер-страницы]
[-R] [-s область] [-t] [-T секунд] [-U имя-пользователя] [-v] [-V версия]
[-w пароль | ?] [-x] [-y dn-прокси] [-Y] [-z ограничение-размера] [-Z]
filter [-9 p] [-9 s] [attrs…]

Полный cheetsheet по аргументам.

JXplorer:
JXplorer.png


JXplorer - бесплатный ldap браузер, с помощью которого вы сможете перемещаться по LDAP дереву и запрашивать любые атрибуты.
Инструмент для тех кому больше по душе графика, или для новичков которым пока тяжеловато лазать по LDAP серверам через консоль.

Установка:
  1. Ставим Java
  2. Качаем архив отсюда
  3. Извлекаем в /opt
  4. Далее добавляем права: chmod +x jxplorer.sh
  5. Запуск: ./opt/jxplorer/jxplorer.sh
Прочее:
У проекта есть сайт.
Проме того, он Open Source, вот их git

Вместо заключения:
Тк это моя первая авторская статья для форума, получилась она не большой.
Если есть ошибки в тексте, или материал не актуален, не стесняйтесь писать.
Не забывайте ставить реакции.

Jeleshka
@Cпециально для xss.pro
 

Вложения

  • JXplorer.png
    JXplorer.png
    42.7 КБ · Просмотры: 10
Последнее редактирование:
Небольшое дополение:
Apache Directory Studio:
apache.png

Apache Directory Studio - это полная платформа инструментов каталогов, предназначенная для использования с любым сервером LDAP,
однако она специально разработана для использования с ApacheDS. Это приложение Eclipse RCP, состоящее из нескольких подключаемых модулей Eclipse (OSGi),
которые можно легко обновить с помощью дополнительных. Эти плагины могут работать даже в самом Eclipse.

Установка
  • Скачиваем архив .tar.gz отсюда
  • Заходим в Downloads и пишем tar -xzf ApacheDirectoryStudio-X.X.X.X.x86_64.tar.gz /opt/ && cd /opt
  • Запускаем: ./ApacheDirectoryStudio
PS:
Инструмент простой и удобный, кроме того балует возможностями.
Вот User-guid, на en
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх