1. CS简介
cs是一个内网渗透中最常见的一种工具。它拥有多种协议主机上线方式,集成了提权,凭证导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能。同时,Cobalt Strike还可以调用Mimikatz等其他知名工具,因此广受黑客喜爱。
项目官网:https://www.cobaltstrike.com
CS分为客户端组件和服务端组件。CS客户端需要运行在Linux系统之上,具体安装过程网上教程比较多,自行查看。
安装好之后客户端与服务端分别如图下所示:
客户端:
服务端:
2. CS 框架详解
2.1 Cobalt Strike
New Connection # 新建连接,支持连接多个服务器端
Preferences # 设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录
Visualization # 主要展示输出结果的视图
VPN Interfaces # 设置VPN接口
Listenrs # 创建监听器
Script Manager # 脚本管理,可以通过AggressorScripts脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等
Close # 退出连接
2.2 视图
Applications # 显示受害主机的应用信息
Credentials # 显示所有以获取的受害主机的凭证,如hashdump、Mimikatz
Downloads # 查看已下载文件
Event Log # 主机上线记录以及团队协作聊天记录
Keystrokes # 查看键盘记录结果
Proxy Pivots # 查看代理模块
Screenshots # 查看所有屏幕截图
Script Console # 加载第三方脚本以增强功能
Targets # 显示所有受害主机
Web Log # 所有Web服务的日志
2.3 攻击
2.3.1 生成后门
HTML Application # 生成(executable/VBA/powershell)这三种原理实现的恶意HTA木马文件 MS Office Macro # 生成office宏病毒文件 Payload Generator # 生成各种语言版本的payload USB/CD AutoPlay # 生成利用自动播放运行的木马文件 Windows Dropper # 捆绑器能够对任意的正常文件进行捆绑(免杀效果差) Windows Executable # 生成可执行exe木马 Windows Executable(Stageless) # 生成无状态的可执行exe木马
2.3.2 钓鱼攻击
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 # 鱼叉钓鱼邮件
2.4 报告
Activity Report # 活动报告
Hosts Report # 主机报告
Indicators of Compromise # IOC报告:包括C2配置文件的流量分析、域名、IP和上传文件的MD5 hashes
Sessions Report # 会话报告
Social Engineering Report # 社会工程报告:包括鱼叉钓鱼邮件及点击记录
Tactics, Techniques, and Procedures # 战术技术及相关程序报告:包括行动对应的每种战术的检测策略和缓解策略
Reset Data # 重置数据
Export Data # 导出数据,导出.tsv文件格式
2.5 工具栏
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.关于
2.6 beacon处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在主机上生成会话
3. CS内网穿透
新建监听
生成攻击程序
最后将生成的文件上传至目标机运行后,即可在本地看到成功上线。