CobaltStrike 破解步骤

由于到手的非原版,可能有些错误的地方、没有破解到的位置,欢迎各位师傅指正~~

本页目录
  1. 必须
  2. 1. 试用版
  3. 2. 过期时间
  4. 3. 水印
  5. 4. 30分钟Exit
  6. 可选
  7. 1. XOR Encode
  8. 2. 试用信息
  9. 3. 试用限制
  10. 4. 用户(暗桩)信息
  11. 5. 证书有效性
  12. 未知
  13. 1. 身份验证

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

由于到手的非原版,可能有些错误的地方、没有破解到的位置,欢迎各位师傅指正~~

必须

1. 试用版

位置:common.License#isTrial
作用:验证是否为试用版
方式:直接修改返回为false

注意:此修改可能严重影响 XOR 混淆、试用限制

修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

2. 过期时间

位置:common.Authorization#Authorization
作用:验证是否超出许可时间
方式:直接修改this.validto为forever

修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

3. 水印

位置:common.Authorization
作用:用于添加用户水印(暗桩)
方式:在读取语句后赋值 watermask ∈ (0, 65535)

注意:此修改可能影响 试用信息、用户(暗桩)信息

修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

水印举例:生成 x86-64 c shellcode 时候末尾 4 字节

CobaltStrike 破解步骤 · 图示

4. 30分钟Exit

位置:beacon.BeaconData#shouldPad
作用:在beacon.BeaconC2#BeaconC2中引用,将 beacon 存活 30 分钟后强制下线
方式:修改this.shouldPad为false

修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

可选

1. XOR Encode

位置:common.ArtifactUtils#XorEncode
作用:用于shellcode混淆
方式:需检查resources中存在有xor.bin、xor64.bin,没有bin文件版本直接返回即可

修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

2. 试用信息

  1. 位置:common.BaseArtifactUtils#_patchArtifact
    作用:添加试用信息暗桩,受License.isTrial()控制
    方式:直接删除、注释即可
修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示
  1. 位置:common.ListenerConfig#pad
    作用:在 shellcode 中添加试用信息暗桩,受common.Authorization#watermark控制
    方式:直接注释即可;或按上述信息修改 watermask
修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

3. 试用限制

基本受 isTrial 影响,建议按上述信息修改 isTrial 逻辑

受影响文件:

  • aggressor/Aggressor
  • aggressor/AggressorClient
  • aggressor/bridges/ArtifactBridge
  • c2profile/Preview
  • common/ArtifactUtils
  • common/BaseArtifactUtils
  • common/CommonUtils
  • common/MudgeSanity

4. 用户(暗桩)信息

基本受 watermask 影响,建议按上述信息修改 watermask

受影响文件:

  • beacon/BeaconPayload.java
  • setup/SSHAgent.java
  • common/AuthUtil.java
  • common/ListenerConfig.java
  • server/TeamServer.java
  • stagers/BeaconPipeStagerX86.java
  • stagers/ForeignReverseStagerX64.java
  • stagers/ForeignReverseStagerX86.java
  • stagers/GenericBindStager.java
  • stagers/GenericDNSStagerX86.java
  • stagers/GenericHTTPStager.java

5. 证书有效性

位置:common.Authorization
作用:验证 auth 文件有效性标志
修改:如若 auth 有效(存在、生成),则无需改动;或直接修改初始化值为 true

修改前修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示

未知

1. 身份验证

位置:common.AuthUtil
作用:读取 auth 文件中身份内容
方式:到手的代码好像被改动了,没有看到引用这个类的地方,导致不知道到底作用于哪里,尤其是licensekey

(试)修改前(试)修改后
CobaltStrike 破解步骤 · 图示CobaltStrike 破解步骤 · 图示