
本文共 7288 字,大约阅读时间需要 24 分钟。
前言
Cobalt Strike 一款以Metasploit为基础的GUI框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,exe、powershell木马生成等。
钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等。
Cobalt Strike 主要用于团队作战,可谓是团队渗透神器,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。
Cobalt Strike 作为一款协同APT工具,针对内网的渗透测试和作为apt的控制终端功能,使其变成众多APT组织的首选。
基本功能
安装Cobalt Strike 分为客户端和服务端,可分布式操作、协同作战。服务器端只能运行在Linux系统中,可搭建在VPS上。
服务端服务端关键的文件是teamserver以及cobaltstrike.jar,将这两个文件放到服务器上同一个目录,然后运行:
chmod +x teamserver ./teamserver 10.11.42.202 test123 服务端真实IP(不能使用0.0.0.0或127.0.0.1)和连接密码
31C02820-E5DA-492F-8E75-76F7CFE4FE98
客户端客户端在Windows、Linux、Mac下都可以运行 (需要配置好Java环境)。启动Cobalt Strike客户端,输入服务端的IP以及端口、连接密码,用户名可以任意设置。


在控制台所有操作指令都会被记录保留在Cobalt Strike目录logs下。
参数详情 Cobalt StrikeNew Connection #新的连接(支持连接多个服务器端)Preferences #偏好设置(设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录等)Visualization #窗口视图模式(展示输出结果的形式)VPN Interfaces #VPN接入Listenrs #监听器(创建Listener)Script Manager #脚本管理Close #关闭
View
Applications #应用(显示受害者机器的应用信息)Credentials #凭证(通过hashdump或Mimikatz抓取过的密码都会储存在这里)Downloads #下载文件Event Log #事件日志(主机上线记录以及团队协作聊天记录)Keystrokes #键盘记录Proxy Pivots #代理模块Screenshots #截图Script Console #脚本控制台(可以加载各种脚本,增强功能https://github.com/rsmudge/cortana-scripts)Targets #显示目标主机Web Log #Web日志
Attacks
PackagesHTML Application #生成恶意的HTA木马文件MS Office Macro #生成office宏病毒文件Payload Generator #生成各种语言版本的payloadUSB/CD AutoPlay #生成利用自动播放运行的木马文件Windows Dropper #捆绑器,能够对文档类进行捆绑Windows Executable #生成可执行PayloadWindows Executable(S) #把包含payload,Stageless生成可执行文件(包含多数功能)
Web Drive-by
Manage #对开启的web服务进行管理Clone Site #克隆网站(可记录受害者提交的数据)Host File #提供Web以供下载某文件Scripted Web Delivery #提供Web服务,便于下载和执行PowerShell Payload,类似于Metasploit的web_delivery Signed Applet Attack #启动一个Web服务以提供自签名Java Applet的运行环境Smart Applet Attack #自动检测Java版本并利用已知的exploits绕过securitySystem Profiler #用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本等
Reporting
0. Activity report #活动报告1. Hosts report #主机报告2. Indicators of Compromise #威胁报告3. Sessions report #会话报告4. Social engineering report #社会工程学报告5. Tactics, Techniques, and Procedures #策略、技巧和程序 Reset Data #重置数据Export Data #导出数据
Help
Homepage #官方主页Support #技术支持Arsenal #开发者System information #版本信息About #关于
Access
Dump Hashes #获取hashElevate #提权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 #部署VPNSpawn
外部监听器(如指派给MSF,获取meterpreter权限)
Session
Note #备注Remove #删除Sleep #指定被控端休眠时间,默认60秒一次回传,让被控端每10秒来下载一次任务。实际中频率不宜过快,容易被发现。Exit #退出
Interact(打开beacon)
beacon> helpBeacon CommandsCommand Description------- -----------argue 进程参数欺骗blockdlls 阻止子进程加载非Microsoft DLLbrowserpivot 注入受害者浏览器进程bypassuac 绕过UAC提升权限cancel 取消正在进行的下载cd 切换目录checkin 强制让被控端回连一次clear 清除beacon内部的任务队列connect Connect to a Beacon peer over TCPcovertvpn 部署Covert VPN客户端cp 复制文件dcsync 从DC中提取密码哈希desktop 远程桌面(VNC)dllinject 反射DLL注入进程dllload 使用LoadLibrary将DLL加载到进程中download 下载文件downloads 列出正在进行的文件下载drives 列出目标盘符elevate 使用expexecute 在目标上执行程序(无输出)execute-assembly 在目标上内存中执行本地.NET程序exit 终止beacon会话getprivs Enable system privileges on current tokengetsystem 尝试获取SYSTEM权限getuid 获取用户IDhashdump 转储密码哈希值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 pipelogonpasswords 使用mimikatz转储凭据和哈希值ls 列出文件make_token 创建令牌以传递凭据mimikatz 运行mimikatzmkdir 创建一个目录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 jobsps 显示进程列表psexec Use a service to spawn a session on a hostpsexec_psh Use PowerShell to spawn a session on a hostpsinject 在特定进程中执行PowerShell命令pth 使用Mimikatz进行传递哈希pwd 当前目录位置reg Query the registryrev2self 恢复原始令牌rm 删除文件或文件夹rportfwd 端口转发run 在目标上执行程序(返回输出)runas 以其他用户权限执行程序runasadmin 在高权限下执行程序runu Execute a program under another PIDscreenshot 屏幕截图setenv 设置环境变量shell 执行cmd命令shinject 将shellcode注入进程shspawn 启动一个进程并将shellcode注入其中sleep 设置睡眠延迟时间socks 启动SOCKS4代理socks stop 停止SOCKS4spawn Spawn a session spawnas Spawn a session as another userspawnto Set executable to spawn processes intospawnu Spawn a session under another PIDssh 使用ssh连接远程主机ssh-key 使用密钥连接远程主机steal_token 从进程中窃取令牌timestomp 将一个文件的时间戳应用到另一个文件unlink Disconnect from parent Beaconupload 上传文件wdigest 使用mimikatz转储明文凭据winrm 使用WinRM横向渗透wmi 使用WMI横向渗透
Listeners简介
在本版本Cobalt Strike 3.14中,提供了9种 Listener (监听器)。
windows/beacon_dns/reverse_dns_txtwindows/beacon_dns/reverse_httpwindows/beacon_http/reverse_httpwindows/beacon_https/reverse_httpswindows/beacon_smb/bind_pipewindows/beacon_tcp/bind_tcpwindows/foreign/reverse_httpwindows/foreign/reverse_httpswindows/foreign/reverse_tcp (3.13版后增加,支持linuxSSH会话)
beacon_xx 系列为Cobalt Strike自身,包括 dns、http、https、smb 四种方式的监听器。foreign 系列为外部监听器,通常与MSF或者Armitage联动。
在Cobalt Strike 3.13版本后增加了一个新的 Listeners (windows/beacon_tcp/bind_tcp) ,它支持linuxSSH会话。具体更新内容可以查阅 官网 。
创建一个服务1.配置一个监听器
2.选择 Attacks > Packages > Windows Executable
3.上线成功,在 Event Log 处出现上线信息。
Beacon
右键目标interact来使用Beacon,用它来执行各种命令。在Cobalt Strike中,默认心跳为60s,执行命令的响应很慢,在下载文件时更加明显,所以根据实战环境把时间降低,建议不要太快,否则流量会相对明显。
D4883587-7593-468B-85C7-2C5AC6135A63在这里设置sleep 10,同时在beacon中,如果想对目标进行命令管理,需要在前面加上shell,如shell whoami、shell ipconfig等。
总结
这里只是简单描述CobaltStrike的用法,其中还有很多功能的使用,需要实际操作中去发现。更核心的地方在于理解CobaltStrike的Beacon在内网中的通信过程,这对于渗透者能否更进一步深入内网起到重要作用,也是神器的价值所在。
https://cloud.189.cn/t/R3A7Nr2qyiAz
发表评论
最新留言
关于作者
