分类 - Cobalt Strike

2020-01-17 18:42:16    7709    0    0

0x01 「Cobalt Strike 中的桌面控制功能」概述

在 Cobalt Strike 中,在获取目标机器的 Beacon shell 的前提下,要与目标主机上的桌面交互,通过 [beacon]ExploreDesktop(VNC)。这会将一个 VNC 服务器转入当前进程的内存中并通过 Beacon 对连接建立隧道。

当 VNC 服务器准备就绪时,Cobalt Strike 会打开一个标签为 Desktop HOST@PID 的标签页。

也可以使用 Beacon 的 desktop 命令来将一个 VNC 服务器注入一个特定的进程。使用 desktop pid 架构 low|high 命令。最后一个参数用于指定 VNC 会话的画质。

0x02 问题描述

环境:

  • 目标系统为 Windows 10,上面有 360(ZhuDongFangYu.exe) 杀软。
  • Cobalt Strike 3.14 非试用版

通过选项卡 Desktop (VNC) 选项无法打开 Desktop 标签页:

title

title

title

title

可以看到在团队服务器的 7609 端口派生了一个 VNC 服务器,但是与 VNC 服务器的连接没有响应。

尝试的一些思路是:

1、查看 VNC 的 DLL 是不是存在:

在 Cobalt Strike 团队服务器上确认存在:

title

2、查看团队服务器的 7609 端口是否开放:

title

看上去就是此服务,那也不是端口的问题。

0x03 问题解决

解决方案就是:

一种思路是:把 Desktop(VNC) 工具注入到 explorer.exe 进程中,这样回来一个会话,即用此会话去开 VNC Desktop。

但是用 explorer.exe 的话,可能对方会明显感觉卡顿。最好是切到一个在线的用户权限上,像截屏、键盘记录等这些后渗透功能,一般都要到对应的用户空间下操作。

具体命令:

在 Beacon 控制台中,

  1. desktop [explorer pid] x86|x64 low|high

注:

  • low|high 控制截屏画质。

操作实例:

title

title

title

注意:

有时候也会有这种情况,

2020-01-13 18:55:15    2296    0    0

大致思路如图:

title

根据具体网络情况可做增删。

2020-01-10 16:56:47    4973    0    1

0x01 准备工作

  • 受害主机:在关闭 Windows Defender 和其他一切杀软的前提下,在 Win 10 主机下进行的实验。
  • MSF:本地 kali
  • Cobalt Strike 团队服务器:Ubuntu VPS
  • Cobalt Strike:3.14

团队服务器:

title

客户端:

title

上线过程:

因为我关闭了一切杀软及 Windows Defender,自不必做免杀。

title

title

title

一些朋友搞不清楚 Windows ExecutableWindows Executable (s) 的区别。据官方文档说,Windows Executable 是生成一个 stager,但是 Windows Executable (s) 是 stageless 的,相当于直接生成一个 stage。这个涉及一个分阶段传送 payload 的概念,不做过多解释。我认为选 Windows Executable (s) 比较好,因为 payload stager 因其体积原因,没有一些内建的安全特性。所以能不分阶段就不分阶段。

然后就点击上线。

title

点击上线之后,可以做一些基本的配置。如设置「抖动因子」或者启动「交互式模式」。

这两个概念官方手册有写,以下部分摘自 cs 官方文档,我翻译了一下:

请注意,Beacon 是一个异步的 payload。命令不会立即执行。每个命令都会先进入队列。当 Beacon 连接到你的时候。它会下载这些命令并挨个执行它们。此时,Beacon 会将所有的输出报告给你。如果输入有误,使用 clear 命令来清理当前 Beacon 的命令队列。

默认情况下,Beacon 每60秒连接到你一次。你可以使用 Beacon 的 sleep 命令修改这个时间设置。使用 sleep 接着一个秒数来指定 Beacon 连接到你的频率。你也可以指定第二个参数,这个参数必须是一个0到99之间的数字。这个数字就是抖动因子。Beacon 会根据你指定的抖动因子的百分比随机变化下次连接到你的时间。比如,sleep 300 20这条命令,会使得 Beacon 睡眠 300秒,另外有 20% 的抖动因子。这意味着 Beacon 在