发布时间: 2020年06月11日 17:20
发布地址:https://mp.weixin.qq.com/s/428TFr-dyK61y5dZSzGDUw
平时在做安全测试时,相信很多小伙伴在建立Cobalt Strike服务端时都是直接使用IP地址后进行直连。之前也爆出过Cobalt Strike“空格”特征,可以通过构造规则,针对全球的具有这类特征的HTTP响应进行服务器抓取,难道要频繁更换IP吗?更新版本就不会出现新的特征吗?
每当各种重大活动时经常会出现大面积SS/SSR通信异常,又要频繁更换IP吗?搬瓦工的Just My Socks提供自动监测并自动换IP功能,在众多小伙伴的使用下还会香吗?
基于以上2个问题及其他多种因素,并有了产生此次试验的目的
- 备注:本方式仅作为抛砖引玉,看官请轻拍~
- 更新于2020-01-13
- 版本2.0
+ 系统版本:Ubuntu 18.04.3 LTS
+ V2ray版本
- 客户端:v2rayN 2.42
- 服务端:v4.22.1
+ Nginx版本:nginx/1.17.7
+ VPS 1H1G
root@test:/# curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
Retrieving speedtest.net configuration...
Testing from Google (8.8.8.8)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Ixnium Technologies (Tokyo) [13.11 km]: 1.247 ms
Testing download speed...................................................................................
Download: 6666.57 Mbit/s
Testing upload speed.....................................................................................
Upload: 6666.11 Mbit/s
在 Ubuntu、Debian、Fedora、CentOS、RHEL上一样可以执行
V2ray相比SS更需要时间上的准确性,客户端和服务端时差缩小至30s内
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[freenom](https://www.freenom.com)
+ [namecheap](https://www.namecheap.com/)
+ [阿里云万网](https://wanwang.aliyun.com/)
+ [腾讯云DNSPod](https://dnspod.cloud.tencent.com/)
+ [namesilo](https://www.namesilo.com/)
+ [godaddy](https://sg.godaddy.com/zh)
先注册一个freenom的账号登陆上去,点击菜单的Services,选择Register a New Domain
选择免费的12个月期限,点击Continue进行下一步
注册成功生成ID号,并返回My Domains可查看到注册成功后的域名
>小技巧:
+ 注册使用的IP和访问网站使用的IP需在同一个地区或同一个IP,不然会出现注册不成功的情况!
+ 网站经常性会自动断开登陆状态导致购物车无域名的情况,需要手速快或删除Cookie信息后再注册即可!
+ 如果是第一次注册,在结算页面的信息栏显示红色部分需要如实填写,其他的随便填,最关键的是地区,如果你没国外的手机号,老老实实选择China,不然会校验到你当前IP所属国家和你选择的不符会失败,或利用短信接收平台配合对应地区IP进行注册
+ 如果觉得免费的域名注册方式比较麻烦或不适合,可自行购买其他厂商的xyz域名相对便宜【0.99$】
需要先注册一个Cloudflare的账号并登陆, 注册完成后登进入控制台,点击Add a Site按钮添加一个站点
选择一个计划,这里我们选择第一个免费的就行了,选择完后点击Confirm plan
点击Add Record按钮添加2条A记录,Value指向VPS的IP,点击Proxy status栏中的云朵,让其变成灰色(本阶段因IP未被墙所以暂时选择灰色,如果IP被强可以选择橙色,即可复活被墙IP达到隐藏真实IP的目的), 完成后点击Continue按钮继续下一步操作
此时会提示你将域名的DNS解析到Cloudflare,其中有2个Nameserver是需要用到的
这里需要重新到freenom修改下DNS,点击Services,选择My Domains,找到之前注册的域名,点击右侧的Manage Domain
点击Management Tools选择Nameservers,选择第二个选项自定义,填写上面的2个Nameserver,点击Change Nameservers保存
全部修改完毕之后,回到Cloudflare,点击Done, check nameservers,如果跳转到控制台页面就表示成功了,如果没有就需要耐心等待一会,解析需要一定的时间,一般几分钟就解析好了
参考地址:https://nginx.org/en/linux_packages.html#Ubuntu
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-key fingerprint ABF5BD827BD9BF62
sudo apt update
sudo apt install nginx
默认路径地址:/etc/nginx/conf.d/default.conf
修改并重启Nginx服务
Let’s Encrypt官方推荐了Certbot ACME 客户端,所以本次基于Certbot进行设置Let’s Encrypt证书并自动续期
参考地址:
1:https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04
2:https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
5.1 添加仓库
sudo add-apt-repository ppa:certbot/certbot
5.2 安装Certbot的Nginx软件包
sudo apt install python-certbot-nginx
5.3 验证配置是否正确
sudo nginx -t
5.4 重启Nginx
sudo systemctl reload nginx
5.5 获取证书
sudo certbot --nginx -d www.kobefans12345678.tk
5.6 自动续订
sudo certbot renew --dry-run
5.7 设置PCI DSS合规及HSTS
PCI DSS合规+HSTS仅对对证书评级要求较高的用户进行添加,不是必须项
修改letsencrypt的配置信息
vim /etc/letsencrypt/options-ssl-nginx.conf
添加以下信息
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
重启服务即可
配置和部署的方式建议按照官方的说明进行下载及配置,第三方网站存在很多后门捆版的情况需自行检验。
参考地址:
https://www.v2ray.com/chapter_00/install.html)
bash <(curl -L -s https://install.direct/go.sh)
vim /etc/v2ray/config.json
{
"inbounds": [
{
"port": 23846,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "bc0cd645-9fb1-46e3-ba70-ea5b7bed9961",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/ray"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}
6.3 设置开机启动
systemctl enable v2ray
6.4 开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr
也可以魔改BBR,根据需求来自行设置
对Nginx默认配置文件进行修改,在内容中添加以下信息
location /ray {
proxy_pass http://127.0.0.1:23846;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
建议选择用户量多且官方推荐的客户端
参考地址:https://github.com/2dust/v2rayN
此次测试仅做隐藏真实IP地址、更方便的扶墙及环境配置部署说明,后续还可以结合Cobalt Strike插件或其他技巧进行更加隐蔽的测试方式
Cobalt Strike安装部署不在本次测试范围内,可自行谷歌~