Domain Fronting域前置隐藏HTTPS

  • A+
所属分类:安全文章
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


原文地址:


 前言 

记录一下当使用Domain Fronting中使用https来上线时候的坑,因为查了半圈没有找到类似的资料,为啥非要https呢,因为node32对http的流量很敏感。


 目标 

  1. 使用Windows/beacon_https/reverse_https作为上线的payload

  2. AWS的Cloudfront作为前置域名


 准备工作 

域名(example.comVPSCentoscloudflare(只作域名解析,不添加任何其他功能,不加CDN,不加HTTPS


 HTTPS连通性 

安装的apache是测试连通性,除此之外没有任何用处。

yum install httpdsystemctl start httpd


1. 增加apache配置文件

#/etc/httpd/conf.d/vhost.conf<VirtualHost *:80>   DocumentRoot /var/www/html   ServerName example.com
RewriteEngine onRewriteCond %{SERVER_NAME} =example.comRewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]</VirtualHost>


2. 设置https

运行脚本HTTPsC2DoneRight.sh生成对应需要的文件,比如letsencrypt、amazon.profile等文件,这个时候https会自动设置成功,测试如下:

curl http://example.comcurl https://example.com


这时候会生成https通信需要的证书文件,一般是通过自签名Letsencrypt申请下来的:

./letsencrypt-auto certonly --standalone -d 域名 --email 邮箱(可匿名)openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out pkcs.p12 -name 域名 -passout pass:ABcd123456keytool -importkeystore -deststorepass ABcd123456 -destkeypass ABcd123456 -destkeystore keystore.store -srckeystore pkcs.p12 -srcstoretype PKCS12 -srcstorepass ABcd123456 -alias 域名


生成的keystore是后面设置CS配置文件的时候使用。


 设置CloudFront 

标红的点特别注意,要改成这个样子,否则测试失败。更改之后发布,测试此时的CloudFront是否生效:

curl https://<example>.cloudfront.netcurl http://<example>.cloudfront.net
Domain Fronting域前置隐藏HTTPS

 设置Profile 

生成Profile,上面生成的amazon.profile测试上线失败。

cd && git clone https://github.com/bluscreenofjeff/Malleable-C2-Randomizer && cd Malleable-C2-Randomizerpython malleable-c2-randomizer.py -profile Sample Templates/Pandora.profile -notestcp pandora_<random>.profile /root/cobaltstrike/httpsProfile/


 修改profile 

  1. 把amazon.profile的最后四行设置https的添加到pandora_.profile里面。

  2. 修改pandora_<random.profile里面的Host,改为aws申请下来的加速域名。

  3. 在profile文件最后新增配置:

https-certificate {set keystore "keystore.store";set password "1234565";}http-config {    set trust_x_forwarded_for "true";}


 设置CS 

systemctl stop httpd  //关闭apache./teamserver <IP> <Pass> <path to pandora profile>


新建一个listener:

Domain Fronting域前置隐藏HTTPS


查看CS的WEBlog:

curl https://cloudfront.net/Hello


在weblog里面查看到对应的请求即设置成功。

Domain Fronting域前置隐藏HTTPS




关注公众号回复“9527”可免费获取一套HTB靶场文档和视频,1120”安全参考等安全杂志PDF电子版,1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包还在等什么?赶紧点击下方名片关注学习吧!

推 荐 阅 读




Domain Fronting域前置隐藏HTTPS
Domain Fronting域前置隐藏HTTPS
Domain Fronting域前置隐藏HTTPS

欢 迎 私 下 骚 扰



Domain Fronting域前置隐藏HTTPS

本文始发于微信公众号(潇湘信安):Domain Fronting域前置隐藏HTTPS

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: