Введение
Среды Command & Control (C2) становятся все более распространенными и необходимыми для тестов на проникновение, красных команд и АПТ. Сочетая av/edr, утилиту управления имплантатами и файл CRUDCreate Read Update Delete, C2 значительно улучшает качество жизни операторов во время операции. Это привело к тому, что за последние 5 лет в сети появилось все больше и больше наступательных инструментов, гораздо более совершенных и способных, чем их предшественники.
Типичный консультант обнаружит, что восполнил технический пробел в C2, либо, купив готовое решение (https://www.cobaltstrike.com/blog/how-to-crack-cobalt-strike-and-backdoor-it/), либо самодельные решения, такие как metasploit ( https://github.com/rapid7/metasploit-framework) с пользовательскими дропперами метерпретера (https://github.com/rapid7/metasploit-payloads), закодированными с помощью msfvenom, или повторной реализацией функций crackmapexec и impacket. Но то, что когда-то было удобным, теперь стало необходимостью, поскольку защита конечных точек превратила старые методологии в список блокировщиков. Поскольку отрасль балансирует вокруг удобства доставки кода и извлечения контента с помощью C2, плохие парни все чаще используют собственные или взломанные инструменты (https://threatpost.com/cobalt-strike-cybercrooks/167368/) для своих собственных операций.
Торговая площадка
Матрица C2 (https://www.thec2matrix.com/) пытается отслеживать как можно большую часть растущего рынка C2. На момент написания отслеживалось 102 C2. Google Sheet C2 Matrix (https://docs.google.com/spreadsheets/d/1b4mUxa6cDQuTV2BPC6aA-GR4zGZi0ooPYtBe4IgPsSc/edit#gid=0) показывает амбиции сообщества с его различными языками имплантации, целевыми операционными системами и UI/UX.
Изучив эти C2, мы обнаружили, что у многих из них был проприетарный код, поскольку они были исследовательскими проектами или продуктами консалтинговых компаний. Чтобы сохранить жизнеспособность этих коммерческих бизнес-активов, их исходный код защищен. Это ограничивает возможности защитников идентифицировать и реагировать на атаки с использованием этих C2 или C2, разработанных с использованием их исследований, поскольку защитники должны получить и реверсировать образцы имплантатов C2, прежде чем можно будет записать статические обнаружения на основе захваченных образцов. Кроме того, только когда эти обнаружения становятся доступными для более широкого сообщества (например, на VirusTotal), каждый становится защищенным от этих передовых реализаций.
Ряд поставщиков ответственно объясняют свои техники, что позволяет защитникам делать выводы об обнаружениях во время выполнения. Редко поставщики делятся образцами, что позволяет защитникам писать статические обнаружения, такие как правила YARA (https://virustotal.github.io/yara/) или более общие сигнатуры AV (https://www.virustotal.com/gui/home/upload). Эти продукты в конечном счете предназначены для повышения безопасности клиентов, заказывающих оценки — они не помогают защитникам, когда те же самые инструменты украдены, взломаны или приобретены законным путем . В обмен на расширение прав и возможностей нападающих защитникам не предоставляется бесплатно контрмеры.
C2 с открытым исходным кодом и взломанный закрытый исходный код широко распространены, как и их обнаружение.
С 2010-х по 2022 год
Ранние C2 (см. Metasploit, Armitage, Empire) выступали в качестве простой удобной точки опоры в тесте, координируя доставку эксплойтов и управление маячками. Они различаются по сложности, и операторы, как правило, смогут понять их работу. Распространенные экзамены, такие как OSCP, были сосредоточены на базовых знаниях о непосредственном взаимодействии с эксплойтами и реверс оболочками. Знания, необходимые для получения оболочки с использованием этих C2, ненамного превышали знания, необходимые для написания пользовательского C2. Базовые практические знания Python или C# и некоторое время на переписывание реверс шелла дадут маячок, который вернет шелл (https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc) и не будет обнаружен антивирусом.
Тем не менее, современное состояние дел вышло за рамки этого, поскольку C2 теперь требуются в качестве инструментов для участия в боевых действиях.
По мере улучшения обнаружения конечной точки должен улучшаться и имплантат. По мере совершенствования имплантатов они должны проникать глубже в ниши Windows. Это требует больше времени на разработку, что стимулирует разработку модулей C2 и C2 с закрытым исходным кодом для обеспечения возврата инвестиций. Внутреннее поведение современного C2 представляет собой почти закрытый ящик, поскольку знания, необходимые для разработки, превосходят знания, необходимые для их эксплуатации.
Промышленность вступила в 2010-е годы с рабочими процессами, сосредоточенными вокруг имплантатов в виде исполняемых файлов, сброшенных на диск, или сценариев PowerShell. Теперь современные стейджеры включают гораздо более сложные и индивидуальные подходы к своим имплантатам, такие как ключи окружающей среды, непрямые обратные вызовы через систему и веб-прокси, а также защищенные каналы для глубокой проверки пакетов. Теперь защитники должны обнаруживать и реагировать, используя расширенные индикаторы компрометации (IOC), а не просто используя сигнатуры, нацеленные на известные имплантаты C2.
Цель этой серии статей
Исходя из этого, мы хотели изучить, как C2 будут функционировать в 2022 году, какие обходные действия потребуются и как выглядит минимально жизнеспособный C2 в мире изощренной защиты конечных точек.
Что дало нам следующие:
- Задокументировать внутренности минимально жизнеспособного C2:
* Какие идеи стоят за популярными реализациями C2?
* Каковы их цели и задачи?
- Анализировать и реализовывать поведение для уклонения:
* Что требуется для работы в современной системе Windows?
* Что требуется для обхода актуальной современной защиты конечных точек?
- Подготовить доказательство концепции C2:
* Каков минимальный жизнеспособный C2 для оператора в 2022 году?
* Что требуется для обнаружения этого минимально жизнеспособного C2?
При этом мы не хотим создавать C2, который можно использовать с самого начала — он полезен исключительно для демонстрации поведения. Наша цель в письменной форме — просто обсудить концепции и рассмотреть, как можно отслеживать поведение; чтобы использовать этот пример C2 в наступанельтых целях, вам все равно придется научиться программировать и действовать безопасно.
Контент, представленный в этой серии, потребует достаточных базовых знаний, чтобы потенциальные пользователи уже могли написать свою собственную версию в любом случае, но мы надеемся, что защитники и операторы сочтут исследование информативным.
Имея это в виду, мы:
- Не реализовали все рассмотренные техники уклонения.
- Предоставили правила Yara и загружены образцы на VirusTotal.
- Оставили (намеренно!) очень неудобный код.
То, что мы собираемся опубликовать в этих статьях, — это обсуждение широких аспектов C2:
- Архитектурные решения относительно Сервера и Имплантата
- Пользовательский опыт, с примерами и нашими мыслями
- Защита конечной точки (в качестве упражнения для читателя), изучение того, как операции все еще могут быть заблокированы.
- Статический обзор OpSec, чтобы посмотреть на распространенные ловушки, с которыми могут столкнуться имплантаты.
- Обзор OpSec во время выполнения, чтобы взглянуть на то же самое... но во время выполнения.
- Связь с сервером, а также то, как скрытность и обнаружение работают за пределами целевого устройства.
Делая это, мы надеемся пролить свет на внутренности C2 и помочь поставщикам в выявлении пробелов в их обнаружениях, а также повысить эффективность операторов в выявлении законных пробелов в безопасности, которые могут быть использованы современным злоумышленником.
Среды Command & Control (C2) становятся все более распространенными и необходимыми для тестов на проникновение, красных команд и АПТ. Сочетая av/edr, утилиту управления имплантатами и файл CRUDCreate Read Update Delete, C2 значительно улучшает качество жизни операторов во время операции. Это привело к тому, что за последние 5 лет в сети появилось все больше и больше наступательных инструментов, гораздо более совершенных и способных, чем их предшественники.
Типичный консультант обнаружит, что восполнил технический пробел в C2, либо, купив готовое решение (https://www.cobaltstrike.com/blog/how-to-crack-cobalt-strike-and-backdoor-it/), либо самодельные решения, такие как metasploit ( https://github.com/rapid7/metasploit-framework) с пользовательскими дропперами метерпретера (https://github.com/rapid7/metasploit-payloads), закодированными с помощью msfvenom, или повторной реализацией функций crackmapexec и impacket. Но то, что когда-то было удобным, теперь стало необходимостью, поскольку защита конечных точек превратила старые методологии в список блокировщиков. Поскольку отрасль балансирует вокруг удобства доставки кода и извлечения контента с помощью C2, плохие парни все чаще используют собственные или взломанные инструменты (https://threatpost.com/cobalt-strike-cybercrooks/167368/) для своих собственных операций.
Торговая площадка
Матрица C2 (https://www.thec2matrix.com/) пытается отслеживать как можно большую часть растущего рынка C2. На момент написания отслеживалось 102 C2. Google Sheet C2 Matrix (https://docs.google.com/spreadsheets/d/1b4mUxa6cDQuTV2BPC6aA-GR4zGZi0ooPYtBe4IgPsSc/edit#gid=0) показывает амбиции сообщества с его различными языками имплантации, целевыми операционными системами и UI/UX.
Изучив эти C2, мы обнаружили, что у многих из них был проприетарный код, поскольку они были исследовательскими проектами или продуктами консалтинговых компаний. Чтобы сохранить жизнеспособность этих коммерческих бизнес-активов, их исходный код защищен. Это ограничивает возможности защитников идентифицировать и реагировать на атаки с использованием этих C2 или C2, разработанных с использованием их исследований, поскольку защитники должны получить и реверсировать образцы имплантатов C2, прежде чем можно будет записать статические обнаружения на основе захваченных образцов. Кроме того, только когда эти обнаружения становятся доступными для более широкого сообщества (например, на VirusTotal), каждый становится защищенным от этих передовых реализаций.
Ряд поставщиков ответственно объясняют свои техники, что позволяет защитникам делать выводы об обнаружениях во время выполнения. Редко поставщики делятся образцами, что позволяет защитникам писать статические обнаружения, такие как правила YARA (https://virustotal.github.io/yara/) или более общие сигнатуры AV (https://www.virustotal.com/gui/home/upload). Эти продукты в конечном счете предназначены для повышения безопасности клиентов, заказывающих оценки — они не помогают защитникам, когда те же самые инструменты украдены, взломаны или приобретены законным путем . В обмен на расширение прав и возможностей нападающих защитникам не предоставляется бесплатно контрмеры.
C2 с открытым исходным кодом и взломанный закрытый исходный код широко распространены, как и их обнаружение.
С 2010-х по 2022 год
Ранние C2 (см. Metasploit, Armitage, Empire) выступали в качестве простой удобной точки опоры в тесте, координируя доставку эксплойтов и управление маячками. Они различаются по сложности, и операторы, как правило, смогут понять их работу. Распространенные экзамены, такие как OSCP, были сосредоточены на базовых знаниях о непосредственном взаимодействии с эксплойтами и реверс оболочками. Знания, необходимые для получения оболочки с использованием этих C2, ненамного превышали знания, необходимые для написания пользовательского C2. Базовые практические знания Python или C# и некоторое время на переписывание реверс шелла дадут маячок, который вернет шелл (https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc) и не будет обнаружен антивирусом.
Тем не менее, современное состояние дел вышло за рамки этого, поскольку C2 теперь требуются в качестве инструментов для участия в боевых действиях.
По мере улучшения обнаружения конечной точки должен улучшаться и имплантат. По мере совершенствования имплантатов они должны проникать глубже в ниши Windows. Это требует больше времени на разработку, что стимулирует разработку модулей C2 и C2 с закрытым исходным кодом для обеспечения возврата инвестиций. Внутреннее поведение современного C2 представляет собой почти закрытый ящик, поскольку знания, необходимые для разработки, превосходят знания, необходимые для их эксплуатации.
Промышленность вступила в 2010-е годы с рабочими процессами, сосредоточенными вокруг имплантатов в виде исполняемых файлов, сброшенных на диск, или сценариев PowerShell. Теперь современные стейджеры включают гораздо более сложные и индивидуальные подходы к своим имплантатам, такие как ключи окружающей среды, непрямые обратные вызовы через систему и веб-прокси, а также защищенные каналы для глубокой проверки пакетов. Теперь защитники должны обнаруживать и реагировать, используя расширенные индикаторы компрометации (IOC), а не просто используя сигнатуры, нацеленные на известные имплантаты C2.
Цель этой серии статей
Исходя из этого, мы хотели изучить, как C2 будут функционировать в 2022 году, какие обходные действия потребуются и как выглядит минимально жизнеспособный C2 в мире изощренной защиты конечных точек.
Что дало нам следующие:
- Задокументировать внутренности минимально жизнеспособного C2:
* Какие идеи стоят за популярными реализациями C2?
* Каковы их цели и задачи?
- Анализировать и реализовывать поведение для уклонения:
* Что требуется для работы в современной системе Windows?
* Что требуется для обхода актуальной современной защиты конечных точек?
- Подготовить доказательство концепции C2:
* Каков минимальный жизнеспособный C2 для оператора в 2022 году?
* Что требуется для обнаружения этого минимально жизнеспособного C2?
При этом мы не хотим создавать C2, который можно использовать с самого начала — он полезен исключительно для демонстрации поведения. Наша цель в письменной форме — просто обсудить концепции и рассмотреть, как можно отслеживать поведение; чтобы использовать этот пример C2 в наступанельтых целях, вам все равно придется научиться программировать и действовать безопасно.
Контент, представленный в этой серии, потребует достаточных базовых знаний, чтобы потенциальные пользователи уже могли написать свою собственную версию в любом случае, но мы надеемся, что защитники и операторы сочтут исследование информативным.
Имея это в виду, мы:
- Не реализовали все рассмотренные техники уклонения.
- Предоставили правила Yara и загружены образцы на VirusTotal.
- Оставили (намеренно!) очень неудобный код.
То, что мы собираемся опубликовать в этих статьях, — это обсуждение широких аспектов C2:
- Архитектурные решения относительно Сервера и Имплантата
- Пользовательский опыт, с примерами и нашими мыслями
- Защита конечной точки (в качестве упражнения для читателя), изучение того, как операции все еще могут быть заблокированы.
- Статический обзор OpSec, чтобы посмотреть на распространенные ловушки, с которыми могут столкнуться имплантаты.
- Обзор OpSec во время выполнения, чтобы взглянуть на то же самое... но во время выполнения.
- Связь с сервером, а также то, как скрытность и обнаружение работают за пределами целевого устройства.
Делая это, мы надеемся пролить свет на внутренности C2 и помочь поставщикам в выявлении пробелов в их обнаружениях, а также повысить эффективность операторов в выявлении законных пробелов в безопасности, которые могут быть использованы современным злоумышленником.