> For the complete documentation index, see [llms.txt](https://wbglil.gitbook.io/cobalt-strike/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wbglil.gitbook.io/cobalt-strike/cobalt-strikeji-ben-shi-yong/cs4.0-gong-neng-yan-shi.md).

# CS4.0功能演示

## 基本功能演示

![](/files/-MDollJf7VpC21N8lsjs)

准备一个会话

## Beacon相关功能

右键会话可以执行相关渗透操作

![](/files/-MDorlL17-kFzBj0iLnW)

Beacon的相关命令会放到Cobalt Strike Beacon命令里详细讲解

### Access

* **Dump Hashes**

执行hashdump命令获取用户hash

![](/files/-MDorwHJw2wwlTTMJpkV)

* **Elevate**

选择一个监听器，选择一个exp点ok随后反弹一个高权限会话

![](/files/-MDosAIrIAlokweUcxFl)

* **Golden Ticket**

这里我就不做演示了关于黄金票据的介绍很多，黄金票据(Golden Ticket):简单来说，它能让黑客在拥有普通域用户权限和krbtgt hash的情况下，获取域管理员权限。这是域渗透中挺常用的东西\
详细请看这里:<https://www.freebuf.com/sectool/112594.html>

![](/files/-MDoz-4YC-xaBlipaE8A)

* **Make Token**

制作令牌

![](/files/-MDouFUHuhHDNmEUyuWi)

你可以选择相关凭据制作成令牌让Beacon使用这个新令牌，这将获得一个新令牌与之前的令牌在本地无法区分，当使用Beacon的**getuid**命令查询令牌的身份时，将返回当前用户。当使用**shell whoami**时也将返回当前用户。那这东西有什么用呢?只有当**访问Windows远程网络资源时**如Windows共享等等才会使用**make\_token**提供的令牌

* **One-liner Run**

![](/files/-MDz-Wc-9_YxnwbSQQub)

这个功能是在目标机的本地开启一个web服务（仅监听本地127.0.0.1，且随机端口无法指定，被访问一次后随即关闭web服务）并在上面托管一个powershell脚本，随后生成一个powershell命令行这个命令行就是用来请求执行本地托管的powershell脚本的

![](/files/-MDyzOgtXwRM7qrwYkId)

在目标本地执行

![执行后新产生一个会话](/files/-MDz-bGSy0RBQVkdCKlo)

这个功能主要是作为派生本地会话用（其他机器是无法访问的）需要注意的是如果你使用一个 64 位 的payload ，但是是在一个x86会话中执行powershell命令行，那么在不指定程序位置时执行的默认是x86 powershell.exe这会造成payload执行失败请注意。

* **Mimikatz**

运行Mimikatz的logonpasswords命令

![](/files/-MDp-8qMt9M73w8UDNm5)

* **Spawn As**

使用其他用户权限生成一个会话，需要用户名和密码以及一个监听器可选项域

![选择用户和密码以及监听器](/files/-MDp0kWQBpBHSqBXbmNU)

点击Launch，随后会接收一个以Administrator权限运行的会话

![](/files/-MDp14GtbOOIROHLCroP)

### Explore

* **Browser Pivot**

![](/files/-MDp5Lj7YqfXSmAbOLg1)

一个鸡肋的功能，简单说就是如果对方正在使用IE浏览器，那么在上图就会出现IE浏览器进程，这时我们可以选择它然后点击Launch这样会开启一个代理，使用此代理可以直接登录，对方使用IE以登录的网站，而无需密码，一般来说现在没啥用

* **Desktop (VNC)**&#x20;

![](/files/-MDp7a17qeq_tgceBuMp)

VNC远程桌面，可以进行一些操作，注意使用这个功能一定要确保服务端上的CS目录里有third-party文件夹并且文件夹里有vnc dll否则无非使用此功能

* **File Browser**&#x20;

![](/files/-MDp89cO1SRsYVwn7pGw)

就是普通的文件管理

* **Net View**&#x20;

执行Net View命令

* **Port Scan**&#x20;

![](/files/-MDp8fw2LDgdxeuZ-xGQ)

端口扫描工具可以选择目标范围，扫描端口，最大连接数，目标发现方式（有三种选项。arp方法使用 ARP 请求来发现一个主机是否存活。icmp 方法发送一个 ICMP echo 请求来检查一个目标是否存活。none 选项让端口扫描工具假设所有的主机都是存活的，也就是不判断主机是否在线直接扫描端口。）

* **Process List**&#x20;

![](/files/-MDpAYwFpI2awguuTgpu)

显示进程列表

* **Screenshot**

![](/files/-MDpAixG83SKxcS_W2d-)

查看截图，**视图->屏幕截图**

![](/files/-MDpAlavDNtYBTjgMWuK)

执行屏幕截图

### Pivoting

* SOCKS Server&#x20;

![](/files/-MDpBiZybm4MjfVYs6wb)

![](/files/-MDpBVtLkvHpmpXEO8if)

![](/files/-MDpBqWDgPWGgJANPJNu)

开启一个socks4代理，不建议使用自带的这个代理功能

* **Listener（Pivot 监听器）**

![Pivot 监听器payload只有一个Windows/beacon\_reverse\_tcp](/files/-MDpER5AhATDxCuAF8Uj)

Pivot 监听器会在指定会话的主机上，监听一个端口并把这个端口的流量转发到CS上，我们需要注意的是，Pivot 监听器不会主动修改防火墙也就说，如果目标启用了防火墙，则会出现防火墙提示

![防火墙提示](/files/-MDs2hXCB6uXKvVo_kL5)

所以如果目标开启防火墙我们需要提前开启一个放行规则或关闭防火墙（run netsh advfirewall set allprofiles state off）然后在使用Pivot监听器

![添加了一个Pivot监听器](/files/-MDs0KluU2SYG3Qfy9nF)

![](/files/-MDs40XtetanjRUzdJH5)

查看端口我们发现正在监听4444端口，现在我们用这个监听器生成一个无阶段Beacon Payload

![选择Pivot监听器并生成一个无阶段payload](/files/-MDs0j5_67EJk5zN0TPN)

然后在目标上运行发现接收到一个新会话，随后将视图切换到Pivot

![](/files/-MDs5iOw9iqpWYLTRWgn)

（我这里就开了一台虚拟机但是原理都一样）可以看到子会话使用**青色**箭头指向父会话，表示使用是TCP方式与父会话连接，父会话监听转发4444端口的流量到CS。注:Pivot监听器只能生成无阶段Beacon payload

![分阶段Beacon payload无法选择Pivot监听器](/files/-MDs7exnNLvoQQBWa0lm)

* ~~Deploy VPN~~

这是一个没啥用还及容易出现bug并造成服务端崩溃的功能强烈不建议使用所以不做介绍

## **生成木马**

### **HTA程序**

![](/files/-MECUPFh82t10hEnX0TU)

这里可以选择三种默认：

* Executable：是以十六进制的方式内嵌一个EXE到HTA里，运行时会把exe释放到磁盘然后创建进程运行
* Powershell：HTA调用powershell.exe执行payload
* VBA：通过调用COM组件来执行payload(请确保目标机有Excel.Application组件否则会运行失败，注：组件源自Office)

### **Office宏木马**

这个没啥好说的copy完粘贴到word里保存就行

### **生成Payload**

这个也没啥好说的可以生成各种格式的payload shellcode(注：全都是分阶段payload)

### **Windows分阶段Payload**

### Windows无阶段Payload

这两个差不多没啥好说的关于区别会放到原理介绍中详细解释

## **钓鱼攻击**

### 克隆网站

**攻击->钓鱼攻击->克隆网站**

![](/files/-MDsvBslhT6ff3H9ED58)

我这里就克隆一下百度，并开启按键记录，完成后你可以在web服务管理面板里看到，其中的Attack我要说一下这个是和后面的五个功能进行联动的，可以选择后面五个功能生成的url将其嵌入到钓鱼网页中

![](/files/-MDsvREg3Pr4aZkMmGFi)

![](/files/-MDsvyD0Yde8kQwElJc2)

现在我们可以随便输入一些东西然后转到**视图**->**web日志**查看按键记录（其实这个功能也是没啥用的功能，创建钓鱼网站我建议自行创建不要使用cs自带的）

![按键记录](/files/-MDswptMfx0mMWjnnKhs)

### 文件下载

**攻击->钓鱼攻击->文件下载**

![](/files/-MDsxxLTjcXRHVF1an96)

这个会把选择的文件上传到CS服务器上然后开启对应的端口等待被访问，你还可以选择Mime Type（content-type）浏览器访问时会根据这个值采取一些对应的解析措施，比如我这里虽然后缀是exe但是浏览器还是会当作html网页解析

你可以在web服务管理里查看或结束CS所开启的web服务，web日志里则记录了web服务的请求日志（Ctrl+K清屏）

![](/files/-MDt-B7hjD3iOl0S7EmM)

### Scripted Web Delivery (S)

![](/files/-MDt1M_zdpBIBtf7v7pI)

这个就是开启一个web服务托管payload，并根据选择的类型生成一个命令行来执行payload上线

### Signed Applet Attack（废弃）

![](/files/-MECAPg43PL9vBiltLIk)

![](/files/-MEC4ai_M_F64iLP_RF8)

![](/files/-MECAuIt45sZhBmK-ECR)

因为证书原因是无法运行的得去设置一下java安全配置

![添加一个例外站点](/files/-MECB9z-bv2HJh-TMSux)

再次访问

![](/files/-MECC7jg6NPeVaIeOjLE)

![](/files/-MECCDDv9ScmN4kE7zsh)

![](/files/-MECCR3r8QTgUDsPUz_T)

经过一番折腾上线，也是一个没啥用的功能而且还必须得是IE或旧火狐旧谷歌

### Smart Applet Attack（废弃）

这个主要是利用Applet检查自动检测java版本并进行攻击。\
针对，Java 1.6.0\_45及以下版本 Java 1.7.0\_21及以下版本

还是先得找上面那样设置，不过这里是1.7版本安全级别存在中，所以直接把安全级别调到中就行

![](/files/-MECINIv8c7ojuJ8Nr0D)

![点运行](/files/-MECIkKoxGpRA3eaV1Px)

![](/files/-MECJbVhIL_xtOL_pcGJ)

也是一个没啥用的功能可以说是比上一个还没用

### System Profiler（废弃）

![](/files/-MDxWbzMPnYP8hz33k_n)

这个功能主要是通过浏览器探测目标信息，当目标访问此url时CS就会收集一些浏览器和操作系统的信息，System Profiler 也可以尝试去发现代理服务器后，用户内网的IP地址（**这是依靠一个未签名的 Java Apple实现的，一般情况这并不好用所以取消勾选 Use Java Applet to get information**）

Redirect URL（重定向 URL），这个选项用来指定探针被访问后是否将浏览者重定向到指定的url

可以通过**视图->应用信息**查看收集到的相关信息

![](/files/-MDx_461PoXhllWfH5Q5)

这后三个标注废弃的功能都是没啥用的，在现在一般情况下屌用没的
