Cobalt Strike 4.0渗透攻击工具

前言

前几天在做综合靶场的时候,有一个不太完整的vulntarget-a综合靶场,在这里我用了cs工具那么今天就给大家简单的说一下这个工具

1、工具简介

Cobalt Strike是一款以metasploit为基础的GUI的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,winexe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。
Cobalt Strike主要用于团队作战,可以说是内网渗透中的团队渗透神器,CobaltStrike能够让多个攻击者同时连接到团队服务器上,共享攻击资源与目标信心和Session。要知道众人拾柴火焰高的道理,当我们发现一个内网控制点后,为了使我们的攻击收益最大化,最好的办法就是跟团队共享资源,给其他成员提供同样的接入点,Cobalt Strike很好的做到了这一点。因此Cobalt Strike作为一款协同APT工具,针对内网的渗透测试和作为APT的终端控制功能,使其变成众多APT组织的首选工具。
此次会使用Cobalt Strike 4.0进行讲解了巩固。

2、工具安装

此工具是需要java环境支持,所以无论建立在哪里,都得需要提前安装java环境(至于如何安装我就不过多介绍了,大家可以自行去网上进行百度)。
首先看一下cs4.0的目录结构
在这里插入图片描述
接下来直接启动即可,首先在服务端(服务端可以选择在服务器或者kali均可,我这里选择的是kali作为服务端)
在服务端
在这里./teamserver IP 密码。ip是你的服务端的ip地址,记住此处ip地址不能写127.0.0.1或者0.0.0.0,链接的密码自己设置一下就好,当出现以下界面的时候就说明客户端启动成功了。
在这里插入图片描述
在客户端
客户端可以选择在windows、linux都可以,只要有java环境即可,在这里我就直接也选择在kali段当客户端,直接输入命令./start.sh,稍等几秒就会出现以下界面
在这里插入图片描述
Host:这里写的是你服务器的ip地址
Port:我这里写的是50051,这端口可以去teamserver里进行设置
User:随便写一个名字就行,这里我写的是kali
Password:一开始启动服务端你设置的密码
然后点击connect后出现以下界面
在这里插入图片描述
这里再给大家说一下windows的安装应用方法(中文版)
首先得用管理员权限启动cmd,进入目录
在这里插入图片描述

然后在启动环境即可,双击cs.bat
在这里插入图片描述
然后输入密码就可以正常使用
在这里插入图片描述
这个版本知识汉化大部分,不过也是够用了。

3、参数介绍

接下来对这个界面进行详细介绍

Cobalt strike模块
在这里插入图片描述
New Connection #新建连接,支持连接多个服务器端
Preferences #设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录
Visualization #主要展示输出结果的视图
VPN Interfaces #设置VPN接口
Listenrs #创建监听器
Script Manager #脚本管理,可以通过AggressorScripts脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等
Close #退出连接

View模块
在这里插入图片描述
Applications # 显示受害主机的应用信息
Credentials # 显示所有以获取的受害主机的凭证,如hashdump、Mimikatz
Downloads # 查看已下载文件
Event Log # 主机上线记录以及团队协作聊天记录
Keystrokes # 查看键盘记录结果
Proxy Pivots # 查看代理模块
Screenshots # 查看所有屏幕截图
Script Console # 加载第三方脚本以增强功能
Targets # 显示所有受害主机
Web Log # 所有Web服务的日志

Attacks模块
在这里插入图片描述在这里插入图片描述
(一)Packages模块

HTML Application # 生成(executable/VBA/powershell)这三种原理实现的恶意HTA木马文件
MS Office Macro # 生成office宏病毒文件
Payload Generator # 生成各种语言版本的payload
Windows Executable # 生成可执行exe木马
Windows Executable(S) # 生成无状态的可执行exe木马

(二)Web Drive-by模块

Manage # 对开启的web服务进行管理
Clone Site # 克隆网站,可以记录受害者提交的数据
Host File # 提供文件下载,可以选择Mime类型
Scripted Web Delivery # 为payload提供web服务以便下载和执行,类似于Metasploit的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模块

Spear Phish # 鱼叉钓鱼邮件

Reporting模块
在这里插入图片描述
Activity Report # 活动报告
Hosts Report # 主机报告
Indicators of Compromise # 威胁报告包括C2配置文件的流量分析、域名、IP和上传文件的MD5 hashes
Sessions Report # 会话报告
Social Engineering Report # 社会工程报告包括鱼叉钓鱼邮件及点击记录
Tactics, Techniques, and Procedures # 战术技术及相关程序报告包括行动对应的每种战术的检测策略和缓解策略
Reset Data # 重置数据
Export Data # 导出数据,导出.tsv文件格式

Help模块
在这里插入图片描述
Homepage # 官方主页
Support # 技术支持
Arsenal # 开发者
System information # 版本信息
About # 关于

工具栏

其实工具栏就是上面那些的缩小版
在这里插入图片描述

1.新建连接
2.断开当前连接
3.监听器
4.改变视图为Pivot Graph(视图列表)
5.改变视图为Session Table(会话列表)
6.改变视图为Target Table(目标列表)
7.显示所有以获取的受害主机的凭证
8.查看已下载文件
9.查看键盘记录结果
10.查看屏幕截图
11.生成无状态的可执行exe木马
12.使用java自签名的程序进行钓鱼攻击
13.生成office宏病毒文件
14.为payload提供web服务以便下载和执行
15.提供文件下载,可以选择Mime类型
16.管理Cobalt Strike上运行的web服务
17.帮助
18.关于

4、简单复现

漏洞环境
Kali:192.168.119.130
Win7:192.168.119.136

(一)钓鱼链接

首先在cs上开启一个监听界面,点击add添加,出现界面如下
在这里插入图片描述在这里插入图片描述
设置完毕后点击save保存

在这里插入图片描述
建立成功,然后生成windows可执行的exe木马
在这里插入图片描述在这里插入图片描述在这里插入图片描述
生成exe木马文件,保存下来

在这里插入图片描述
创建好后开始下载一个钓鱼链接,让对方直接上钩就行
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
直接复制这个url开始钓鱼

在这里插入图片描述

双击即可

在这里插入图片描述
发现肉鸡已经上线,已经成功获得对方的shell,成功控制对方电脑…接下来深入了解一下拿到shell后的各项功能
用 cs 的 hashdump 读内存密码:hashdump,用 mimikatz 读注册表密码:logonpasswords。获取相应账户凭证
或者:
右键->Access->Dump Hashes(需要Administrator权限)
右键->Access->Run Mimikatz

在这里插入图片描述

可以在凭证栏中查看获取的凭证
在这里插入图片描述
Access模块
在这里插入图片描述
Dump Hashes #获取hash
Elevate #提权
Golden Ticket #生成黄金票据注入当前会话
Make token #凭证转换
Run Mimikatz #运行 Mimikatz
Spawn As #用其他用户生成Cobalt Strike侦听器

Explore模块
在这里插入图片描述
Browser Pivot #劫持目标浏览器进程
Desktop(VNC) #桌面交互
File Browser #文件浏览器
Net View #命令Net View
Port Scan #端口扫描
Process List #进程列表
Screenshot #截图

Pivoting模块
在这里插入图片描述在这里插入图片描述
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
covertvpn 部署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横向渗透

在beacon中,如果想对目标进行命令管理,需要在前面加上shell,如shell whoami、shell ipconfig等…
在这里插入图片描述
(二)beacon模块之browserpivot命令
用户注入受害者浏览器进程,然后开启HTTP代理,之后就可以登录受害者登录的网站了
beacon>ps //查看浏览器进程,这里进程为712
在这里插入图片描述
接下来开始进行注入进程
beacon>browserpivot 2396
在这里插入图片描述

开启http代理,代理服务器为192.168.119.130:1
本地浏览器设置http代理,host: 192.168.119.130 代理类型为http 端口为1
beacon>browserpivot stop //停止代理

(三)beacon模块之Screenshot&Keylogger

beacon>screenshot //运行屏幕截屏命令
在这里插入图片描述

然后打开View->Screenshots,则可以看到肉鸡屏幕截图
在这里插入图片描述
在这里插入图片描述
简单的使用就到此了,剩下的以后有时间会继续给大家更新

猜你喜欢

转载自blog.csdn.net/tlovejr/article/details/123838018