CobatStrike是基于java编写的全平台多方协同后渗透攻击框架。分为客户端和服务端,可分布式操作、协同作战。服务器端只能运行在Linux系统中,可搭建在VPS上。
CobaltStrike集成了端口转发、端口扫描、socket代理、提权、钓鱼、远控木马等功能,几乎覆盖了APT攻击链中所需要用到的各个技术环节。
APT攻击,高级可持续威胁攻击(定向威胁攻击),指某组织对特定对象展开的持续有效的攻击活动(多种攻击手段的战术性综合利用)。
攻击者:拥有高水平专业知识和丰富资源的敌对方
攻击目的:破坏某组织的关键设施,或阻碍某项任务的正常进行
攻击手段:利用多种攻击方式,通过在目标基础设施上建立并扩展立足点来获取信息
攻击过程:在一个很长的时间段内潜伏并反复对目标进行攻击,同时适应安全系统的防御措施,通过保持高水平的交互来达到攻击目的
打开CobaltStrike所在的文件夹查看权限
ls -l
给teamserver和cobaltstrike赋予执行权限
chmod +x teamserver cobaltstrike
再次查看权限
ls -l
teamserver: 团队服务器程序
cobaltstrike和cobaltstrike.jar: 客户端程序,teamsever文件是通过Java来调用CobaltStrike的,输入cobaltstrike启动客户端,主要为了操作方便
log: 日志
c2lint: 检查profile的错误和异常
cd切换到cobaltstrike目录下
cd ./cobaltstrike
运行团队服务器(teamsever)
./teamserver 当前主机IP地址 团队服务器密码(若部署在公网上需要使用强口令)
启动cobaltstrike
./cobaltstrike
填写团队服务器(teamstrike)的IP地址、端口号、密码、用户名(可以任意输入,但要保证当前输入没有登陆)
在客户端向服务端成功获取相关信息后即可打开Cobalt Strike主界面
菜单栏: 集成 Cobalt Strike的所有功能
快捷功能区: 常用的功能
目标列表: 根据显示模式来显示以获取权限的主机及目标主机
控制台命令输出区: 输出命令的执行结果
控制台命令输入区: 输入命令
New Connection: 打开一个新的"Connect"窗口,新建一个连接即可同时连接不同的团队服务器(TeamServer)
Preferences: 偏好设置,设置CobaltStrike主界面、控制台、TeamServer连接记录和报告的样式
Visualization: 将主机以不同的权限展示出来(主要以输出结果的形式展示)
VPN Interfaces: 设置VPN接口
Listeners: 创建监听器
Script Manager: 查看和加载CNA脚本
Close: 关闭当前与TeamServer的连接
Credentials: 通过HashDump或mimikatz获取的密码和散列值的存储
Downloads: 从主机中下载的文件
Event Log: 主机上线记录,团队聊天记录和操作记录
Keystrokes: 键盘记录
Proxy Pivots: 代理模块
Screenshots: 屏幕截图
Script Console: 控制台,可加载脚本
Targets: 显示目标
Web Log: Web访问日志
HTML Application: 基于HTML应用的Payload模块,通过HTML调用其他语言的应用组件进行攻击测试(可执行文件、PoweShell、VBA三种方法)
MS Office Macro: 生成基于Office病毒的Payload模块
Payload Generator: Payload生成器
Windows Executable: 生成32位或64位的EXE和基于服务的EXE、DLL等后门程序,注意选择
Windows Executable(S): 生成 Windows 可执行文件,包含Beacon的完整Payload,支持PowerShell脚本(该模块提供代理设置,较为苛刻的环境进行渗透测试)
Manage: 管理器,对TeamServer上已经开启的Web服务器进行管理(包括Listener和Web Delivery)
Clone Site: 用于克隆指定网站的样式
Host File: 将指定文件加载到Web目录中
Scripted Web Delivery(S): 基于Web的攻击测试脚本,自动生成可执行的Payload
Signed Applet Attack: 用Java自签名的程序进行钓鱼攻击测试(用户若有Applet运行权限则会执行恶意代码)
Smart Applet Attack: 自动检测Java的版本并进行跨平台和跨浏览器的攻击测试,使用嵌入式漏洞来禁用Java的安全沙盒(Java版本1.6.0_45以下及1.7.0_21以下)
System Profiler: 客户端检测工具,获取信息(系统版本、浏览器版本等)
配合Cobalt Strike的操作记录、结果等直接生成相关报告
beacon: 指的是目标主机与teamserver所建立的这个连接,也可以理解成所获的的对方主机的控制权
beacon stage/stager: 生成的可执行文件
Listner(监听器): 专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动(用来接收目标主机权限的模块)
打开“Listeners”面板,新建一个监听器并设置相关参数
完成创建
在“Attack”菜单中选择“Web Delivery-by”–>“Scripted Web Delivery”
保持默认配置,选择之前创建的监听器,设置类型PowerShell,单击“Launch”将Cobalt Strike生成的Payload完整地复制下来
在目标主机上执行Payload,可在Cobalt Strike的日志界面看到日志更新
选中需要操作的Beacon,单击“Interact”选项进入主机交互模式
在执行命令时需要在命令前添加“shell”