(1)平時在做安全測試時,相信很多小夥伴在建立Cobalt Strike服務端時都是直接使用IP位址後進行直連。之前也爆出過Cobalt Strike“空格”特征,可以通過構造規則,針對全球的具有這類特征的HTTP響應進行伺服器抓取,難道要頻繁更換IP嗎?更新版本就不會出現新的特征嗎?
相關資訊:https://github.com/fox-it/cobaltstrike-extraneous-space
複制
(2)每當各種重大活動時經常會出現大面積SS/SSR通信異常,又要頻繁更換IP嗎?搬瓦工的Just My Socks提供自動監測并自動換IP功能,在衆多小夥伴的使用下還會香嗎?
(3)基于以上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
複制
選擇延遲率相對較低的VPS,測試方法:
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
選擇一個域名點選
Get it now
完成後點選
Checkout
進入下一步
選擇免費的12個月期限,點選
Continue
進行下一步
購物車資訊,點選
Complete Order
注冊成功生成ID号,并傳回
My Domains
可檢視到注冊成功後的域名
失敗的效果如下所示
>小技巧:
+注冊使用的IP和通路網站使用的IP需在同一個地區或同一個IP,不然會出現注冊不成功的情況!
+網站經常性會自動斷開登陸狀态導緻購物車無域名的情況,需要手速快或删除Cookie資訊後再注冊即可!
+如果是第一次注冊,在結算頁面的資訊欄顯示紅色部分需要如實填寫,其他的随便填,最關鍵的是地區,如果你沒國外的手機号,老老實實選擇China,不然會校驗到你目前IP所屬國家和你選擇的不符會失敗,或利用短信接收平台配合對應地區IP進行注冊
+如果覺得免費的域名注冊方式比較麻煩或不适合,可自行購買其他廠商的xyz域名相對便宜【0.99$】
複制
三:域名配合Cloudflare解析
需要先注冊一個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
,如果跳轉到控制台頁面就表示成功了,如果沒有就需要耐心等待一會,解析需要一定的時間,一般幾分鐘就解析好了。
四:安裝Nginx
參考位址: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服務
展示頁面
五:安裝HTTPS證書
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;
重新開機服務即可
複制
六:安裝V2ray服務端
配置和部署的方式建議按照官方的說明進行下載下傳及配置,第三方網站存在很多後門捆版的情況需自行檢驗。
參考位址:
https://www.v2ray.com/chapter_00/install.html)
bash<(curl-L-shttps://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,根據需求來自行設定
複制
七:網站與V2ray并存
對Nginx預設配置檔案進行修改,在内容中添加以下資訊
location /ray {
proxy_pass http://127.0.0.1:23846;
proxy_redirectoff;
proxy_http_version1.1;
proxy_set_header Upgrade$http_upgrade;
proxy_set_header Connection"upgrade";
proxy_set_header Host$http_host;
}
複制
修改完成後重新開機服務即可
建議選擇使用者量多且官方推薦的用戶端
參考位址:https://github.com/2dust/v2rayN
複制
建立或添加【VMess】伺服器
再開啟HTTP搭理模式即可
最終效果如下:
八:總結
此次測試僅做隐藏真實IP位址、更友善的扶牆及環境配置部署說明,後續還可以結合Cobalt Strike插件或其他技巧進行更加隐蔽的測試方式。Cobalt Strike安裝部署不在本次測試範圍内,可自行谷歌~