限时7天的附下载链CobaltStrike
发布日期:2021-05-04 20:08:18 浏览次数:29 分类:技术文章

本文共 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 Strike

New 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

Packages

HTML 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 #部署VPN

Spawn

外部监听器(如指派给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

上一篇:渗透测试(面试)如何获取一个网站的真实ip
下一篇:应急响应

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月07日 14时29分04秒