Посібник з CobaltStrike. №1 Ласкаво просимо до CobaltStrike

12 червня 2023 5 хвилин Автор: Lady Liberty

Комплексний фреймворк для кібертактик та розгортання кіберприманок

CobaltStrike – це потужний комплексний фреймворк для тестування на проникнення та розгортання кіберприманок, що використовується для оцінки безпеки і проникнення в інформаційні системи. Цей інструмент, розроблений командою Strategic Cyber LLC, дозволяє проводити широкий спектр активних тестів безпеки, включаючи перехоплення даних, підміну трафіку, аналіз вразливостей і тестування реакції на інциденти. CobaltStrike надає широкі можливості для розробки та розгортання кіберприманок, які дозволяють симулювати реальні атаки та загрози. Він має потужні функції для генерації соціально-інженерних атак, перехоплення сеансів, експлуатації вразливостей, побудови “двохсторонніх” комунікаційних каналів та багато інших. Крім того, CobaltStrike пропонує інтуїтивний інтерфейс користувача, що спрощує роботу з фреймворком навіть для користувачів з обмеженим досвідом.

Завдяки своїм функціям і можливостям, CobaltStrike є популярним інструментом серед професіоналів з кібербезпеки та пентестингу. Він дозволяє оцінити сильні та слабкі сторони інформаційних систем, допомагає виявити вразливості та реагувати на потенційні загрози. Завдяки своїй гнучкості та потужності, CobaltStrike є незамінним інструментом для забезпечення безпеки та захисту інформаційних ресурсів у сучасному цифровому світі. CobaltStrike пропонує широкий спектр функцій для розгортання кіберприманок, зокрема генерацію соціально-інженерних атак, експлуатацію вразливостей та побудову комунікаційних каналів для взаємодії зі зловмисниками. Інтуїтивний інтерфейс користувача спрощує використання фреймворку, дозволяючи швидко розпочати тестування та аналіз безпеки. CobaltStrike знайшов широке застосування серед фахівців з кібербезпеки та пентестингу, завдяки своїм розширеним можливостям і потужному функціоналу. Цей інструмент допомагає виявляти потенційні загрози та реагувати на них швидко і ефективно, допомагаючи забезпечити безпеку та захист інформаційних ресурсів в сучасному цифровому світі.

Ласкаво просимо до Cobalt Strike

Cobalt Strike – це платформа для моделювання противника і операцій RED TEAM. Продукт призначений для цілеспрямованих атак і моделювання постексплуатаційних дій зловмисників. У цьому розділі описано процес атаки, підтримуваний набором функцій Cobalt Strike. Далі в цьому підручнику детально розглядаються ці функції.

Обзор

Набір проблем в атаці

Продумана цілеспрямована атака починається  з розвідки. Профайлер системи Cobalt Strike – це веб-додаток, який відображає область для атак на ціль на стороні клієнта. Інформація, отримана з розвідки, допоможе вам зрозуміти, які варіанти мають найбільші шанси на успіх по відношенню до вашої мети.

Озброєння – це поєднання післяопераційної корисного навантаження з документом або експлойтом, який буде виконаний по цілі. Cobalt Strike містить варіанти перетворення звичайних документів в озброєні артефакти. Cobalt Strike також має можливість експортувати корисне навантаження після виробництва, зване маяком, в різні формати для поєднання з артефактами, не включеними в цей набір інструментів.

Використовуйте фішинговий інструмент Cobalt Strike, щоб доставити озброєний документ одному або кільком людям у цільовій мережі. Фішинговий інструмент Cobalt Strike перетворює збережені електронні листи в ідеальні електронні листи для атак.

Контролюйте мережу вашої цілі за допомогою маяків Cobalt Strike. Це корисне навантаження після експлуатації використовує асинхронну «низьку та повільну» схему зв’язку, типову для просунутих шкідливих програм. Маяк підключиться до сервера C &C через DNS, HTTP або HTTPS. Beacon проходить через загальні конфігурації проксі та підключається до декількох хостів, щоб протистояти блокуванню.

Випробуйте можливості атрибуції та аналізу ваших цілеспрямованих атак за допомогою мови керування та контролю маяка Malleable. Перетворити маяк, щоб використовувати мережеві індикатори, які виглядають як відомі шкідливі програми або зливаються з існуючим трафіком.

Поверніться до скомпрометованої мережі, знайдіть хости та перейдіть убік за допомогою корисної автоматизації маяка та однорангового зв’язку через іменовані труби та сокети TCP. Cobalt Strike призначений для фіксації довірчих відносин і забезпечення бічного руху, використовуючи отримані облікові дані, хеші паролів, маркери доступу та квитки Kerberos.

Продемонструйте значні бізнес-ризики за допомогою  інструментів експлуатації користувачів  Cobalt Strike. Робочі процеси Cobalt Strike дозволяють легко реалізувати журналювання натискань клавіш та інструменти реєстрації знімків екрана в скомпрометованих системах. Використовуйте Browser Pivoting для отримання доступу до веб-сайтів,

до якого ваша жертва увійшла через Internet Explorer. Ця методика, розроблена тільки для Cobalt Strike, працює з більшістю сайтів і дозволяє обійти двофакторну аутентифікацію.

Функції звітності Cobalt Strike реконструюють досвід для вашого клієнта. Надайте адміністраторам мережі графік активності, щоб вони могли знаходити індикатори атак на свої системи. Cobalt Strike генерує високоякісні звіти, які ви можете представити своїм клієнтам як самостійні продукти або використовувати як доповнення до вашої письмової заяви.

На кожному з перерахованих вище етапів вам потрібно буде вивчити цільове середовище, її захисні сили, і подумати, як краще досягти поставлених цілей за допомогою наявних у вашому розпорядженні засобів. Це ухилення. Cobalt Strike не спрямований на те, щоб забезпечити ухилення з коробки. Натомість продукт забезпечує гнучкість, як у своїх потенційних конфігураціях, так і в наступальних варіантах, щоб ви могли адаптувати його до своїх умов та завдань.

Інсталяція та оновлення

HelpSystems LLC поширює пакети Cobalt Strike у вигляді власних архівів для Windows, Linux і MacOS X.

Cobalt Strike використовує клієнт-серверну модель, в якій кожен компонент може бути встановлений в одній системі, але часто розгортається окремо. Графічний інтерфейс Cobalt Strike називається “Cobalt Strike”, “Cobalt Strike GUI” або команда, яка використовується для запуску клієнта Cobalt Strike. Сервер Cobalt Strike називається “C&C сервер” або команда, яка використовується для запуску C&C-сервера.

Основний процес установки Cobalt Strike включає в себе завантаження і розпакування дистрибутива в операційну систему і запуск процесу оновлення для завантаження продукту.

Перш ніж почати

Прочитайте цей розділ перед встановленням Cobalt Strike.

Системні вимоги

Наступні компоненти необхідні для будь-якої системи, в якій розміщено клієнтські та/або серверні компоненти Cobalt Strike.

Java

Для роботи GUI-клієнта та командного сервера Cobalt Strike’а потрібно одне з наступних середовищ Java:

  • Oracle Java 1.8

  • Oracle Java 11

  • OpenJDK 11. (див. Встановлення OpenJDK)

 

Підтримувані операційні системи

Сервер Cobalt Strike C&C підтримується в Java-сумісних системах Linux і був протестований на наступних дистрибутивах Linux на базі Debian (інші версії можуть працювати, але не тестувалися):

  • Debian

  • Ubuntu

  • Kali Linux

Клієнт Cobalt Strike працює на наступних системах:

  • Windows 7 і новіших версій

  • MacOS X 10.13 або новішої версії

  • Системи графічного інтерфейсу Linux, такі як: Debian, Ubuntu та Kali Linux (інші версії можуть працювати, але не тестувалися)

Устаткування

Окрім дійсної операційної системи, повинні бути виконані наступні мінімальні вимоги:

  • Процесор 2 ГГц+

  • 2 ГБ оперативної пам’яті

  • Доступний дисковий простір 500MB+

На Amazon EC2 використовуйте екземпляр із високим процесором Medium (c1.medium, 1.7 ГБ).

Linux glibc

Майте на увазі, що деякі дистрибутиви Linux можуть не мати правильної версії glibc. Якщо ви зіткнулися з цією проблемою, перегляньте сторінку glibc Відсутній у старих дистрибутивах Linux на HelpSystems.

Встановлення OpenJDK

Cobalt Strike був протестований з OpenJDK 11, і його пускові установки сумісні з належним чином встановленим середовищем OpenJDK 11.

Linux (Times 2018.4, Ubuntu 18.04)

  1. Оновлення APT: sudo apt-get update

  2. Встановіть OpenJDK 11 за допомогою APT: sudo apt-get встановити openjdk-11-jdk

  3. Встановіть OpenJDK 11 як типовий: sudo update-java-alternatives -s java-1.11.0-openjdk-amd64

Linux (інше)

  1. Видаліть поточні пакети OpenJDK.

  2. Завантажте OpenJDK для Linux/x64 за адресою: https://jdk.java.net/archive/.

  3. Розпакуйте виконуваний файл OpenJDK: tar zxvf openJDK-11.0.1_linux-x64_bin.tar.gz

  1. Перемістіть теку OpenJDK до /usr/local: MV JDK-11.0.1 /USR/локальний

  1. Добавьтеследующеев ~/.bashrc: JAVA_HOME=”/usr/local/jdk-11.0.1″ PATH=$PATH:$JAVA_HOME/bin

  2. Оновлення ~/.bashrc , щоб нові змінні середовища вступили в силу: Джерело ~/.bashrc

MacOS X

  1. Завантажте OpenJDK для macOS/x64 за адресою https://jdk.java.net/archive/.

  2. Відкрийте термінал і перейдіть до папки Downloads/ .

  3. Розпакуйте архів: tar zxvf openJDK-11.0.1_osx-x64_bin.tar.gz

  1. Перемістіть витягнутий архів до папки /Library/Java/JavaVirtualMachines/: sudo mv jdk-11.0.1.jdk/ /Бібліотека/Java/JavaVirtualMachines/

Команда java в MacOS X буде використовувати найвищу версію Java в /Library/ Java за замовчуванням.

ПІДКАЗКА : Якщо ви бачите  повідомлення JRELoadError, це пов’язано з тим, що заглушка JavaAppLauncher, яка є частиною Cobalt Strike, завантажує бібліотеку з вказаного шляху для запуску JVM всередині процесу заглушки. Щоб виправити цю помилку, виконайте таку команду:

sudo ln -fs /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

Замініть  jdk-11.0.2.jdk  своїм шляхом до Java.  У наступному випуску Cobalt Strike буде використовуватися більш гнучкий заглушка Java-додатків для MacOS X.

Вікна

  1. Завантажте OpenJDK для Windows/x64 за адресою https://jdk.java.net/archive/.

  2. Распакуйте архив в c:\program files\jdk-11.0.1.

  3. Добавьте c:\program files\jdk-11.0.\bin в переменную окружения PATH

Ваш користувач:

  1. Перейдіть до Панелі керування -> Система -> Додаткові параметри    системи -> Змінні середовища…

  2. Виділіть Шлях у користувацьких змінних.

  3. Натисніть кнопку Створити.

  4. Введите: c:\program files\jdk-11.0.1\bin.

  5. Натисніть кнопку OK у всіх діалогових вікнах.

Установка Cobalt Strike

Дотримуйтесь цих інструкцій, щоб встановити Cobalt Strike.

  1. Завантажте дистрибутив Cobalt Strike для підтримуваної операційної системи. (посилання для завантаження надсилається на ваш e-mail )

  2. Встановіть рекомендоване середовище Java.

  3. Витягніть, змонтуйте або розпакуйте дистрибутив. Залежно від операційної системи виконайте одну з наведених нижче дій.

Для Linux:

Распакуйте файл cobaltstrike-dist.tgz:

tar zxvf cobaltstrike-dist.tgz

Для MacOS X:

    1. Двічі клацніть файл cobaltstrike-dist.dmg, щоб змонтувати його.

    2. Перетягніть теку Cobalt Strike  до  теки Applications.

Для Windows:

    1. Вимкніть антивірус перед встановленням Cobalt Strike.

    2. Використовуйте бажаний zip-інструмент, щоб витягти файл

Cobaltstike.zip до місця установки.

Запустіть програму оновлення, щоб завершити інсталяцію. Залежно від операційної системи виконайте одну з наведених нижче дій.

Для Linux:

Введіть наступні команди:

cd /шлях/до/cobaltstrike'a &&./update

Для MacOS X:

Перейдіть в папку Cobalt Strike.

Двічі клацніть Оновити Cobalt Strike.command.

Для Windows:

Перейдіть в папку Cobalt Strike.

Двічі клацніть на bat.

Переконайтеся, що ви оновили як сервер C&C, так і клієнтське програмне забезпечення ліцензійним ключем. Cobalt Strike, як правило, ліцензований для одного користувача. C&C не вимагає окремої ліцензії.

Файли авторизації ліцензій

Для запуску ліцензійної версії Cobalt Strike необхідний дійсний файл авторизації. Файл авторизації – це зашифрований файл, який містить інформацію про вашу ліцензію Cobalt Strike. Ця інформація включає: ваш ліцензійний ключ, термін дії ліцензії, а також ідентифікатор, пов’язаний з вашим ліцензійним ключем.

Як отримати файл авторизації?

Вбудований  інструмент оновлення запитує файл авторизації з сервера оновлення Cobalt Strike під час запуску. Програма оновлення завантажує новий файл авторизації, навіть якщо ваша версія Cobalt Strike актуальна. Це дозволяє файлу авторизації збігатися з датами закінчення терміну дії ліцензії в записах HelpSystems

Що станеться, якщо термін дії моєї ліцензії закінчиться?

Cobalt Strike відмовиться запускатися, коли закінчиться термін дії файлу авторизації. Якщо термін дії файлу авторизації закінчується під час роботи Cobalt Strike, це жодним чином не вплине на його роботу. Licensed Cobalt Strike перевіряє файли авторизації тільки при запуску.

Коли закінчується термін дії мого файлу авторизації?

Термін дії файлу авторизації закінчується після закінчення терміну дії ліцензії Cobalt Strike. Під час поновлення ліцензії Cobalt Strike запустіть  вбудований засіб оновлення, щоб оновити файл авторизації останньою інформацією.

Перейдіть  до розділу Довідка -> Інформація про систему, щоб дізнатися, коли закінчився термін дії файлу авторизації. Знайдіть  опцію “дійсний до”  в  розділі Інше.  Майте на увазі, що  інформація про клієнта та сервер C&C може мати різне значення (залежно від того, який ліцензійний ключ використовувався та коли файл авторизації був востаннє оновлений).

Cobalt Strike також попередить вас, якщо термін дії файлу авторизації закінчиться через 30 днів.

Як додати файл авторизації до ізольованого середовища?

Файл авторизації – cobaltstrike.auth.  Програма оновлення завжди розміщує цей файл за допомогою cobaltstrike.jar.  Щоб використовувати Cobalt Strike в закритому середовищі:

  1. Завантажте пробний пакет Cobalt Strike при https://www.cobaltstrike.com/ завантаженні.

  2. Оновіть пробний пакет Cobalt Strike із системи, підключеної до Інтернету.

  3. Скопіюйте вміст оновленої папки cobaltstrike/ у ваше середовище.  Найбільш важливими файлами є  jar і cobaltstrike.auth.

Чи має Cobalt Strike можливість контакту HelpSystems?

Після процесу оновлення Cobalt Strike не “дзвонить додому” в HelpSystems. Файл авторизації генерується в процесі оновлення.

Як використовувати стару версію Cobalt Strike з оновленим файлом авторизації?

Cobalt Strike 3.8 і нижче не перевіряє і не вимагає авторизації.

Cobalt Strike 3.9 і пізніших версій перевіряють наявність файлу cobaltstrike.auth, розташованого разом з файлом cobaltstrike.jar. Оновіть Cobalt Strike з іншої папки і скопіюйте новий файл cobaltstrike.auth в папку, що містить стару версію Cobalt Strike. Файл авторизації не прив’язаний до певної версії продукту.

Що означає ідентифікатор користувача?

ID користувача – це 4-байтовий номер, пов’язаний з ліцензійним ключем Cobalt Strike. Cobalt Strike 3.9 і пізніші версії вбудовують цю інформацію в етапи та етапи, створені Cobalt Strike.

Як знайти значення ідентифікатора користувача в артефакті Cobalt Strike?

Значення ідентифікатора користувача є останніми 4 байтами корисного навантаження стайдера в Cobalt Strike 3.9 і пізніших версіях.

Цей скріншот є стажером HTTP з пробної версії. Для пробної версії ідентифікатор користувача дорівнює 0. Останні 4 байти цього стайдера (0x0, 0x0 0x0, 0x0 0x0) відображають це.

HTTP Payload Stager (пробная версия Cobalt Strike’а)

Значення ідентифікатора користувача також існує на етапі корисного навантаження, але його складніше відновити. Cobalt Strike не використовує значення client ID в мережевому трафіку або інших частинах інструменту.

Як захистити різну інфраструктуру червоної команди від перехресної ідентифікації за допомогою цього ідентифікатора?

Якщо у вас  є унікальний  файл авторизації на кожному C&C сервері, то кожен C&C сервер і артефакти, які виходять з нього, будуть мати різні ідентифікатори.

Сервер оновлення Cobalt Strike генерує новий файл авторизації під час кожного запуску засобу оновлення. Кожен файл авторизації має унікальний ідентифікатор. Cobalt Strike поширює лише ідентифікатор сервера C&C. Він не поширює ідентифікатор користувача з файлу авторизації графічного інтерфейсу або клієнта без графічного інтерфейсу.

Коли ви закінчите

Вітаємо! Тепер встановлено Cobalt Strike. Щоб отримати додаткові відомості та подальші кроки, прочитайте наступне:

Наступні кроки

Запустіть сервер C&C. Запуск клієнта Cobalt Strike

Запуск C&C сервера

Cobalt Strike складається з клієнтського і серверного компонента. Сервер, званий C&C сервером, є диспетчером корисного навантаження і хостом для функцій соціальної інженерії  Cobalt Strike. C&C сервер також зберігає дані, зібрані Cobalt Strike, і керує реєстрацією.

Сервер Cobalt Strike C&C повинен працювати в підтримуваній системі Linux. Щоб запустити C&C-сервер Cobalt Strike, запустіть таку команду, щоб запустити сценарій, включений до пакета Cobalt Strike for Linux:

Малюнок 3. Запуск C&C сервера ./teamserver <ip_адреса> <пароль> [ <дата_знищення>]

Скрипт C&C використовує наступні два обов’язкових і два необов’язкових параметра:

IP-адреса  – (обов’язково) Введіть IP-адресу C&C-сервера, доступний ззовні. Cobalt Strike використовує це значення як хост за замовчуванням для своїх функцій.

Пароль – (обов’язково) Введіть пароль, який члени вашої команди використовуватимуть для підключення клієнта Cobalt Strike до сервера C&C.

Гнучкий  профіль C2 – (необов’язково) Вкажіть дійсний профіль Malleable C2.

Дата вбивства  – (необов’язково) Введіть значення дати у форматі РРРР-ММ-ДД.

Сервер C&C вставить цю дату знищення в кожну стадію маяка, яку він генерує. Корисне навантаження відмовиться працювати на цю дату або після неї, а також припинить роботу, якщо вона працює на або після цієї дати.

Коли сервер C&C запускається, він публікує хеш SHA256 сертифіката C&C SSL. Роздайте цей хеш членам вашої команди. Коли члени вашої команди підключаються, їх клієнт Cobalt Strike запитає, чи знають вони цей хеш перед автентифікацією на командному сервері. Це служить важливим захистом від атак “людина посередині”.

Запуск клієнта Cobalt Strike

Виконайте наступні кроки, щоб підключити клієнт Cobalt Strike до сервера C&C.

Щоб запустити клієнт Cobalt Strike, використовуйте панель запуску, що входить до пакету платформи.

Для Linux:

      1. Введіть наступні команди: ./cobaltstrike

Для MacOS X:

    1. Перейдіть в папку Cobalt Strike.

    2. Двічі клікніть по cobaltstrike.

Для Windows:

1. Перейдіть в папку Cobalt Strike. Двічі клікніть по exe.

З’явиться діалогове вікно Підключення.

Диалогове окно Connect Cobalt Strike’а

2. Cobalt Strike веде облік C&C серверів, до яких ви підключаєтеся, і запам’ятовує інформацію про них. Виберіть один із профілів C&C у лівій частині діалогового вікна “Підключення”, щоб заповнити вікно інформацією. Використовуйте кнопки Alias Names і Host Names  (Імена псевдонімів) і Host Names (Імена  хостів), щоб переключити відображення списку хостів.   Активні підключення будуть відображатися синім кольором. Можна управляти початковим відображенням списку хостів,  кольоровий  текст активних підключень та редагування списку за допомогою Cobalt Strike -> Налаштування-> командні сервери.

Особливості гри:

Псевдонім – Введіть псевдонім хоста або використовуйте значення за замовчуванням. Псевдонім  не може бути порожнім, починатися з ‘*’ або використовувати те саме значення, що й активне з’єднання.

Хост – Вкажіть адресу вашого C&C сервера в полі Хост. Ім’я хоста не може бути порожнім.

Порт – Відображає порт за замовчуванням для сервера C&C (50050). Вона рідко змінюється. Порт не може бути порожнім і має бути числовим.

Користувач- Поле Користувач – це ваш псевдонім на командному сервері. Змініть його на свій позивний або вигадане ім’я хакера. Ім’я користувача не може бути порожнім.

Password – Введіть загальний пароль для C&C сервера.

3.Натисніть кнопку Підключитися, щоб підключитися до сервера C&C Cobalt Strike. Якщо це ваше перше підключення до цього C&C-сервера, Cobalt Strike запитає, чи розпізнаєте ви хеш SHA256 цього C&C-сервера.

Перевірка сертифіката SSL сервера

4. Якщо ви це зробили, натисніть кнопку Так, і клієнт Cobalt Strike підключиться до сервера та відкриє інтерфейс користувача.

Розподілені та командні операції

Використовуйте Cobalt Strike для координації роботи розподілених операцій червоної команди. Встановіть Cobalt Strike на один або кілька віддалених хостів. Запустіть сервери C&C і попросіть членів команди підключитися до них.

Розподілені операції за допомогою Cobalt Strike’а

Після підключення до сервера C&C ваша команда:

  1. Використовуйте однакові сеанси

  2. Мають спільні хости, захоплені дані та завантажені файли.

  3. Спілкуйтеся за допомогою спільного журналу подій.

Клієнт Cobalt Strike може підключатися  до декількох C&-х серверів. Перейдіть до розділу Cobalt Strike -> New Connection, щоб ініціювати нове підключення. При підключенні до декількох серверів у нижній частині вікна Cobalt Strike з’явиться панель перемикання.

Панель перемикання сервера

Ця тумблерна панель дозволяє перемикатися між активними екземплярами  сервера Cobalt Strike. Кожен сервер має свою кнопку. Клацніть по ньому правою кнопкою миші і виберіть пункт Перейменувати, щоб текст кнопки відображав роль сервера під час вашої взаємодії з ним. Кнопка сервера відображатиме активну кнопку жирним шрифтом і кольором на основі колірних переваг, зазначених у Cobalt Strike  -> Налаштування ->  TeamServers, щоб краще показати, яка  кнопка активна. Це ім’я кнопки також ідентифікує сервер у звіті про активність Cobalt Strike.

При підключенні до декількох серверів Cobalt Strike об’єднує слухачів з усіх серверів, до яких він підключений. Ця комбінація дає змогу надсилати фішинговий електронний лист з одного сервера, який вказує на шкідливий веб-сайт, розташований на іншому. Наприкінці вашої взаємодії функція звітування CobaltStrike запитає всі сервери, до яких ви підключені, і об’єднає дані для створення єдиного звіту.

Повторне підключення клієнта

Коли користувач ініціює відключення клієнта за допомогою меню, панелі інструментів або панелі перемикання сервера, відображається червоний банер із кнопкою Повторно підключити  й закрити.

Натисніть кнопку Закрити, щоб закрити вікно. Натисніть кнопку Повторно підключитися, щоб повторно підключитися до сервера  C&C.

Якщо C&C-сервер недоступний, з’явиться діалогове вікно із запитом, чи хочете ви повторити  спробу (Так/Ні). Якщо Так, підключитися буде повторено (за потреби повторіть спробу). Якщо Ні, вікно закриється.

Коли сервер C&C ініціює відключення або інше мережеве переривання, на червоному банері з’являється повідомлення, яке відраховує час для повторної спроби підключення. Це триватиме, доки не буде встановлено підключення до сервера C&C або доки користувач не натисне  кнопку Закрити.  У той же час  користувач може взаємодіяти з іншими частинами інтерфейсу користувача. При підключенні клієнта червона панель повторного підключення зникне.

Сценарії в Cobalt Strike

Cobalt Strike можна налаштувати за допомогою мови Aggressor Script. Сценарій агресора дозволяє змінювати і розширювати клієнт Cobalt Strike.

Історія

Aggressor Script є духовним наступником Cortana, механізму сценаріїв з відкритим кодом в Armitage. Cortana з’явилася завдяки контракту за програмою DARPA Cyber Fast Track. Cortana дозволяє користувачам розширювати  Armitage і керувати фреймворком Metasploit®  та його функціями через C&C-сервер  Armitage. Cobalt Strike 3.0 є повністю переробленою версією Cobalt Strike без використання Armitage в якості бази.  Ця зміна дозволила переглянути  сценарії Cobalt Strike і створити щось, засноване на його функціональності.  Результатом цієї роботи став сценарій агресора.

Aggressor Script — скриптова мова для  операцій червоної команди  та симуляції ворога, натхненна сценарними IRC-клієнтами та ботами.  Його призначення двояке. Ви можете створювати довготривалих ботів, які імітують членів  віртуальної команди, які атакують пліч-о-пліч з вами.  Ви також можете використовувати його для розширення та модифікації  клієнта Cobalt Strike відповідно до ваших потреб.

Завантаження скриптів

Скрипт агресора  вбудований в  клієнт Cobalt Strike.  Щоб керувати сценаріями, перейдіть до розділу

Cobalt Strike -> Script Manager и натисніть Load.

Менеджер сценаріїв

Стандартний скрипт всередині Cobalt Strike визначає всі спливаючі меню і формує інформацію, що відображається в консолях Cobalt Strike. За допомогою механізму Aggressor Script ви можете змінити ці налаштування за замовчуванням і адаптувати Cobalt Strike відповідно до ваших уподобань. Ви також можете використовувати Aggressor Script для додавання нових функцій до Beacon і автоматизувати деякі завдання.

Запуск клієнта на MacOS X

Клієнт Cobalt Strike  може спочатку не відображати вміст  папок «Документи», «Робочий стіл» та «Завантаження»  у файловому переглядачі  . (наприклад, під час завантаження сценаріїв, завантаження файлів, генерації корисного навантаження тощо.  д…) За замовчуванням OSX обмежує доступ програм до документів, робочого стола та Завантажити.  Програмам має бути явно надано доступ до цих папок.

Оскільки  Cobalt Strike є стороннім додатком,  просто надати доступ до програми “Cobalt Strike” не вдасться.   Можливо, знадобиться надати  JRE, на якому запущено клієнт Cobalt Strike, доступ до файлової системи.  Ви можете надати доступ до певних файлів і папок, або повний доступ до диска.

Вас можуть попросити надати доступ до:

Або, якщо доступ було відмовлено раніше, вам може знадобитися змінити доступ у  діалоговому вікні «Системні параметри OSX» / «Безпека та конфіденційність» / «Конфіденційність» :

Майте на увазі, що інші програми, які використовують JRE, також матимуть цей доступ.

Інтерфейс користувача

Огляд

Інтерфейс користувача Cobalt Strike розділений на дві частини. У верхній частині інтерфейсу відображається візуальне представлення сеансів або цілей. У нижній частині інтерфейсу відображаються вкладки для кожної функції Cobalt Strike або сеансу, з яким ви взаємодієте. Ви можете натиснути на область між цими двома частинами і змініть їх розмір, як вам подобається.

Інтерфейс користувача  Cobalt Strike

Панель інструментів

Панель інструментів у верхній частині  Cobalt Strike забезпечує швидкий доступ до загальних  функцій Cobalt Strike.  Знання кнопок на панелі інструментів дозволить значно прискорити роботу з Cobalt Strike.

 

Візуалізація сесій та цілей

 Cobalt Strike має кілька інструментів візуалізації, кожен з яких розроблений, щоб допомогти з різними аспектами вашої роботи.  Перемикатися між графічними відображеннями можна за допомогою кнопок (Pivot Graph, Session  Table, Goal Table) на панелі інструментів або  меню   Cobalt Strike -> Visualization .

Зведений графік

Cobalt Strike має можливість з’єднання декількох маяків в ланцюжок.  Ці пов’язані маяки отримують свої команди та надсилають результати через батьківський маяк  у ланцюжку.  Цей тип ланцюжка корисний для контролю того, які сеанси залишають  мережу, і для моделювання законного користувача, що обмежує шляхи взаємодії всередині мережі.  Цей ланцюг є  однією з найпотужніших особливостей Cobalt Strike.

Робочі процеси Cobalt Strike дозволяють дуже легко будувати такі ланцюжки.    Нерідкі випадки, коли оператори Cobalt Strike  будують ланцюги маяків глибиною чотири або п’ять рівнів.  Без візуалізації дуже складно відстежити і зрозуміти ці ланцюжки. Тут на допомогу приходить зведений графік.

Зведений графік візуально відображає ваші ланцюжки маяків. Кожен сеанс маяка має піктограму. Як в таблиці сеансів: іконка для кожного хоста вказує на його операційну систему. Якщо значок червоний з блискавками, то маяк запущений у процесі з правами адміністратора. Темніший значок означає, що сеанс маяка попросили закінчити, і він підтвердив це.

Значок брандмауера вказує на точку виходу  маяка.  Зелена пунктирна лінія вказує на те, що  маяк використовує  з’єднання HTTP або HTTPS для виходу з мережі.  Жовта пунктирна лінія вказує на те, що DNS використовується  для виходу з мережі.

Перегляд графіка “Удар кобальту”

Стрілка, що з’єднує один сеанс маяка з іншим, представляє зв’язок між двома маяками. Маяки використовують іменовані труби Windows і гнізда TCP для керування маяками через однорангове підключення.

Помаранчева стрілка – це іменована труба (PIPE).   Сеанси SSH також використовують помаранчеву стрілку.  Синя стрілка –  канал сокета TCP.  Червона  (з іменем pipe) або фіолетова (TCP) стрілка вказує на те, що підключення розірвано.

Натисніть на маяк  , щоб вибрати його.  Ви можете вибрати кілька маяків, натиснувши та перетягнувши поле над потрібними хостами.  Натисніть клавіші Ctrl та Shift, щоб виділити або скасувати виділення окремого маяка.

 Клацніть правою кнопкою миші на маяку, щоб відкрити меню з доступними параметрами післяопераційний.

На  графіку Pivot  доступно кілька гарячих клавіш

  1. Ctrl+Plus — збільшити масштаб

  2. Ctrl+мінус —уменьшить масштаб

  3. Ctrl+0 – скидання рівня масштабування

  4. Ctrl+A — вибрати всі хости

  5. Escape – зніміть виділення

  6. Ctrl+C — розташування господарів по колу

  7. Ctrl+S — розташування хостів у вигляді стеку

  8. Ctrl+H — розташування хостів в ієрархії

Клацніть правою кнопкою миші  на зведеному  графіку без маяків, щоб налаштувати розташування цього графіка.  У цьому меню також є опція для від’єднаних сеансів.  Виберіть “Приховати“, щоб приховати незв’язані сеанси на зведеному графіку.   Виберіть елемент Показати, щоб знову відобразити непов’язані сеанси.

Таблиця сесій

Таблиця сеансу показує, які маяки отримують доступ до даного екземпляра Cobalt Strike. Маяк – це корисне навантаження Cobalt Strike для імітації зловмисників.

Тут Ви побачите зовнішню  та внутрішню  IP-адресу кожного Маяка, його Слухача, час останнього доступу до сервера та іншу інформацію. Поруч з кожним рядком знаходиться значок, що вказує на операційну систему скомпрометованої цілі. Якщо піктограма червона з блискавками, маяк   працює в процесі з правами адміністратора.  Темніший значок означає, що  сеанс маяка попросили закінчити, і він підтвердив це.

Інструмент керування Beacon’ом

Якщо ви використовуєте DNS Listener, майте на увазі, що Cobalt Strike нічого не дізнається про хост, поки не зв’яжеться з ним вперше. Якщо ви бачите запис останнього дзвінка і нічого іншого, вам потрібно дати цьому маяку перше запитання, щоб побачити більше інформації. Клацніть правою кнопкою миші на одному або декількох  маяках, щоб побачити  параметри для постоперації.

Таблиця цілей

Таблиця цілей відображає цілі в моделі даних Cobalt Strike. У таблиці цілей відображається IP-адреса кожної цілі, її ім’я в NetBIOS і примітка, призначена вами або членом вашої команди. Значок зліва від цілі вказує на його операційну систему. Червона блискавка вказує на те, що сеанс маяка пов’язаний з метою.

Переглянути  цілі Cobalt Strike

Натисніть на будь-який заголовок  таблиці, щоб відсортувати хости.  Виберіть рядок і клацніть по ній  правою кнопкою миші, щоб викликати меню з параметрами для цього хоста.  Натисніть клавіші Ctrl і Alt, щоб вибрати або скасувати вибір окремих хостів. Таблиця цілей корисна для бічного переміщення та розуміння мережі вашої цілі.

Вкладки

Cobalt Strike відкриває кожне діалогове вікно,  консоль і таблицю на вкладці.  Натисніть  кнопку X  , щоб закрити вкладку.  Використовуйте сполучення клавіш Ctrl+D, щоб закрити активну вкладку.  Ctrl+Shift+D закриє всі вкладки, крім активної.

Клацніть правою кнопкою миші X, щоб відкрити вкладку у вікні, зробити знімок екрана вкладки або закрити всі вкладки з однаковими іменами.

Для цих функцій також є гарячі клавіші. Використовуйте сполучення клавіш Ctrl+W, щоб відкрити активну вкладку в окремому вікні.  Використовуйте сполучення клавіш Ctrl+T, щоб швидко зберегти знімок екрана активної вкладки.

Ctrl+B перемістить поточну вкладку в нижню частину  вікна Cobalt Strike.  Це корисно для вкладок, за якими потрібно постійно стежити.  Ctrl+E скасує цю дію та видалить вкладку внизу  вікна Cobalt Strike.

Утримуйте клавішу Shift і натисніть X, щоб закрити всі вкладки з однаковим іменем.  Утримуючи  клавіші Shift + control, натисніть X, щоб відкрити вкладку в окремому вікні.

Використовуйте клавіші  Ctrl+Left і Ctrl+Right,  щоб швидко переключатися між вкладками. Ви можете перетягувати вкладки, щоб змінити їх порядок.

 

Консоль

Cobalt Strike надає консоль для взаємодії  з сеансами Beacon, скрипів та спілкування з товаришами по команді.

Вкладка “Консоль”

Консолі відстежують історію команд. За допомогою стрілки вгору  перейдіть до попередньо введених команд.  Стрілка вниз дозволяє повернутися до останньої набраної команди.  Команда history  містить список попередньо введених команд.  Символ ! Дозволяє повторно виконувати раніше набрані команди.

Використовуйте клавішу табуляції  для завершення команд і параметрів.

Використовуйте  Ctrl+Plus, щоб збільшити  розмір шрифту консолі,  Ctrl+мінус для зменшення та Ctrl+0  для скидання.  Ця зміна локальна лише для поточної консолі. Щоб назавжди змінити шрифт, перейдіть до Cobalt Strike -> Preferences.

Натисніть Ctrl+F, щоб відобразити панель, яка дозволяє шукати текст у консолі.  Використовуйте Ctrl+A, щоб виділити весь текст у консольному буфері.

Стіл

Cobalt Strike використовує таблиці для відображення сеансів, облікових даних, цілей та іншої інформації про взаємодію.

Більшість таблиць в Cobalt Strike мають можливість призначати виділеним рядкам виділення кольором.  Ці основні моменти видно іншим  клієнтам Cobalt Strike.  Клацніть правою кнопкою миші та знайдіть  меню Колір. Натисніть сполучення клавіш Ctrl+F у таблиці,  щоб відобразити рядок пошуку в таблиці.  Ця функція дозволяє фільтрувати поточну таблицю.

Таблиця з рядком пошуку

У текстовому полі введіть критерії фільтрації. Формат умов залежить від стовпця,   до якого вибрано застосування фільтра.  Використовуйте нотацію  CIDR (наприклад, 192.168.1.0/24) і діапазони хостів  (192.168.1-192.169.200), щоб фільтрувати стовпці, які містять адреси.    Використовуйте числа або діапазони чисел для стовпців, які містять числа.  Використання символів узагальнення(*, ?)  , щоб відфільтрувати стовпці, які містять рядки.

Кнопка! скасовує поточні критерії.  Натисніть клавішу Enter, щоб застосувати вказані умови до цієї таблиці.  Ви можете комбінувати скільки завгодно критеріїв.   Кнопка “Скинути”  видалить фільтри, застосовані до поточної таблиці.

Сполучення клавіш

Під час роботи в інтерфейсі користувача вам доступно багато гарячих клавіш за замовчуванням. Деякі з них можна використовувати де завгодно, інші призначені для різних областей призначеного для користувача інтерфейсу.  Якщо вибрати пункт Довідка -> Default KeyboardShortcuts у меню, відкриється таке довідкове вікно:

Функція Aggressor, також може бути використана для відкриття цього списку.

Дякуємо різним посібникам, які знаходяться у різних відкритих джерелах.

Інші статті по темі
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.