一个用 C 编写的 Windows Mythic 代理
⚠️ Xenon 处于早期发布阶段。它不符合 OPSEC 安全标准,并且可能存在导致崩溃的内存问题。如果计划在真实环境中使用,请进行充分测试。
Xenon 不对规避能力做任何声明。默认配置不符合 OPSEC 安全标准。Xenon 的目标是允许操作员自定义功能以实现其目标。
在已有的 Mythic 服务器上安装 Xenon 非常简单。如果你还没有设置 Mythic 服务器,请前往 Mythic 项目页面。
有关进一步的定制和规避,请参阅 Wiki。
在 Mythic 安装目录下,以 root 用户身份使用以下命令安装 Xenon:
./mythic-cli install github https://github.com/MythicAgents/Xenon.git
在 Mythic 安装目录下,以 非 root 用户身份使用以下命令安装 Xenon:
sudo -E ./mythic-cli install github https://github.com/MythicAgents/Xenon.git
| 命令 | 用法 | 描述 |
|---|---|---|
pwd | pwd | 显示当前工作目录。 |
ls | ls [path] | 列出 <directory> 的目录信息。 |
cd | cd <directory> | 更改工作目录。 |
cp | cp <source file> <destination file> | 将文件复制到新目标位置。 |
rm | rm <path|file> | 删除目录或文件。 |
mkdir | mkdir <path> | 创建新目录。 |
getuid | getuid | 获取当前身份。 |
make_token | make_token <DOMAIN> <username> <password> [LOGON_TYPE] | 使用明文凭据创建令牌并模拟该令牌。 |
steal_token | steal_token <pid> | 窃取并模拟目标进程的令牌。 |
rev2self | rev2self | 将身份恢复为原始进程的令牌。 |
ps | ps | 列出主机进程。 |
shell | shell <command> | 在终端中运行 {command}。 |
remote_exec | remote_exec -Module [module] -Target [target] -Command [command + args] [-Domain [domain]] [-Username [username]] [-Password [password]] | 使用 WMI、WinRM 或 SCShell 在远程机器上执行命令。 |
sleep | sleep <seconds> [jitter] | 更改休眠计时器和抖动。 |
inline_execute | inline_execute -BOF [COFF.o] [-Arguments [optional arguments]] | 在当前进程线程中执行 Beacon Object File 并查看输出。警告: 不正确的参数类型可能导致代理进程崩溃。 |
async_execute | async_execute -BOF [COFF.o] [-Arguments [optional arguments]] | 在后台线程中异步执行 Beacon Object File。输出通过任务更新流式传输。支持 BeaconWakeup / BeaconGetStopJobEvent。 |
jobs | jobs | 列出正在运行的异步 BOF 作业及其 Mythic 任务 UUID。 |
jobkill | jobkill <task_uuid> | 通过 Mythic 代理任务 UUID 停止正在运行的异步 BOF(发出 BeaconGetStopJobEvent 信号)。 |
usermon | usermon [-Interval 3000] | 异步登录监控(WTS 会话轮询)。实时警报在此任务上流式传输。使用 jobkill <usermon_task_uuid> 停止。 |
keylogger | keylogger [-Interval 30000] | 异步键盘记录器:缓冲击键并按间隔转储。在此任务上实时输出。使用 jobkill <keylogger_task_uuid> 停止。 |
inline_execute_assembly | inline_execute_assembly -Assembly [file] [-Arguments [assembly args] [--patchexit] [--amsi] [--etw]] | 使用 @EricEsquivel 的 BOF "Inline-EA" 在当前进程中执行 .NET Assembly(例如:inline_execute_assembly -Assembly SharpUp.exe -Arguments "audit" --patchexit --amsi --etw) |
execute_assembly | execute_assembly -Assembly [SharpUp.exe] [-Arguments [assembly arguments]] | 在远程进程中执行 .NET Assembly 并获取输出。 |
execute_dll | execute_dll -File [mimikatz.x64.dll] | 以 PIC 方式执行动态链接库。(例如:execute_dll -File mimikatz.x64.dll) |
spawnto | spawnto -path [C:\Windows\System32\svchost.exe] | 设置用于 spawn 和 inject 命令的进程完整路径。 |
powerchell | powerchell -Command <command> | 使用 PowerChell post-ex DLL 执行 PowerShell 脚本。 |
powershell_import | powershell_import -File [script.ps1] | --clear | 将 PowerShell 脚本导入缓存。 |
download | download -path <file path> | 从目标系统下载文件(支持 UNC 路径)。 |
upload | upload (modal) | 通过从你的计算机选择文件来上传文件到目标机器。 |
status | status | 列出 C2 连接主机及其状态。 |
link | link <target> [<named pipe>|<tcp_port>] | 连接到 SMB/TCP Link Agent。 |
unlink | unlink <Display Id> | 断开与 SMB/TCP Link Agent 的连接。 |
socks | socks <start/stop> <port number> | 启用兼容 SOCKS 5 的代理以将数据发送到目标网络。 |
rportfwd | rportfwd -Action {start|stop} -Port [port] -RemoteIP [ip] -RemotePort [port] | 反向端口转发。 |
kill | kill [pid] | 按 PID 终止进程。 |
register_process_inject_kit | register_process_inject_kit (pops modal) | 注册用于进程注入的自定义 BOF(兼容 CS)。有关要求,请参阅文档。 |
exit | exit | 命令植入程序退出。 |
长时间运行的 Beacon Object Files 在后台线程中运行,并通过任务更新流式传输输出。使用 jobkill 和 Mythic 代理任务 UUID 停止它们(参见 jobs)。
| 命令 | 用法 | 描述 |
|---|---|---|
async_execute | async_execute -BOF [COFF.o] [-Arguments ...] | 异步运行 BOF(BeaconWakeup / BeaconGetStopJobEvent)。 |
jobs | jobs | 列出正在运行的异步 BOF 作业。 |
jobkill | jobkill <task_uuid> | 向正在运行的异步 BOF 发出停止事件信号。 |
usermon | usermon [-Interval 3000] | 监控本地交互式登录(WTS 轮询)。在此任务上实时输出;使用 jobkill 停止。 |
keylogger | keylogger [-Interval 30000] | 缓冲击键并按间隔转储。在此任务上实时输出;使用 jobkill 停止。 |
示例:
keylogger -Interval 30000
jobs
jobkill <keylogger_task_uuid>

Forge 是一个命令增强容器,我强烈建议你使用它来扩展 Xenon 的功能。 它开箱即用地支持:
要将 forge 与 Xenon 一起使用,你只需安装该容器:
sudo -E ./mythic-cli install github https://github.com/MythicAgents/forge.git
然后只需在你的回调中勾选 ✅ 图标来“启用”命令!
forge_collections -collectionName SharpCollection
forge_collections -collectionName SliverArmory

