0X01 环境准备

Cobalt Strike安装包(链接:https://pan.baidu.com/s/1wCHJcJrF6H0wUCdetz3Xjg 提取码:rjuj)

Cobalt Strike服务端:kali(不限于kali,但需要时Linux系统)

Cobalt Strike客户端:Windows 7

0X02 Cobalt Strike介绍

​ Cobalt Strike是一款美国 Red Team 开发的渗透测试平台,大佬们都称之为 "CS " (后面为了描(tou)述(lan),也沿用此称谓)。

​ CS 以Metasploit为基础,集成了扫描、端口转发、提权、Socket代理、木马生成、文件捆绑、网站克隆、多模式端口监听、自动化溢出、钓鱼攻击等强大的功能,该工具几乎覆盖了APT攻击链中所需要用到的各个技术环节。

​ CS的强大主要用于大型APT组织的团队作战,采用C/S架构,能让各个地方的团队成员同时连接到团队服务器,共享信息资源和攻击成果,可谓是团队作战的神兵利器,因其强大的功能和灵活的架构,已成为各大APT组织的首选。

​ CS这么好用,其实是一款需要付费的项目,价格也不高(๑乛◡乛๑),3500刀/年,支持正版的小伙伴出门右拐:

​ CS项目官网地址:https://www.cobaltstrike.com

Cobalt Strike文件结构

​ 这里使用的是CS 3.14版本,下载Cobalt Strike之后,其文件结构如下所示:

部分文件解释说明:

│  agscript 		拓展应用的脚本
│ c2lint 检查profile的错误异常
│ cobaltstrike
│ cobaltstrike.jar 客户端程序
│ icon.jpg 图标
│ license.pdf 许可证文件
│ readme.txt
│ releasenotes.txt
│ teamserver 服务端程序
│ update
│ update.jar 更新程序

└─third-party 第三方工具
README.vncdll.txt
vncdll.x64.dll
vncdll.x86.dll

0X03 Cobalt Strike服务端安装

​ 将CS文件夹拷贝到Linux主机下,这里需要注意一下,需要提前安装 java 环境,我这里是kali,已经集成了 openjdk 环境。

切到CS目录下,服务端安装使用teamserver脚本文件:

接下来直接运行脚本配置团队服务器IP与密码即可:

./teamserver 服务器IP 密码

到这里,CS服务端的搭建就完成了,so easy!!!

0X04 客户端上线

​ 将CS文件夹拷贝到windows机器下,运行“cobaltstrike.exe”文件:

运行后会弹出一个框,输入我们前面搭建好的团队服务器 IP 地址,默认端口50050,不用设置,用户名随意,密码也是前面配置团队服务器用到的密码,然后点击“Connect”连接服务器:

首次连接会提示校验服务端哈希,确认我们连接的服务器是自己团队的,指纹信息应和配置团队服务器后生成的哈希值相同。

至此,我们就完成了CS的服务端部署和客户端上线:

0X05 主要功能说明

(1)Listeners

​ 使用CS时需要先创建一个Listerer(监听器),可以理解为用来监视我们的目标主机,并接收目标主机权限的模块。

​ 打开方式:点击Cobalt Strike—>Listeners,或者点击工具栏的耳机图标。

然后点击Add即可添加需要的Listeners了,Cobalt Strike 3.14 包括9种监听方式:

windows/beacon_dns/reverse_dns_txt

windows/beacon_dns/reverse_http

windows/beacon_http/reverse_http

windows/beacon_https/reverse_https

windows/beacon_smb/bind_pipe

windows/foreign/reverse_dns_txt

windows/foreign/reverse_http

windows/foreign/reverse_https

windows/foreign/reverse_tcp

​ 其中windows/beacon是CS自带的模块,包括dns、http、https、smb四种监听方式;windows/foreign为外部监听器,即msf或者Armitage的监听器。

​ 选择监听器后,配置好主机IP和端口,然后保存,监听器就创建完成了。

(2)Attacks

创建好了监听器,就可以利用各种攻击手段攻陷我们的目标了。CS包括多中攻击方式.

Packages

HTML Application 生成恶意的HTA木马文件

MS Office Macro 生成office宏病毒文件

Payload Generator 生成各种语言版本的payload

USB/CD AutoPlay 生成利用自动播放运行的木马文件

Windows Dropper 捆绑器,能够对文档类进行捆绑;

Windows Executable 生成可执行exe木马;

Windows Executable(S)生成无状态的可执行exe木马。

Web Drive-by(钓鱼攻击)

Manage对开启的web服务进行管理;

Clone Site 克隆网站,可以记录受害者提交的数据;

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

Scriptes Web Delivery类似于msf 的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)View

View模块可以方便测试者查看各个模块,图形化的界面可以方便的看到受害者机器的各个信息。

Applications 显示受害者机器的应用信息;

Credentials 显示受害者机器的凭证信息,能更方便的进行后续渗透;

Downloads 文件下载;

Event Log 可以看到事件日志,清楚的看到系统的事件,并且团队可以在这里聊天;

Keystrokes 查看键盘记录;

Proxy Pivots 查看代理信息;

Screenshots 查看屏幕截图;

Script Console 在这里可以加载各种脚本以增强功能,脚本地址戳我;

Targets 查看目标;

Web Log 查看web日志。

beacon

​ beacon为CS 内置监听器,当我们在目标系统成功执行payload以后,会弹回一个beacon的shell给CS.

​ 我们也可以理解为beacon就是我们目标主机的shell,不管我们何种方式获取shell后,就可以使用beacon,当目标主机上线后,右击目标主机,点击Interact,就打开了beacon:

​ 这里需要注意,beacon的命令和操作系统的shell不太一样,比如cmd下查看IP信息用“ipconfig”命令,在beacon下则用“shell ipconfig”。

​ 可以在beacon下输入“help”命令查看可以使用的命令:

Beacon>help

    Command                   Description
------- -----------
browserpivot 注入受害者浏览器进程
bypassuac 绕过UAC
cancel 取消正在进行的下载
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect Connect to a Beacon peer over TCP
covertvpn 部署Covert VPN客户端
cp 复制文件
dcsync 从DC中提取密码哈希
desktop 远程VNC
dllinject 反射DLL注入进程
dllload 使用LoadLibrary将DLL加载到进程中
download 下载文件
downloads 列出正在进行的文件下载
drives 列出目标盘符
elevate 尝试提权
execute 在目标上执行程序(无输出)
execute-assembly 在目标上内存中执行本地.NET程序
exit 退出beacon
getprivs Enable system privileges on current token
getsystem 尝试获取SYSTEM权限
getuid 获取用户ID
hashdump 转储密码哈希值
help 帮助
inject 在特定进程中生成会话
jobkill 杀死一个后台任务
jobs 列出后台任务
kerberos_ccache_use 从ccache文件中导入票据应用于此会话
kerberos_ticket_purge 清除当前会话的票据
kerberos_ticket_use 从ticket文件中导入票据应用于此会话
keylogger 键盘记录
kill 结束进程
link Connect to a Beacon peer over a named pipe
logonpasswords 使用mimikatz转储凭据和哈希值
ls 列出文件
make_token 创建令牌以传递凭据
mimikatz 运行mimikatz
mkdir 创建一个目录
mode dns 使用DNS A作为通信通道(仅限DNS beacon)
mode dns-txt 使用DNS TXT作为通信通道(仅限D beacon)
mode dns6 使用DNS AAAA作为通信通道(仅限DNS beacon)
mode http 使用HTTP作为通信通道
mv 移动文件
net net命令
note 备注
portscan 进行端口扫描
powerpick 通过Unmanaged PowerShell执行命令
powershell 通过powershell.exe执行命令
powershell-import 导入powershell脚本
ppid Set parent PID for spawned post-ex jobs
ps 显示进程列表
p**ec Use a service to spawn a session on a host
p**ec_psh Use PowerShell to spawn a session on a host
psinject 在特定进程中执行PowerShell命令
pth 使用Mimikatz进行传递哈希
pwd 当前目录位置
reg Query the registry
rev2self 恢复原始令牌
rm 删除文件或文件夹
rportfwd 端口转发
run 在目标上执行程序(返回输出)
runas 以另一个用户权限执行程序
runasadmin 在高权限下执行程序
runu Execute a program under another PID
screenshot 屏幕截图
setenv 设置环境变量
shell cmd执行命令
shinject 将shellcode注入进程
shspawn 生成进程并将shellcode注入其中
sleep 设置睡眠延迟时间
socks 启动SOCKS4代理
socks stop 停止SOCKS4
spawn Spawn a session
spawnas Spawn a session as another user
spawnto Set executable to spawn processes into
spawnu Spawn a session under another PID
ssh 使用ssh连接远程主机
ssh-key 使用密钥连接远程主机
steal_token 从进程中窃取令牌
timestomp 将一个文件时间戳应用到另一个文件
unlink Disconnect from parent Beacon
upload 上传文件
wdigest 使用mimikatz转储明文凭据
winrm 使用WinRM在主机上生成会话
wmi 使用WMI在主机上生成会话
argue 进程参数欺骗

CS系列(一):Cobalt Strike初体验的更多相关文章

  1. Angular2入门系列教程2-项目初体验-编写自己的第一个组件

    上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着 ...

  2. 小马哥-Java 微服务实践 - Spring Boot 系列-01Java 微服务实践 - Spring Boot 系列(一)初体验

    课程github地址 https://github.com/mercyblitz/segmentfault-lessons 传统的web应用架构.微服务是一种架构.不限定什么语言 单体应用和微服务的对 ...

  3. 渗透测试神器Cobalt Strike使用教程

    Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队 ...

  4. dubbo实战之一:准备和初体验

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. Cobalt Strike系列教程第五章:截图与浏览器代理

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  6. Cobalt Strike系列教程第三章:菜单栏与视图

    通过前两章的学习,我们掌握了Cobalt Strike教程的基础知识,及软件的安装使用. Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  7. Cobalt Strike系列教程第一章:简介与安装

    Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能.同时,Cobalt St ...

  8. Cobalt Strike系列教程第六章:安装扩展

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  9. oracle 12c 学习系列(1)–12c初体验

    详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验

随机推荐

  1. 为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!

    2019年5月29日15时,阿里云RDS for MySQL 8.0正式上线,使得阿里云成为紧跟社区步伐,发布MySQL最新版本的云厂商.RDS for MySQL 8.0 产品是阿里云推出的 MyS ...

  2. oracle避免使用耗费资源的操作

    带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎 执行耗费资源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需 ...

  3. oracle避免在索引列上使用IS NULL和IS NOT NULL

    避免在索引中使用任何可以为空的列,ORACLE将无法使用该索引 .对于单列索引,如果列包含空值,索引中将不存在此记录. 对于复合索引,如果每个列都为空,索引中同样不存在此记录. 如果至少有一个列不为空 ...

  4. 在对文件进行随机读写,RandomAccessFile类,如何提高其效率

    花1K内存实现高效I/O的RandomAccessFile类 JAVA的文件随机存取类(RandomAccessFile)的I/O效率较低.通过分析其中原因,提出解决方案.逐步展示如何创建具备缓存读写 ...

  5. Linux 使用 Speedtest 测试网速

    Speedtest的linux客户端是用python写的一个安装包 安装python包管理器pip yum -y install python-pip 如果提示No package python-pi ...

  6. 洛谷P1981 表达式求值 题解 栈/中缀转后缀

    题目链接:https://www.luogu.org/problem/P1981 这道题目就是一道简化的中缀转后缀,因为这里比较简单,只有加号(+)和乘号(*),所以我们只需要开一个存放数值的栈就可以 ...

  7. 2018-8-3-WPF-读取硬件序列号

    title author date CreateTime categories WPF 读取硬件序列号 lindexi 2018-8-3 11:8:2 +0800 2018-8-2 19:28:6 + ...

  8. P1035 台阶问题二

    题目描述 有 \(N\) 级的台阶,你一开始在底部,每次可以向上迈最多 \(K\) 级台阶(最少 \(1\) 级),问到达第 \(N\) 级台阶有多少种不同方式. 输入格式 两个正整数 \(N, K( ...

  9. element ui 批量删除

    <el-table :data="tableData" stripe border style="width: 100%" @selection-chan ...

  10. ZR1050

    ZR1050 http://www.zhengruioi.com/problem/1030 题目大意: 给定一棵带点权的树,求所有联通块的点权和的平方的和 \(n \le 10^5\) 题解 首先,关 ...