• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

Lotus и Log4j

  • Автор темы Автор темы Borz
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
B

Borz

Что есть:
1) клиент Lotus Notes 8.5.1
2) положенный log4j и commons-logging в каталог клиента
3) "пустой" Java-агент

код в агенте очень простой:

Код:
public class JavaAgent extends AgentBase {
protected Logger LOG = Logger.getLogger(getClass());

public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
LOG.info("test");
....

сам log4j.properties приложен к агенту как ресурс
Код:
log4j.rootLogger=DEBUG,stdout,file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p,%d{dd MMM yyyy HH:mm:ss,SSS},[%c],%m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.file=test.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n

собственно, на консоли вывода нету (которая Java Debug Console), в файле console.log нет и самого файла test.log тоже не удаётся найти :)
 
похоже, что ресурсы из агента не попадают в classpath...
можно явно сконфигурить логер через PropertyConfigurator:<!--shcode--><pre><code class='java'> public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();

Properties log4jProperties = new Properties();
InputStream in = getClass().getClassLoader().getResourceAsStream("log4j.properties");
log4jProperties.load(in);
PropertyConfigurator.configure(log4jProperties);

Logger logger = Logger.getLogger(getClass());
logger.error( "bugaga");


} catch(Exception e) {
e.printStackTrace();
}
}[/CODE]
 


+ база с примером
 
Последнее редактирование:
  • Нравится
Реакции: lmike
@garrick
вот скажите мне, в чем его прикол? ну подключу в java, ну может через ls2j.
Но пишет то он куда? в Лог сервера? Отлично... Там много всего пишется.
В отдельный файл? отлично... на фс сервера, значит доступа может не быть к нему и надо дергать админа.
мне в этом отношении больше openLog нравится, он хотя бы в базу пишет, можно посмотреть из клиента.
Может я прикола не понимаю, никогда не использовал, может и есть смысл...
 
Последнее редактирование:
@garrick
вот скажите мне, в чем его прикол? ну подключу в java, ну может через ls2j.
Но пишет то он куда? в Лог сервера? Отлично... Там много всего пишется.
В отдельный файл? отлично... на фс сервера, значит доступа может не быть к нему и надо дергать админа.
мне в этом отношении больше openLog нравится, он хотя бы в базу пишет, можно посмотреть из клиента.
Может я прикола не понимаю, никогда не использовал, может и есть смысл...
Пишет как и OpenLog в отдельную базу/базы, но только документы в этой базе выглядят также как и в стандартной LOG.NSF, формат вывода сообщений настраивается через стандартные настройки LOG4J. Настройки, в том числе и уровни логирования можно менять "на лету".
И, да, по LotusScript не заточено, только если через LS2J.
 
Последнее редактирование:
т.е. запускается сервлет двумя методами...
смущает жвм 1.3
Оно ж древнее, фиг знает какое... Последний раз обновлялось, по-моему, в 2013-м году. Ещё под Notes 6.5 разрабатывалось.

Разработчик Domino использует стандартный LOG4J, а аппендер перенаправляет вывод логера в лотусовую базу. Можно настроить и в файл - стандартные функции LOG4J это не отменяет.

Например, наша техподдержка очень страдает, что их Kibana не может разобрать наш лотусовый лог, а внедрение этого сильно облегчило бы им жизнь.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD