Mythic C2学习
字数 1840 2025-08-22 12:22:15

Mythic C2 框架详细使用指南

1. 用户与权限管理

1.1 用户操作

  • 添加用户:通过右上角用户图标 → "NEW OPERATOR" 添加新用户
  • 权限角色
    • Lead:管理员权限,可添加/删除用户和更改用户权限
    • Operator:普通用户权限
    • Spectators:只读权限,不能操作

1.2 操作组(Operation)管理

  • 创建新组:通过"New Operation"创建,如命名为"operate"
  • 切换当前组:使用"MAKE CURRENT"功能
  • 组内成员管理:在组内"EDIT"界面添加/移除成员
  • 权限隔离:不同组的Beacon相互不可见,需切换组才能查看

1.3 命令权限控制

  • 可为特定用户限制可执行的命令
  • 示例:禁止用户执行"shell"命令但仍可执行"run"命令

2. C2 Profile配置

2.1 基本配置

  • 通过耳机图标访问所有代理和C2 Profile信息
  • 配置为JSON格式,可设置:
    • 服务器标头和端口
    • TLS/SSL启用状态(use_ssl)
    • 证书路径(key pathcert path)

2.2 启动配置

  • 配置完成后需手动启动
  • HTTPS回调需设置端口为443
  • 可配置代理日期、请求方式等参数

3. Payload生成与管理

3.1 生成Payload

  1. 通过"Create Payload"或"Generate New Payload"创建
  2. 选择操作系统:Linux/Windows/MacOS
  3. 选择代理类型(如medusa、Apollo、Poseidon)
  4. 选择命令集(可全选)
  5. 指定C2配置文件
  6. 设置回调地址(IP或CDN地址)
  7. 生成最终Payload文件

3.2 各代理特点

  • Apollo

    • 基于C#,仅Windows
    • 支持进程迁移、mimikatz、程序集执行
    • 支持HTTP(S)和SMB C2
  • Medusa

    • 基于Python,跨平台(Windows/Linux/MacOS)
    • 可执行任意Python代码
    • 支持HTTP(S) C2
  • Poseidon

    • 基于Go,面向Linux/MacOS
    • MacOS特有功能如launchd持久性
    • 支持HTTP(S)、TCP和Websocket

4. SOCKS5代理

  • Apollo和Medusa支持SOCKS5
  • 端口范围限制在7000-7010(可通过.env文件修改)
  • 仅支持TCP,不支持UDP
  • 使用建议:设置Beacon为Sleep 0以提高代理速度

5. 进阶功能

5.1 文件操作

  • Upload功能:类似Cobalt Strike的文件上传
  • Powershell导入:使用powershell_import导入ps1脚本
  • 文件删除rm [path]命令

5.2 进程注入

  • shinject:将shellcode注入其他进程(比inject更安全)
  • psinject:在指定进程中执行Powershell命令
  • assembly_inject:将dotnet加载到目标进程并执行

5.3 其他命令

  • secret_token:窃取令牌(类似CS),默认winlogon.exe
  • spawnto_x86/x64:派生新会话
  • screenshot_inject:进程截图(pid count interval)
  • screenshot:截取当前屏幕
  • rev2self:恢复原始令牌
  • pth:Hash传递攻击
  • net_dclist:获取域控制器列表
  • keylog_inject:键盘记录(需指定pid)
  • blockdlls:阻止非Microsoft DLL加载

6. Athena代理使用

6.1 安装

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

6.2 生成Payload

  • 生成zip文件,内含exe
  • 重要参数:
    • Obfuscate:启用载荷加密
    • Debug/Release:选择构建版本

6.3 特点

  • 文件体积较大
  • 可使用源码进行自定义修改

7. 注意事项

  1. 不同操作组的Beacon相互隔离
  2. 普通用户无法更改组配置
  3. SOCKS5代理需注意端口范围和TCP限制
  4. 注入命令需谨慎使用,避免Beacon下线
  5. HTTPS回调需正确配置SSL和443端口
  6. 生成Payload时注意选择正确的操作系统和代理类型

通过以上详细指南,用户可以全面掌握Mythic C2框架的各项功能,从基础用户管理到高级攻击操作,实现有效的团队协作和渗透测试任务执行。

Mythic C2 框架详细使用指南 1. 用户与权限管理 1.1 用户操作 添加用户 :通过右上角用户图标 → "NEW OPERATOR" 添加新用户 权限角色 : Lead :管理员权限,可添加/删除用户和更改用户权限 Operator :普通用户权限 Spectators :只读权限,不能操作 1.2 操作组(Operation)管理 创建新组 :通过"New Operation"创建,如命名为"operate" 切换当前组 :使用"MAKE CURRENT"功能 组内成员管理 :在组内"EDIT"界面添加/移除成员 权限隔离 :不同组的Beacon相互不可见,需切换组才能查看 1.3 命令权限控制 可为特定用户限制可执行的命令 示例:禁止用户执行"shell"命令但仍可执行"run"命令 2. C2 Profile配置 2.1 基本配置 通过耳机图标访问所有代理和C2 Profile信息 配置为JSON格式,可设置: 服务器标头和端口 TLS/SSL启用状态( use_ssl ) 证书路径( key path 和 cert path ) 2.2 启动配置 配置完成后需手动启动 HTTPS回调需设置端口为443 可配置代理日期、请求方式等参数 3. Payload生成与管理 3.1 生成Payload 通过"Create Payload"或"Generate New Payload"创建 选择操作系统:Linux/Windows/MacOS 选择代理类型(如medusa、Apollo、Poseidon) 选择命令集(可全选) 指定C2配置文件 设置回调地址(IP或CDN地址) 生成最终Payload文件 3.2 各代理特点 Apollo : 基于C#,仅Windows 支持进程迁移、mimikatz、程序集执行 支持HTTP(S)和SMB C2 Medusa : 基于Python,跨平台(Windows/Linux/MacOS) 可执行任意Python代码 支持HTTP(S) C2 Poseidon : 基于Go,面向Linux/MacOS MacOS特有功能如launchd持久性 支持HTTP(S)、TCP和Websocket 4. SOCKS5代理 Apollo和Medusa支持SOCKS5 端口范围限制在7000-7010(可通过.env文件修改) 仅支持TCP,不支持UDP 使用建议:设置Beacon为Sleep 0以提高代理速度 5. 进阶功能 5.1 文件操作 Upload功能 :类似Cobalt Strike的文件上传 Powershell导入 :使用 powershell_import 导入ps1脚本 文件删除 : rm [path] 命令 5.2 进程注入 shinject :将shellcode注入其他进程(比inject更安全) psinject :在指定进程中执行Powershell命令 assembly_ inject :将dotnet加载到目标进程并执行 5.3 其他命令 secret_ token :窃取令牌(类似CS),默认winlogon.exe spawnto_ x86/x64 :派生新会话 screenshot_ inject :进程截图( pid count interval ) screenshot :截取当前屏幕 rev2self :恢复原始令牌 pth :Hash传递攻击 net_ dclist :获取域控制器列表 keylog_ inject :键盘记录(需指定pid) blockdlls :阻止非Microsoft DLL加载 6. Athena代理使用 6.1 安装 6.2 生成Payload 生成zip文件,内含exe 重要参数: Obfuscate :启用载荷加密 Debug/Release :选择构建版本 6.3 特点 文件体积较大 可使用源码进行自定义修改 7. 注意事项 不同操作组的Beacon相互隔离 普通用户无法更改组配置 SOCKS5代理需注意端口范围和TCP限制 注入命令需谨慎使用,避免Beacon下线 HTTPS回调需正确配置SSL和443端口 生成Payload时注意选择正确的操作系统和代理类型 通过以上详细指南,用户可以全面掌握Mythic C2框架的各项功能,从基础用户管理到高级攻击操作,实现有效的团队协作和渗透测试任务执行。