© 哨兵
    GITLAB
    • I. GITLAB CVE-2020-10977 任意文件读取漏洞
    • II. GITLAB CVE-2020-10977 任意文件读取漏洞导致的RCE
    COBALT STIKE
    • I. COBALT STIKE服务器搭建历程
    • II. COBALT STIKE服务器隐藏真实IP
    • III. 域名前置隐藏C2服务器
    • IV. CS上线木马免杀入门
    APACHE LOG4J2
    • I. APACHE LOG4J2 RCE复现历程
    OCR IN BP
    • I. BURPSUITE验证码插件实验
    CTF
    • I. CTF - 代码审计向
    • II. CTF - 密码学与杂项
    二进制研究/BIN
    • I. HIKVISION-CONFIGURATIONFILES-DECRYPTER
    • II. ROUTER-BINFILE-ANALYSIS
    POLKIT
    • I. POLKIT-CVE-2021-3560
    • II. POLKIT-CVE-2021-4034复现
    代理池:BASED ON SCYLLA
    • I. SCYLLA 搭建步骤
    WAF
    • I. MOD-WAF-BYPASS-WALKTHROUGH
    • II. MODSEC & CLOUDFLARE WAF INITIAL RESEARCH
    代码审计
    • I. DYNAMIC-ANALYSIS-OF-JAVA-FRAMEWORK-CODE
    • II. 安全与开发之:MAVEN构建排错
    • III. 浪潮CLUSTERENGINEV4.0代码审计历程
    SPRING
    • I. SPRINGBOOT-MEMORY-FILES-HEAPDUMP-ANALYSIS
    • II. CVE-2022-22947 SPRING-CLOUD-GATEWAY-RCE
    其他研究
    • I. SQL注入原理分析
    • II. STRUTS2DESER
    • III. 基于内存的SHIRO框架WEBSHELL攻击研究
    • IV. 通达OA利用代码分析
    • V. JRMP-GADGET
    反序列化
    • I. SHIRODESER
    • II. JAVADESER

本文发布于:2022-02-15并最后修改于:2022-02-25 | 哨兵安全实验室

Print document Edit on github

Cobalt Stike备忘录 I

本章阐述重点在于如何搭建起一个C2服务器并且如何隐藏CS相关特征

搭建

#client
scp Cobalt-Stike.tar.gz [email protected]<vps_ip>:~

#server
tar -zxvf Cobalt-Stike.tar.gz

0x01 no profile

#server
nohup ./teamserver <vps_ip> <connect_password> &

#client
java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
#输入<vps_ip> <connect_password>
#名字任意填入

0x02 profile

#server
nohup ./teamserver <vps_ip> <connect_password> your_mode.profile &

#client
java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
#输入<vps_ip> <connect_password>
#名字任意填入

区别在于加上自制profile可以针对修改受害客户端和C2服务器HTTP/S的流量特征,避免被「简单的局域网爬虫们」爬到以至于被挂黑名单。

消除特征

1x01 修改默认端口

CS服务器默认监听在50050端口,可以在启动前编辑teamserver文件更改监听端口:

sed -i 's/50050/10080/g' teamserver 
chmod +x teamserver
nohup ./teamserver <vps_ip> <connect_password> &

可以看到日志:

[+] Team server is up on 0.0.0.0:10080

1x02 伪造证书

删除默认的证书

rm ./cobaltstrike.store

查看teamserver代码中原证书

keytool -list -v -storepass 123456 -keystore cobaltstrike.store

并重签一个伪造证书

rm ./cobaltstrike.store
sed -i 's!-alias cobaltstrike -dname "CN=Major Cobalt Strike, OU=AdvancedPenTesting, O=cobaltstrike, L=Somewhere, S=Cyberspace, C=Earth"!-alias common-domain.com -dname "CN=common-domain Windows, OU=MOPR, O=Sentrylab Inc, L=Redmond, ST=HEFEI, C=CN"!g' teamserver

nmap扫描/消除特征效果:

PORT      STATE SERVICE     VERSION
10080/tcp open  ssl/unknown
| ssl-cert: Subject: commonName=common-domain Windows/organizationName=Sentrylab Inc/stateOrProvinceName=HEFEI/countryName=CN
| Issuer: commonName=common-domain Windows/organizationName=Sentrylab Inc/stateOrProvinceName=HEFEI/countryName=CN
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2022-02-17T09:06:25
| Not valid after:  2022-05-18T09:06:25
| MD5:   2d0b efaa d942 3336 f561 bb5d 9e0b 9751
|_SHA-1: ee50 0484 7d73 d8c4 fe5d 3ef0 80fe 390c a3ed 5bcc
|_ssl-date: TLS randomness does not represent time

1x03 重签自有证书

Cloudflare导航栏 -> SSL/TLS -> 源服务器 -> 创建证书

#生成p12文件
openssl pkcs12 -export -in public.pem -inkey private.key -out domain-test.p12 -name domain-test.com -passout pass:123456
#生成store文件
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore domain-test.store -srckeystore domain-test.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias domain-test.com
#生成的文件名字可以随意,域名需对应上;

完成后修改teamserver中对应的store文件然后启动,证书就是Cloudflare签发的了;

以上是几个常见搭建的隐匿思路,不过在网络测绘平台的无差别测绘面前仍然可以寻出蛛丝马迹,参阅以下文章:

1x04 修改shellcode加密密钥 - Mark

在Cobalt Strike特征隐藏一文中提到:

在cobalt strike的c2 malleable配置文件中没有自定义http-stager的uri,默认情况下,通过访问默认的uri,就能获取到cs的shellcode。

加密shellcode的密钥又是固定的(3.x 0x69,4.x 0x2e),所以能从shellcode中解出c2域名等配置信息

点击以查看更多与「C2服务器隐匿」相关的文章

参考

  • Cobalt Strike特征隐藏与流量分析
  • Cobalt Strike特征隐藏
  • PDFS
  • Github Bypass cobaltstrike beacon config scan
  • Bypass cobaltstrike beacon config scan

申明

转载请申明本文档链接
Post by: Bin4xin.

其他

HOME · 镜像 · 博客 · WIKI

此文档对您有帮助吗

文章目录
    • 0x01 no profile
    • 0x02 profile
    • 1x01 修改默认端口
    • 1x02 伪造证书
    • 1x03 重签自有证书
    • 1x04 修改shellcode加密密钥 - Mark
    • 参考
  • .. / 研究 / CobaltStike /

    Author: Bin4xin.
    Build Ver: 2.1.5.1db1b0f release By Action.
    Time Build in: Sat, 07 May 2022 08:56:41 +0800
    Last modified Modified: 2022-02-25