CS系列(一):Cobalt Strike初体验
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初体验的更多相关文章
- Angular2入门系列教程2-项目初体验-编写自己的第一个组件
上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着 ...
- 小马哥-Java 微服务实践 - Spring Boot 系列-01Java 微服务实践 - Spring Boot 系列(一)初体验
课程github地址 https://github.com/mercyblitz/segmentfault-lessons 传统的web应用架构.微服务是一种架构.不限定什么语言 单体应用和微服务的对 ...
- 渗透测试神器Cobalt Strike使用教程
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队 ...
- dubbo实战之一:准备和初体验
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Cobalt Strike系列教程第五章:截图与浏览器代理
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- Cobalt Strike系列教程第三章:菜单栏与视图
通过前两章的学习,我们掌握了Cobalt Strike教程的基础知识,及软件的安装使用. Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- Cobalt Strike系列教程第一章:简介与安装
Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能.同时,Cobalt St ...
- Cobalt Strike系列教程第六章:安装扩展
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- oracle 12c 学习系列(1)–12c初体验
详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验
随机推荐
- 如何用JS和HTML 做一个桌面炒股小插件【原创】
首先,使用node-webkit 做环境,废话不多说,直接贴HTML <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...
- Linux查看用户及其权限管理
https://www.cnblogs.com/fxlttkl/p/7601224.html 查看用户 请打开终端,输入命令: $ who am i 或者 $ who mom likes 输出的第一列 ...
- CSS定位方式有哪些?position属性的值有哪些?他们之间的区别是什么?
在CSS中关于定位的内容是:position:relative | absolute | static | fixed • static 自动定位,自动定位就是元素在页 面普通文档流中由HTML自动定 ...
- JavaScript中判断整数的方法
一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. 1 2 3 4 5 function isInteger(obj) { return obj%1 == ...
- 浅谈Transformer 及Attention网络
1 Transformer 模型结构处理自然语言序列的模型有 rnn, cnn(textcnn),但是现在介绍一种新的模型,transformer.与RNN不同的是,Transformer直接把一句话 ...
- Python--day30--网络基础
单波: 查找mac:
- Scrap简介
原文:https://blog.csdn.net/ssw_1990/article/details/51254227 提到Python与网络爬虫,可能会想到urllib,urllib2,Beautif ...
- Activiti - 新一代的开源 BPM 引擎
http://www.ibm.com/developerworks/cn/Java/j-lo-activiti1/ ****************************************** ...
- P1100 三连击
题目描述 我们假设一个三位整数 \(N(100 \le N \le 999)\) ,它的百位上的数字是 \(A\) ,十位上的数字是 \(B\) ,个位上的数字是 \(C\) ,如果 \(A\) , ...
- Vant-UI移动端时间选择框
使用Vant input框时有时需要调用时间选择,时间选择框要结合弹出层使用 <div class="van-cell van-field"> <span cla ...