Добро пожаловать обратно, мои начинающие кибервоины!
Одной из самых недооценённых областей операционной системы Linux является система журналирования. Если вы системный администратор или инженер по безопасности, именно здесь хранится вся информация, необходимая для выявления проблем в вашей операционной системе, включая информацию о том, кто, что и почему совершил вторжение. Если вы тестировщик на проникновение или хакер, именно здесь хранятся доказательства вашего вторжения. Поскольку лучший взлом — это тот, о котором никто не знает, крайне важно удалить все следы вашего присутствия из файлов журналов. Для этого сначала необходимо разобраться в системе журналирования. С внедрением systemd в большинстве дистрибутивов Linux система журналирования изменилась с syslog. В большинстве случаев Linux использует journalctl для управления системными журналами.
target> journalctl -q –since «24 часа назад»
Эта команда незаметно извлекает журналы за последние 24 часа. Флаг -q подавляет информационные сообщения, уменьшая шум и потенциальные следы вашей активности.
target> journalctl _UID=1000 –since «24 часа назад»
Это показывает, что пользователь «air» (UID 1000) активно использовал систему и несколько раз использовал «sudo».
цель> журналctl -u apache2 -o json-pretty
Вывод JSON позволяет быстро анализировать журналы.
target> journalctl -k –since «24 часа назад»
цель> журналctl -f -p err..emerg
Это позволяет вам отслеживать любые высокоприоритетные сообщения об ошибках, которые может вызвать ваш эксплойт.
цель> журналctl –вакуум-время=2d
Это приведет к удалению журналов старше двух дней, что потенциально уничтожит доказательства вашего первоначального доступа, но при этом будет выглядеть менее подозрительно, чем целенаправленное удаление журналов.
target> journalctl -f -u your-fake-service
Это позволяет вам убедиться, что ваш механизм настойчивости функционирует, не поднимая тревоги.
цель> журналctl -f | grep -E '<IP>|corpApp'
Это помогает вам понять обычные схемы связи между взломанным сервером и базой данных, что позволяет вам рассчитать время для попыток бокового перемещения, чтобы они слились с обычным трафиком.
Как и в случае со всеми инструментами из вашего хакерского арсенала, ключ к эффективному использованию journalctl кроется в понимании его возможностей и ограничений. Используйте его с умом для улучшения своих операций, но всегда помните о следах, которые вы можете оставить.
Одной из самых недооценённых областей операционной системы Linux является система журналирования. Если вы системный администратор или инженер по безопасности, именно здесь хранится вся информация, необходимая для выявления проблем в вашей операционной системе, включая информацию о том, кто, что и почему совершил вторжение. Если вы тестировщик на проникновение или хакер, именно здесь хранятся доказательства вашего вторжения. Поскольку лучший взлом — это тот, о котором никто не знает, крайне важно удалить все следы вашего присутствия из файлов журналов. Для этого сначала необходимо разобраться в системе журналирования. С внедрением systemd в большинстве дистрибутивов Linux система журналирования изменилась с syslog. В большинстве случаев Linux использует journalctl для управления системными журналами.
Journalctl: Руководство хакера по ведению журнала в Linux
Для кибервоина понимание и управление системными журналами — критически важный навык в вашем арсенале. В современных Linux-системах journalctl выделяется как мощный инструмент централизованного управления журналами. В этой статье мы подробно рассмотрим тонкости journalctl и его потенциал с точки зрения наступательной безопасности. Мы расскажем, как эффективно использовать его, его сильные и слабые стороны, а также как он может повлиять на действия вашего кибервоина/команды Red Team.Что такое journalctl?
journalctl — это инструмент для создания запросов к журналу systemd, централизованной системе журналирования во многих современных дистрибутивах Linux. Он собирает и хранит данные журналов из различных источников, включая ядро, системные службы и приложения.Преимущества journalctl:
- Централизованный доступ к журналам: journalctl предоставляет единую точку доступа практически ко всем системным журналам. Такая централизация может быть палкой о двух концах для злоумышленника. С одной стороны, это упрощает анализ и манипулирование журналами. С другой стороны, это означает необходимость быть особенно бдительным, чтобы не оставить следов.
- Мощные возможности фильтрации: journalctl предлагает обширные возможности фильтрации, позволяющие быстро находить нужную информацию. Это бесценно при анализе поведения системы или заметании следов.
- Мониторинг в реальном времени: возможность просматривать журналы в реальном времени может обеспечить немедленную обратную связь по вашим действиям, позволяя вам оперативно корректировать тактику.
- Структурированные данные: journalctl может выводить журналы в различных форматах, включая JSON, что значительно упрощает программный анализ.
- Анализ, специфичный для загрузки: вы можете легко изолировать журналы от конкретных загрузок системы, что имеет решающее значение для понимания изменений в системе после перезагрузки или при анализе влияния ваших механизмов сохранения.
Недостатки journalctl:
- Расширенное протоколирование: комплексный характер journald означает, что может быть зафиксировано больше ваших действий по сравнению с традиционными системами syslog.
- Защита от несанкционированного доступа: journald использует криптографическую герметизацию файлов журналов, что затрудняет прямое несанкционированное вмешательство и делает его потенциально более обнаруживаемым.
- Удаленное ведение журналов: многие системы настроены на пересылку журналов journald на удаленные серверы, что может усложнить работу с журналами.
- Использование ресурсов: в некоторых случаях обширное ведение журнала может повлиять на производительность системы, потенциально делая ваше присутствие более заметным.
Сценарий использования Journalctl
Представьте, что вы кибервоин, взламывающий внутреннюю сеть крупной корпорации. Вы успешно получили начальный доступ к серверу Linux через уязвимое веб-приложение. Ваша цель — повысить привилегии, собрать разведывательную информацию и, возможно, перейти на другие системы, избегая обнаружения.Шаг 1: Первоначальная разведка
Получив доступ к взломанному серверу, одним из первых шагов будет использование journalctl для сбора системной информации:target> journalctl -q –since «24 часа назад»
Эта команда незаметно извлекает журналы за последние 24 часа. Флаг -q подавляет информационные сообщения, уменьшая шум и потенциальные следы вашей активности.
Шаг 2: Исследование действий пользователей
Чтобы понять недавние действия пользователя, выполните:target> journalctl _UID=1000 –since «24 часа назад»
Это показывает, что пользователь «air» (UID 1000) активно использовал систему и несколько раз использовал «sudo».
Шаг 3: Проверка поведения обслуживания
Например, вы можете исследовать службу веб-сервера Apache и отправлять вывод в формате json-pretty (более удобном для восприятия человеком):цель> журналctl -u apache2 -o json-pretty
Вывод JSON позволяет быстро анализировать журналы.
Шаг 4: Анализ на уровне ядра
Чтобы проверить наличие необычной активности ядра:target> journalctl -k –since «24 часа назад»
Шаг 5: Попытка повышения привилегий
Судя по наблюдаемым моделям использования sudo, вы можете попытаться использовать эксплойт для повышения привилегий. Чтобы отслеживать его последствия в режиме реального времени:цель> журналctl -f -p err..emerg
Это позволяет вам отслеживать любые высокоприоритетные сообщения об ошибках, которые может вызвать ваш эксплойт.
Шаг 6: Заметание следов
После успешного повышения привилегий необходимо удалить следы своей деятельности. Вместо удаления журналов (которые могут насторожить специалистов по безопасности) используйте:цель> журналctl –вакуум-время=2d
Это приведет к удалению журналов старше двух дней, что потенциально уничтожит доказательства вашего первоначального доступа, но при этом будет выглядеть менее подозрительно, чем целенаправленное удаление журналов.
Шаг 7: Механизм персистенции
Для обеспечения персистентности вы создаёте службу systemd, маскирующуюся под легитимный процесс журналирования. Вы отслеживаете её поведение с помощью:target> journalctl -f -u your-fake-service
Это позволяет вам убедиться, что ваш механизм настойчивости функционирует, не поднимая тревоги.
Шаг 8: Боковое движение
Например, готовясь к переходу на сервер базы данных, вы можете настроить постоянный мониторинг:цель> журналctl -f | grep -E '<IP>|corpApp'
Это помогает вам понять обычные схемы связи между взломанным сервером и базой данных, что позволяет вам рассчитать время для попыток бокового перемещения, чтобы они слились с обычным трафиком.
Использование и анализ:
- Скрытность: на протяжении всей операции используется опция «-q» для подавления дополнительного вывода journalctl, что снижает вероятность оповещения системных администраторов о необычной активности запросов к журналам.
- Анализ услуг: изучение конкретных услуг, таких как «corpApp», дает ценную информацию об архитектуре целевой среды и потенциальных опорных точках.
- Мониторинг в реальном времени: опция «-f» имеет решающее значение для обеспечения немедленной обратной связи по вашим действиям, что позволяет быстро корректировать тактику при появлении непредвиденных журналов.
- Манипулирование журналами: вместо грубого удаления журналов использование параметра «–vacuum-time» больше похоже на плановое обслуживание системы, что снижает подозрения.
- Аналитика бокового перемещения: отслеживая журналы, связанные с межсерверным взаимодействием, вы можете лучше имитировать законные шаблоны трафика во время попыток переключения.
Краткое содержание
journalctl — мощный инструмент, создающий как возможности, так и трудности для кибератак. Его централизованная структура и мощные возможности запросов делают его бесценным ресурсом для сбора системной информации и обработки журналов. Однако его комплексное ведение журналов и возможность удалённой пересылки также повышают риск обнаружения.Как и в случае со всеми инструментами из вашего хакерского арсенала, ключ к эффективному использованию journalctl кроется в понимании его возможностей и ограничений. Используйте его с умом для улучшения своих операций, но всегда помните о следах, которые вы можете оставить.