Cobalt Strike 使用内置SSH客户端控制 UNIX 目标。此 SSH 客户端从父 Beacon 接收任务并通过父Beacon路由其输出。
右键单击目标,然后转到 Login -> ssh 以使用用户名和密码进行身份验证。转到 Login -> ssh (key) 使用密钥进行身份验证。
在 Beacon 控制台中,使用 ssh [pid] [arch] [target] [user] [password] 注入指定进程以运行 SSH 客户端并尝试登录指定目标。使用 ssh [target] [user] [password](不带 [pid] 和 [arch] 参数)派生一个临时进程来运行 SSH 客户端并尝试登录到指定的目标。

你也可以使用 ssh-key [pid] [arch] [target:port] [user] [/path/to/key.pem] 注入指定进程,运行SSH 客户端并尝试登录指定目标。使用 ssh-key [target:port] [user] [/path/to/key.pem](不含[pid]和[arch]参数)派生一个临时进程,运行 SSH 客户端并尝试登录指定目标。
注:密钥文件必须是 PEM 格式。如果文件不是 PEM 格式,则复制一份文件,然后使用以下命令转换: /usr/bin/ssh-keygen -f [/path/to/copy] -e -m pem -p
这些命令会运行 Cobalt Strike 的 SSH 客户端。客户端会向父Beacon 报告任何连接或身份验证问题。如果连接成功,你会在 Cobalt Strike 的显示中看到一个新会话。这是一个 SSH 会话。右键单击该会话,然后选择Interact打开 SSH 控制台。


输入 help 查看 SSH 会话支持的命令列表。输入 help 后跟命令名,可查看该命令的详细信息。

shell 命令将运行你提供的命令和参数。在 Cobalt Strike 将命令放到后台之前,运行中的命令会阻塞SSH会话长达 20 秒。Cobalt Strike 会报告这些长时间运行命令的输出结果。

使用 sudo [password] [command + arguments] 尝试通过sudo运行命令。该别名要求目标sudo接受 -S 标志。
cd 命令将更改 SSH 会话的当前工作目录。pwd 命令报告当前工作目录。

可使用以下命令:
download - 该命令下载请求的文件。文件名中如果有空格,则无需加引号。Beacon专为低速、缓慢的数据外泄而设计。在每次check-in过程中,Beacon 会下载每个文件的固定片段。该数据块的大小取决于 Beacon 当前的数据通道。HTTP 和HTTPS通道以 512KB 的块大小下载数据。downloads - 用于查看当前 Beacon 正在进行的文件下载列表。cancel - 使用此命令,并在命令后加上文件名,以取消正在进行的下载。你可以在取消命令中使用通配符,一次取消多个文件的下载。upload - 该命令将文件上传到主机。timestomp - 上传文件时,有时需要更新文件的时间戳,使其与同一文件夹中的其他文件保持一致。这条命令就能实现这一目的。timestomp 命令会将一个文件的 “已修改”、“已访问 ”和 “已创建 ”时间与另一个文件相匹配。在 Cobalt Strike 中进入View -> Downloads,查看团队目前已下载的文件。只有完成的下载才会显示在此选项卡中。·

下载的文件存储在团队服务器上。要将文件保存到文件系统中,请在此处选中它们,然后点击 Sync Files。Cobalt Strike 会将所选文件下载到你系统中指定的文件夹。
#10.4、点对点C2SSH 会话可以控制 TCP beacon。使用connect命令可以控制等待连接的 TCP Beacon。使用 unlink 命令断开 TCP Beacon会话。
通过[session] -> [Listeners] -> Pivot -> Listener...,设置与此 SSH 会话绑定的 pivot 监听器。这将允许这个被入侵的 UNIX 目标接收反向 TCP Beacon会话。此选项要求 SSH 守护进程的 GatewayPorts 选项设置为 yes 或 ClientSpecified。


socks - 使用此命令在团队服务器上创建一个通过ssh会话转发流量的SOCKS服务器。rportfwd 命令还将创建一个反向端口转发,用于路由通过 SSH 会话和你的Beacon链的流量。
rportfwd 有一个注意事项:rportfwd 命令要求 SSH 守护程序绑定所有接口(0.0.0.0)。SSH 守护进程很可能会覆盖此配置并强制端口绑定到localhost。你需要将 SSH 守护程序的 GatewayPorts 选项更改为yes或 clientspecified。