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. Linux下的一些配置

    /etc/vim/vimrc文件 set cindent set expandtab set smartindent set autoindent set nu set hls taglist安装(t ...

  2. H3C IP及其相关协议

  3. 函数的渐近的界&阶的比较

    一.函数的渐近的界   我们在研究算法性能的时候,往往会在意算法的运行时间,而运行时间又与算法输入的规模相关,对于一个算法,我们可以求出运行时间和输入规模的函数,当输入规模足够大时,站在极限的角度看, ...

  4. jQuery 文档操作 - remove() 方法

    移除所有 <p> 元素: 定义和用法 remove() 方法移除被选元素,包括所有文本和子节点. 该方法不会把匹配的元素从 jQuery 对象中删除,因而可以在将来再使用这些匹配的元素. ...

  5. Python--day70--csrf简单用法、 跨站请求伪造和csrf_token使用

    1,csrf简单用法 2,Django里面的setting加入了防跨站伪造:这段代码帮你生成特殊字符串,帮你塞到html页面中来 3,csrf_token使用:

  6. servicemix-3.2.1 内置的服务引擎和绑定组件

    服务引擎: servicemix-bean servicemix-camel servicemix-cxf-se servicemix-drools servicemix-eip servicemix ...

  7. uni-app 生命周期函数

    应用生命周期 函数名 说明 onLaunch 当uni-app 初始化完成时触发(全局只触发一次) onShow 当 uni-app 启动,或从后台进入前台显示 onHide 当 uni-app 从前 ...

  8. WPF 使用 SharpDx 异步渲染

    本文告诉大家如何通过 SharpDx 进行异步渲染,但是因为在 WPF 是需要使用 D3DImage 画出来,所以渲染只是画出图片,最后的显示还是需要 WPF 在他自己的主线程渲染 本文是一个系列,希 ...

  9. linux Tasklets 机制

    tasklet 类似内核定时器在某些方面. 它们一直在中断时间运行, 它们一直运行在调度它 们的同一个 CPU 上, 并且它们接收一个 unsigned long 参数. 不象内核定时器, 但是, 你 ...

  10. H3C设置下次启动的配置文件