天天看點

紅隊必備技能之隐蔽的技巧

紅隊必備技能之隐蔽的技巧

(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安裝部署不在本次測試範圍内,可自行谷歌~

紅隊必備技能之隐蔽的技巧