0x00 简介

这个应该叫做域前置技术:

大致图示:

image-20201012101837071

  • 攻击流量通过CDN节点将流量转发到真实的C2服务器
  • CDN节点ip通过识别请求的Host头进行流量转
  • 可以有效的躲避一些安全设备,也有这一定的反溯源功能,因为流量都去了CDN上

之前看了一些文章,但是大佬有些地方觉得简单肯能就没写,自己搭建的时候就写了一些,算是我的一个笔记吧,感觉较为详细了,比较适合新手。

0x01 需要资源

  1. cobaltstrike 4.0
  2. VPS(cs服务器)
  3. 域名
  4. CDN
  5. 国外代理

0x02 域名免费申请

申请地址:https://www.freenom.com/

重点是免费且不用备案的

image-20201010175149280

自行选择申请免费的域名

image-20201010175235902

注意:

要挂代理,然后把个人信息的地址设置成代理的地址,要不可能申请不成功

image-20201010182351230

0x03 免费CDN准备

申请地址:https://dash.cloudflare.com/

自行注册并登录设置CDN

image-20201010175449713

0x04 域名和CDN联动设置

登陆CDN,添加站点为刚刚申请的域名

image-20201010202027672

添加A记录,指向VPS的IP地址

类型	名称	 内容	           TTL	代理状态	
A    test 10.1.1.111(VPS地址)   自动   已代理

那么这个地址就是 test.xxxxx.tk
  • 1
  • 2
  • 3
  • 4

image-20201010202316056

记住Cloudflare 名称服务器,这个是要设置到域名那边的!

image-20201010202359523

找到自己的域名——管理域名——nameservers

image-20201010182519563

选择使用自己的域名解析:Use custom nameservers (enter below)

Nameserver 1、2 都写CDN提供的地址

image-20201010201508750

为了实时受到我们的命令的响应:我们需要修改缓存规则:

image-20201010202805943

保证这两项是开着的

image-20201010202943159

0x05 C2证书配置

首先选择证书模式:完全

image-20201010203244193

下载证书

生成成功保存下来,我保存的是 com.pem,com.key

image-20201010203449655

在VPS上生成CS可用的配置文件

使用以下命令重新生成cobalstrike.store:

openssl pkcs12 -export -in server.pem -inkey server.key -out spoofdomain.p12 -name 域名 -passout pass:密码

例子:
openssl pkcs12 -export -in com.pem -inkey com.key -out spoofdomain.p12 -name test.xxxxx.tk -passout pass:zzz123456

使用以下命令创建证书:

keytool -importkeystore -deststorepass 密码 -destkeypass 密码 -destkeystore new.store -srckeystore spoofdomain.p12 -srcstoretype PKCS12 -srcstorepass 密码 -alias 域名

例子
keytool -importkeystore -deststorepass zzz123456 -destkeypass zzz123456 -destkeystore new.store -srckeystore spoofdomain.p12 -srcstoretype PKCS12 -srcstorepass zzz123456 -alias test.xxxxx.tk

最终生成 new.store 文件,(为cobalstrike.store的替代品)

image-20201010175918055

0x06 C2.profile配置

直接使用以下项目:

https://github.com/FortyNorthSecurity/C2concealer

使用方法:

安装命令:
chmod u+x install.sh
./install.sh
使用命令:
C2concealer --variant 1 --hostname test.domain.tk

这里选择3

因为我们使用的CDN给的证书,然后输入/home/cs/new.store,这就是刚刚生成的new.store的绝对路径来。

最终会生成随机名的profile

image-20201010180452978

成功生成

image-20201010145837473

最后讲生成的这个随机数.profile,复制到cs目录下。

0x07 启动C2

用c2lint 检查下,下面这样就是通过:

./c2lint ca730a6d.profile
  • 1

image-20201010161604398

检查成功后,修改teamserver配置

vim teamserver
  • 1

修改最后一行的内容

javax.net.ssl.keyStore=./new.store (证书生成的new.store文件地址)   -Djavax.net.ssl.keyStorePassword=zzz123456(上面证书的那个密码)
  • 1

image-20201010181400207

启动C2

./teamserver 192.168.1.1 password123456 ./C2.profile
  • 1

0x08 配置CS

配置一个监听器

image-20201010215216698

配置一个powershell上线,注意要勾选SSL

image-20201010215502324

0x09 成功上线

成功上线

image-20201010204019920

0x10 总结

本次搭建是以免费的网站为主,但是实际操作起来发现,这个CDN还是有时候不太稳定,有条件的可以换个好的,但是注意要关掉缓存。

共有 0 条评论