
ARTi-C2 — это фреймворк для пост-эксплуатации, используемый для выполнения тестовых сценариев Atomic Red Team с возможностями быстрого развертывания и выполнения полезной нагрузки через DLR .NET.
ARTC2 — это современный фреймворк для выполнения атак, который помогает командам безопасности масштабировать выполнение сценариев атак с одной или нескольких точек взлома. Он предназначен для получения полезной информации об атаках, что повышает эффективность средств защиты и реагирования на инциденты.
Основные функции и возможности ARTC2 основаны на SILENTTRINITY, а атомарные тесты, выполняемые через Boo, взяты из ATOMIC-RED-TEAM. Все остальные улучшения функций были созданы для обеспечения того, чтобы оперативное мастерство, гибкость, масштабируемость и скорость выполнения не были скомпрометированы.
| ВОЗМОЖНОСТЬ | ОПИСАНИЕ |
|---|---|
| Быстрое развертывание | Автоматизируйте и масштабируйте усилия по тестированию с одной или нескольких точек взлома, расположенных в разных региональных средах |
| Современное управление и контроль (C2) | Связь между имплантом и сервером: Использует возможности зашифрованной связи C2 SILENTRINITY ECDHE для шифрования трафика C2 через HTTPS. Связь между клиентом и сервером: Использует Asyncio, WebSockets и CLI на основе prompt-toolkit. Примечательные особенности включают: - Маркировка местоположения импланта: Полезно при управлении сигналами и точками остановки в разных регионах. Интеграция NGROK - Отлично подходит для размещения полезных нагрузок и их развертывания с помощью URL-адресов ngrok |
| Стандартный заголовок подписи | JSON PID: , Date(UTC), IsHighIntegrity, HostName, CurrentUser , IsUserAdmin, IPv4, IPv6 |
| Поддержка логирования в JSON | Упрощайте, загружайте, декодируйте и анализируйте доказательства с помощью вашего стека ELK или любой аналитической платформы, готовой к парсингу JSON. |
| Выполнение кода в памяти без стадий | Выполняйте тесты Atomic Red Team из неуправляемого процесса PowerShell с низкой, средней и высокой целостностью. |
| Динамические атакующие формации | Выполняйте цепочки атак без перекомпиляции или перезапуска ARTC2. В настоящее время поддерживаются три различные функции атак: Цепочки атак, Профили атак и Сценарии атак |
| Модульная доставка полезной нагрузки | ARTC2 использует фреймворк SILENTRINITY, который применяет неуправляемые PowerShell и бесстадийные PowerShell стейджеры для компиляции и выполнения полезных нагрузок тестов Atomic Red Team в памяти, "AS IS" |
| Оперативное управление | Идентификаторы заданий включены для выполнения управления и сбора доказательств. Они отлично подходят для анализа событий и корреляции доказательств. "job_id": "D3l820IWpyi67" |
Организациям необходимо:
По умолчанию логи ARTIC-C2 записываются в текущую рабочую директорию ARTIC-C2 в ./logs/.
Логи сеансов включают:
utc_timestamp: метка времени UTCsession: GUID целевого сеансаjob_id: уникальный идентификатор выполнения заданияttp_data: идентификатор техникиevidence: доказательства, закодированные в Base64, собранные с точки взломаevidence_status: статус, указывающий, была ли выполненная TTP заблокирована.
ЗАГОЛОВОК ПОДПИСИ ВЫПОЛНЕНИЯ
Заголовки подписи выполнения используются для проверки, блокируют ли какие-либо средства защиты атомарные тесты. Иногда атомарные команды могут не возвращать данные в STDOUT. Однако, если заголовок подписи выполнения возвращает информацию заголовка, это указывает на то, что исходный код скомпилирован, загружен в CLR и выполнен на целевой точке взлома. Заголовок подписи выполнения включает:
PID: идентификатор процесса, использовавшийся во время выполнения техникиDate: метка UTC, созданная с целевой точки взломаIsHighIntegrity: статус целостности процессаHostName: имя хоста точки взломаCurrentUser: текущий пользователь. Отлично подходит для отслеживания, когда пользователи были перехвачены (impersonated)IsUserAdmin: статус администратораIPv4: информация об IPv4-адресеIPv6: информация об IPv6-адресеПРИМЕР ЖУРНАЛА СОБЫТИЙ ВЫПОЛНЕНИЯ
T1069.001-2 был выполнен в памяти
2021-08-21 07:42:21,146 - {"utc_timestamp": "2021-08-21T07:42:21Z", "msg": "Technique executed:", "controller": "Discovery/T1069.001-2", "last_updated_by": "ARMADO, Inc.",
"ttp_id": "T1069.001", "ttp_opts": {"OutString": {"Description": "Appends Out-String to the PowerShellCode", "Required": false, "Value": true}, "BypassLogging":
{"Description": "Bypasses ScriptBlock and Techniques logging", "Required": false, "Value": true}, "BypassAmsi": {"Description": "Bypasses AMSI", "Required": false, "Value": true}},
"decompressed_file": "n/a", "file_name": "n/a", "gzip_file": "n/a", "language": "boo", "references": ["System.Management.Automation"], "run_in_thread": "n/a", "job_id": "B5ppBWed5NF6c"}
ПРИМЕР ЖУРНАЛА СБОРА ДОКАЗАТЕЛЬСТВ
Доказательства были собраны с целевой точки взлома после выполнения T1069.001-2.
2021-08-21 07:42:25,076 - {"utc_timestamp": "2021-08-21T07:42:25Z", "session": "17ed378a-8cb9-4690-9087-e894c2b1e0a2", "job_id": "B5ppBWed5NF6c", "ttp_data": "T1069.001", "evidence": "IntQSUQ6IDU1NTYsIERhdGUoVVRDKTogMjAyMS0wOC0yMVQwNzo0MjoyNC45MDMyNDk2WiwgSXNIaWdoSW50ZWdyaXR5OiB0cnVlLCBIb3N0TmFtZTogYWQtZGMxLCBDdXJyZW50VXNlcjogZGVlcHJvb3RcXHJ1c3NlbF9oYW5jb2NrLCBJc1VzZXJBZG1pbjogdHJ1ZSwgSVB2NDogWzEwLjEuMC4xMDAsIDE2OS4yNTQuMTM0LjExMV0sIElQdjY6IFtmZTgwOjpkZGUxOjIyYTo3YmEzOmZlMGIlNSwgZmU4MDo6YjhmODpiNDIxOjI3Yzg6ODY2ZiUxMV19XHJcbk5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuQ2VydCBQdWJsaXNoZXJzICAgICAgICAgICAgICAgICAgICAgICAgIE1lbWJlcnMgb2YgdGhpcyBncm91cCBhcmUgcGVybWl0dGVkIHRvIHB1Ymxpc2ggY2VydGlmaWNhdGVzIHRvIHRoZSBkaXJlY3RvcnkgICAgXHJcblJBUyBhbmQgSUFTIFNlcnZlcnMgICAgICAgICAgICAgICAgICAgICBTZXJ2ZXJzIGluIHRoaXMgZ3JvdXAgY2FuIGFjY2VzcyByZW1vdGUgYWNjZXNzIHByb3BlcnRpZXMgb2YgdXNlcnMgICAgICAgICAgICAgIFxyXG5BbGxvd2VkIFJPREMgUGFzc3dvcmQgUmVwbGljYXRpb24gR3JvdXAgTWVtYmVycyBpbiB0aGlzIGdyb3VwIGNhbiBoYXZlIHRoZWlyIHBhc3N3b3JkcyByZXBsaWNhdGVkIHRvIGFsbCByZWFkLW9ubHkgZG8uLi5cclxuRGVuaWVkIFJPREMgUGFzc3dvcmQgUmVwbGljYXRpb24gR3JvdXAgIE1lbWJlcnMgaW4gdGhpcyBncm91cCBjYW5ub3QgaGF2ZSB0aGVpciBwYXNzd29yZHMgcmVwbGljYXRlZCB0byBhbnkgcmVhZC1vbmx5Li4uXHJcbiI=",
"evidence_status": "1"}
ПРИМЕР ЗАГОЛОВКА ПОДПИСИ
"{PID: 5556, Date(UTC): 2020-01-02T06:55:47Z, IsHighIntegrity: true, HostName: ad-dc1, CurrentUser: artic\\c2operator, IsUserAdmin: true,
IPv4: [10.1.0.100, 169.254.134.111], IPv6: [fe80::dde1:22a:7ba3:fe0b%5, fe80::b8f8:b421:27c8:866f%11]}
ПРИМЕР ЖУРНАЛА ДОКАЗАТЕЛЬСТВ, ДЕКОДИРОВАННОГО ИЗ BASE64
"{PID: 5556, Date(UTC): 2021-08-21T07:42:24.9073249Z, IsHighIntegrity: true, HostName: ad-dc1, CurrentUser: deeproot\\russel_hancock, IsUserAdmin: true,
IPv4: [10.1.0.100, 169.254.134.111], IPv6: [fe80::dde1:22a:7ba3:fe0b%5, fe80::b8f8:b421:27c8:866f%11]}
Name Description
---- -----------
Cert Publishers Members of this group are permitted to publish certificates to the directory
RAS and IAS Servers Servers in this group can access remote access properties of users
Allowed RODC Password Replication Group Members in this group can have their passwords replicated to all read-only do...
Denied RODC Password Replication Group Members in this group cannot have their passwords replicated to any read-only...
"
По умолчанию прослушиватели привязываются к интерфейсу системы через HTTPS:443 и HTTP:80. Они должны быть доступны с предполагаемой точки взлома. Установите ваши URL-адреса обратного вызова в контексте :> listeners перед генерацией любого стейджера.
git clone https://github.com/ARMADOinc/Atomic-Red-Team-intel-C2.gitcd ./Atomic-Red-Team-intel-C2./install.sh installВАРИАНТЫ РАЗВЕРТЫВАНИЯ
ARTIC-C2 обеспечивает гибкие модели развертывания для удовлетворения всех требований к выполнению атомарных тестовых сценариев. Хотя существуют некоторые зависимости консоли на стороне клиента, связанные с кэшированием, клиентская консоль не обязательна для запуска на той же системе, что и сервер команды (Team Server). В ближайшее время мы упакуем и выпустим выделенного клиента.
ПРИМЕЧАНИЕ: В примерах ниже предполагается, что ARTIC-C2 запускается из того же экземпляра.
Запуск WSS на порту по умолчанию с созданием журнала по требованию
artic2.py wss 127.0.0.1 Art1.c25rvr >> /var/log/artic2.log &artic2.py client wss://operator:[email protected]:5000Запуск WSS на порту по умолчанию на переднем плане
artic2.py wss 127.0.0.1 Art1.c25rvrartic2.py client wss://operator:[email protected]:5000Запуск WSS на порту 5443, привязка к 10.0.0.43, создание журнала по требованию и подключение двух клиентов
artic2.py wss 10.0.0.43:5443 Art1.c25rvr >> /var/log/artic2.log &artic2.py client wss://operator1:[email protected]:5443artic2.py client wss://operator2:[email protected]:5443