CS
-
- CS简介
- CS功能
- 安装CS
- CS的基本使用
- 深入标题介绍
- Beacon Commands
-
CS简介
CS 是Cobalt Strike的简称,是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CobaltStrike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。
CS功能
Cobalt Strike可以使用 AggressorScripts脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等。
Cobalt Strike通信配置文件是 Malleable C2,你可以修改CS的通讯特征,Beacon payload的一些行为。
Cobalt Strike可以引用其他的通讯框架ExternalC2,ExternalC2是由Cobalt Strike提出的一套规范/框架,它允许黑客根据需要对框架提供的默认HTTP(S)/DNS/SMB C2 通信通道进行扩展。
安装CS
下载并解压文件
目录如下
agscript 拓展应用的脚本
c2lint 用于检查profile的错误异常
teamserver 服务端程序
cobaltstrike,cobaltstrike.jar客户端程序(java跨平台)
logs 目录记录与目标主机的相关信息
update,update.jar用于更新CS
third-party 第三方工具
最核心的就是teamserver和cobaltstrike.jar,分别是服务端和客户端
启动服务端,我们首先给teamserver权限
chmod 777 teamserver
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
启动,第一个参数是地址,第二个参数是密码,地址是我们本机的地址,密码任意设置,这里为password
在服务端输入命令 ./teamserver 服务端ip地址 密码
接下来在客户端打开CS图形化界面
打开终端,输入
java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
命令启动。
界面如图
这里由于我们的服务端和客户端在一台机器上,我们就使用默认的host 127.0.0.1即可,port默认为50050,在启动服务端的时候通过回显也可以得知。如果更改了teamserver文件里的server_port值那么在此处就需要改成对应的。user可以随意设置,password为我们前面启动teamserver时的密码password
都设置好后,点击connect
启动后的界面如图
![渗透测试神器CS(4.0)的使用_第5张图片](http://img.e-com-net.com/image/info8/1f1f2f78a4d549689dacd11f2a8b0b20.jpg)
CS的基本使用
作为cobalt strike的第一课,直接简单地进行实战,先感受下cobalt strike最基础的使用流程及其魅力。
首先创建一个listener
左上角的cobaltstrike->listeners
复现
环境:
kali:192.168.175.147
win7:192.168.175.145
开启个监听
点击add创建即可…
选择生成后门-创建win.exe-payload…
创建好后
选择一个钓鱼链接
![渗透测试神器CS(4.0)的使用_第11张图片](http://img.e-com-net.com/image/info8/5a0d76700f474907ae79b6d9f0df4217.jpg)
复制该链接到需要控制的靶机上下载即可
![渗透测试神器CS(4.0)的使用_第13张图片](http://img.e-com-net.com/image/info8/db94ea139d3941a69e184435a6b1a712.jpg)
下载好后,直接双击…
可看到已经成功获得对方的shell,成功控制对方电脑…
深入标题介绍
Access
Dump Hashes #获取hash
Elevate #提权
Golden Ticket #生成黄金票据注入当前会话
Make token #凭证转换
Run Mimikatz #运行 Mimikatz
Spawn As #用其他用户生成Cobalt Strike侦听器
Explore
![渗透测试神器CS(4.0)的使用_第16张图片](http://img.e-com-net.com/image/info8/3f27781c91fa41519645fcda1ec1aba5.jpg)
Browser Pivot #劫持目标浏览器进程
Desktop(VNC) #桌面交互
File Browser #文件浏览器
Net View #命令Net View
Port Scan #端口扫描
Process List #进程列表
Screenshot #截图
Pivoting
![渗透测试神器CS(4.0)的使用_第17张图片](http://img.e-com-net.com/image/info8/3193d59ea52f4c1b85e8c8e1b220431e.jpg)
SOCKS Server #代理服务
Listener #反向端口转发
Deploy VPN #部署VPN
Spawn
外部监听器(如指派给MSF,获取meterpreter权限)
Session
Note #备注
Remove #删除
Sleep #指定被控端休眠时间,默认60秒一次回传,让被控端每10秒来下载一次任务。实际中频率不宜过快,容易被发现。
Exit #退出
Interact(打开beacon)
beacon> help
Beacon Commands
Command Description
argue 进程参数欺骗
blockdlls 阻止子进程加载非Microsoft DLL
browserpivot 注入受害者浏览器进程
bypassuac 绕过UAC提升权限
cancel 取消正在进行的下载
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect Connect to a Beacon peer over TCP
covert 部署Covert VPN客户端
cp 复制文件
dcsync 从DC中提取密码哈希
desktop 远程桌面(VNC)
dllinject 反射DLL注入进程
dllload 使用LoadLibrary将DLL加载到进程中
download 下载文件
downloads 列出正在进行的文件下载
drives 列出目标盘符
elevate 使用exp
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 Apply 从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 显示进程列表
psexec Use a service to spawn a session on a host
psexec_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横向渗透
基础操作演示
![渗透测试神器CS(4.0)的使用_第20张图片](http://img.e-com-net.com/image/info8/5e7bd197bb104808a4656c42562ca69f.jpg)
右键目标interact来使用Beacon,用它来执行各种命令。在Cobalt Strike中,默认心跳为60s,执行命令的响应很慢,在下载文件时更加明显,所以根据实战环境把时间降低,建议不要太快,否则流量会相对明显。
![渗透测试神器CS(4.0)的使用_第22张图片](http://img.e-com-net.com/image/info8/68d477ea64784f549535d37c7eac64b5.jpg)
在beacon中,如果想对目标进行命令管理,需要在前面加上shell,如shell whoami、shell ipconfig等…
今天简单的简介入门级,简单的操作可自行搭建靶机操作
后面会越来越深入的学习Cobalt Strike 4.0…加油!!