Эта серия публикаций поможет вам настроить собственный сервер управления и контроля (C2), в частности, с использованием фреймворка Havoc C2 Framework. Прежде чем углубляться в технические аспекты, давайте сначала разберёмся, что такое C2-сервер в контексте киберопераций.
Сервер управления и контроля (C2) является неотъемлемым элементом современных кибератак, предоставляя злоумышленникам механизм для поддержания связи с зараженными устройствами после заражения.
Архитектура C2 может быть реализована несколькими способами , включая , помимо прочего :
Защитные меры противодействия действиям C2 многогранны и включают в себя:
После введения в курс дела, давайте приступим к делу и установим наш первый собственный сервер управления и контроля. Для этого нам нужно открыть терминал в нашем дистрибутиве Kali Linux:
Шаг 1. git-клон https://github.com/HavocFramework/Havoc.git
и если все пойдет хорошо, вы должны увидеть следующее:
Теперь, если вы выполните команду ls, вы сможете увидеть каталоги, которые показаны на изображении ниже, а затем выполните cd Havoc:
Шаг 2. Теперь вы находитесь в каталоге Havoc и там вам нужно выполнить следующее:
sudo apt install -y git build-essential apt-utils cmake libfontconfig1 libglu1-mesa-dev libgtest-dev libspdlog-dev libboost-all-dev libncurses5-dev libgdbm-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev mesa-common-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5websockets5 libqt5websockets5-dev qtdeclarative5-dev golang-go qtbase5-dev libqt5websockets5-dev python3-dev libboost-all-dev mingw-w64 nasm
Сделав это, вы установите ряд пакетов, необходимых для правильной работы нашего сервера управления и контроля, и если все пойдет хорошо, вы должны увидеть следующее:
затем вам нужно войти в каталог teamserver, выполнив команду cd teamserver, и если вы выполните команду ls, вы должны увидеть то, что показано на рисунке ниже:
Шаг 3. Теперь вам необходимо выполнить следующее:
go mod скачать golang.org/x/sys
go mod download github.com/ugorji/go Если все пойдет хорошо, вы должны увидеть что-то похожее на то, что показано на рисунке ниже, после чего вам нужно будет выйти из этого каталога, выполнив cd ..
Шаг 4. Теперь из корневого каталога Havoc мы соберем серверную часть, выполнив:
сделать ts-build
Если все пойдет хорошо, вы должны увидеть что-то похожее на то, что показано на рисунке ниже:
Теперь нам нужно запустить teamserver, но сначала я рекомендую вам разделить экран терминала на две части с вертикальным видом. Это облегчит одновременный мониторинг и управление, что особенно полезно при работе с командными серверами, как мы это делаем здесь.
Выполните следующее:
./хавок
после этого вы должны увидеть что-то вроде этого:
Шаг 5. Теперь у нас есть разделенный вид, поэтому на левом экране у нас запущен TeamServer, а на правом экране давайте создадим клиентскую часть, выполнив следующее:
компакт-диск Havoc
сделать клиентскую сборку
после этого запустим клиент так же, как мы это делали с сервером:
./havoc клиент
после этого процесса вы должны увидеть такой экран:
Теперь, чтобы заполнить эту подсказку, вам нужно выполнить следующий шаг:
Шаг 6. Откройте новый терминал и выполните следующие команды.
1. CD Havoc
2. лс
3. данные компакт-диска
4. лс
5. коврик для мыши havoc.yaotl
и то, что вы увидите, — это фактический профиль C2, и вам понадобятся данные, которые есть в этом файле, чтобы заполнить последнее приглашение, которое мы получили на шаге 5 , и то, что вы фактически будете использовать, — это следующее:
Теперь вы можете закрыть коврик для мыши, а затем перейти в терминал и получить IP-адрес вашей виртуальной машины с
помощью команды ifconfig.
Теперь используйте всю имеющуюся у вас информацию для заполнения приглашения, как показано на рисунке ниже. Вы можете выбрать желаемое имя. Я выбрал Демона.
Теперь нажмите кнопку «Подключиться» , и все будет готово. Последний экран, который вы увидите, показан ниже. Если вы смотрите на это, значит, теперь вы управляете своим собственным сервером C2.
В следующий раз мы научим вас, как управлять и контролировать машину-жертву с помощью вашего C2.
Сервер управления и контроля (C2) является неотъемлемым элементом современных кибератак, предоставляя злоумышленникам механизм для поддержания связи с зараженными устройствами после заражения.
Архитектура C2 может быть реализована несколькими способами , включая , помимо прочего :
- Развертывание трояна удаленного доступа (RAT) для установки бэкдора на устройстве жертвы, что позволяет осуществлять удаленное управление.
- Использование выделенного сервера управления и контроля, которым управляет злоумышленник, для передачи команд на скомпрометированные устройства.
- Использование ботнета — сети скомпрометированных устройств — для выполнения скоординированных вредоносных действий — от атак типа «распределенный отказ в обслуживании» (DDoS) до распространения вредоносного ПО.
Защитные меры противодействия действиям C2 многогранны и включают в себя:
- Внедрение межсетевых экранов и систем обнаружения и предотвращения вторжений (IDS/IPS) для фильтрации и блокирования вредоносного трафика.
- Использование антивирусных решений для выявления и устранения вредоносных компонентов.
- Регулярное обновление программного обеспечения с помощью последних исправлений безопасности для устранения известных уязвимостей.
- Проведение обучения по вопросам кибербезопасности для персонала с целью соблюдения передовых практик.
После введения в курс дела, давайте приступим к делу и установим наш первый собственный сервер управления и контроля. Для этого нам нужно открыть терминал в нашем дистрибутиве Kali Linux:
Шаг 1. git-клон https://github.com/HavocFramework/Havoc.git
и если все пойдет хорошо, вы должны увидеть следующее:
Теперь, если вы выполните команду ls, вы сможете увидеть каталоги, которые показаны на изображении ниже, а затем выполните cd Havoc:
Шаг 2. Теперь вы находитесь в каталоге Havoc и там вам нужно выполнить следующее:
sudo apt install -y git build-essential apt-utils cmake libfontconfig1 libglu1-mesa-dev libgtest-dev libspdlog-dev libboost-all-dev libncurses5-dev libgdbm-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev mesa-common-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5websockets5 libqt5websockets5-dev qtdeclarative5-dev golang-go qtbase5-dev libqt5websockets5-dev python3-dev libboost-all-dev mingw-w64 nasm
Сделав это, вы установите ряд пакетов, необходимых для правильной работы нашего сервера управления и контроля, и если все пойдет хорошо, вы должны увидеть следующее:
затем вам нужно войти в каталог teamserver, выполнив команду cd teamserver, и если вы выполните команду ls, вы должны увидеть то, что показано на рисунке ниже:
Шаг 3. Теперь вам необходимо выполнить следующее:
go mod скачать golang.org/x/sys
go mod download github.com/ugorji/go Если все пойдет хорошо, вы должны увидеть что-то похожее на то, что показано на рисунке ниже, после чего вам нужно будет выйти из этого каталога, выполнив cd ..
Шаг 4. Теперь из корневого каталога Havoc мы соберем серверную часть, выполнив:
сделать ts-build
Если все пойдет хорошо, вы должны увидеть что-то похожее на то, что показано на рисунке ниже:
Теперь нам нужно запустить teamserver, но сначала я рекомендую вам разделить экран терминала на две части с вертикальным видом. Это облегчит одновременный мониторинг и управление, что особенно полезно при работе с командными серверами, как мы это делаем здесь.
Выполните следующее:
./хавок
после этого вы должны увидеть что-то вроде этого:
Шаг 5. Теперь у нас есть разделенный вид, поэтому на левом экране у нас запущен TeamServer, а на правом экране давайте создадим клиентскую часть, выполнив следующее:
компакт-диск Havoc
сделать клиентскую сборку
после этого запустим клиент так же, как мы это делали с сервером:
./havoc клиент
Теперь, чтобы заполнить эту подсказку, вам нужно выполнить следующий шаг:
Шаг 6. Откройте новый терминал и выполните следующие команды.
1. CD Havoc
2. лс
3. данные компакт-диска
4. лс
5. коврик для мыши havoc.yaotl
и то, что вы увидите, — это фактический профиль C2, и вам понадобятся данные, которые есть в этом файле, чтобы заполнить последнее приглашение, которое мы получили на шаге 5 , и то, что вы фактически будете использовать, — это следующее:
- Порт: 40056
- Пользователь: Нео
- Пароль: пароль1234
Теперь вы можете закрыть коврик для мыши, а затем перейти в терминал и получить IP-адрес вашей виртуальной машины с
помощью команды ifconfig.
Теперь используйте всю имеющуюся у вас информацию для заполнения приглашения, как показано на рисунке ниже. Вы можете выбрать желаемое имя. Я выбрал Демона.
Теперь нажмите кнопку «Подключиться» , и все будет готово. Последний экран, который вы увидите, показан ниже. Если вы смотрите на это, значит, теперь вы управляете своим собственным сервером C2.
В следующий раз мы научим вас, как управлять и контролировать машину-жертву с помощью вашего C2.