
C# C2 фреймворк, ориентированный на операции первого этапа
C# C2 Framework, ориентированный на операции первого этапа
Atlas предназначен для закрепления в среде и последующего использования этого для протаскивания C# (пока строго C#) вооружения с помощью импланта на основе HTTP. В текущем состоянии... совсем не OPSEC-безопасен. В настоящее время нацелен только на среду Windows
Примечание: Настройки подключения по умолчанию в импланте заданы для подключения к localhost на порту 8080. Это можно изменить здесь
После генерации exe клиента, teamserver'а и импланта просто запустите Teamserver.exe, чтобы запустить teamserver.
Чтобы запустить новый слушатель, используйте команду StartListener. Эта команда принимает два параметра: имя слушателя и порт для работы.
Команда Listeners выводит список всех слушателей, ViewListener возвращает данные по указанному слушателю, а RemoveListener используется для удаления слушателя из списка.
Вывести список подключенных имплантов можно с помощью команды Implants.
Подключиться к импланту так же просто, как Connect <ImplantId>. Видите, что я сделал?... Ладно, я уйду. Команда Connect используется для выбора импланта. ViewImplant можно использовать для просмотра дополнительной информации о выбранном импланте. Команда Disconnect отменяет выбор текущего импланта, как показано ниже.
Чтобы использовать задачу, её сначала нужно выбрать с помощью SetTask. Параметры можно просмотреть с помощью TaskOpts и установить с помощью SetTaskOpt. Задачи выполняются с помощью SendTask.
Можно просмотреть вывод ранее выполненной задачи с помощью TaskOut. TasksOut можно использовать для просмотра всех ранее выполненных задач, относящихся к выбранному импланту.
Atlas позволяет операторам выполнять как PowerShell, так и Cmd команды с помощью задач PSShell и CMDShell соответственно. PSShell открывает новое пространство запуска и выполняет команду, поэтому даже если powershell.exe занесён в чёрный список, команды PowerShell всё равно могут быть выполнены. Этот метод также обходит режим ограниченного языка. CMDShell открывает процесс cmd.exe и передаёт команду в процесс. Выполнение команды PowerShell было показано выше, поэтому здесь оно не будет показано. Кстати, о CMDShell: многие распространённые команды, включая (но не ограничиваясь) whoami, ipconfig, pwd и cd, были реализованы в функционале импланта, чтобы избежать необходимости выполнять такие команды через процесс cmd.exe.
Загрузка сборок требует нескольких шагов, в отличие от, например, CobaltStrike, который делает всё с помощью execute-assembly. Сначала оператор должен использовать утилиту ByteConvert (ByteConvert нужно указать, локальный файл или удалённый), чтобы преобразовать локально хранящийся или удалённый файл в массив байтов и сохранить его в переменной assemBytes. После этого выполняется задача Load для загрузки сборки в процесс импланта.
Для просмотра сборок, загруженных в процесс импланта, операторы могут использовать задачи AssemQuery и AssemMethodQuery. Первая возвращает все загруженные сборки, вторая — все открытые методы, относящиеся к загруженной сборке.
Скриншот подтверждает, что сборка TestAssem действительно была загружена в процесс импланта.
AssemMethodQuery затем можно использовать для получения информации о TestAssem, которую оператор может использовать для выполнения открытых методов.
Atlas предлагает опцию выполнения сборки из её точки входа или указанного открытого метода. ExecuteAssem можно использовать для выполнения из точки входа. Эта задача принимает только имя сборки. ExecuteAssemMethod позволяет выполнять другие методы, используя информацию, полученную из AssemMethodQuery.
Полный список функций можно найти в wiki.
Откройте .sln и соберите все 3 компонента в режиме Release. Выходные консольные окна и exe должны появиться в \bin\debug каждого компонента. Надо бы придумать что-то получше для этого.
cpupload/downloadAtlas был разработан исключительно в образовательных/этических целях. Я не одобряю и не несу ответственности за действия пользователей Atlas.