白帽Hacker 黑暗兵法 (第一部)— 如何尋找躲藏在Cloudflare背後的真實服務IP

Ruei-Chi Huang
Kirin Blog | Kirin の IT Geek
5 min readFeb 2, 2020

會寫這系列的文章, 主要是希望糾正一些錯誤的觀念, 以及提供規劃資安時的正確思維 — Bearspace Technology. CTO Sk Huang.

在危機四伏的網路世界中,如何確保線上系統安全的運作?

說到Cloudflare的服務, 基本上就是透過修改name server的方式, 將網路流量導入Cloudflare 的 CDN網絡內, 進而對封包做調適, 並附加上一些功能, 這可以讓使用CF 的用戶避免被駭客發現到服務的原始IP, 再加上CF有free 方案, 所以受到廣大的用戶的喜愛, 連免費方案都有基本的DDoS防護, 還有什麼好挑剔的?

在台灣最想挑剔的點就是免費方案沒有台灣POP site,大多數的流量都會繞行到其他國家,只有購買最高等級的Enterprise Plan才有,這點就是CF 與 中華之間的恩怨史有關了https://blog.mowd.tw/p/2464

但這種透過 CDN 架構的Anti-DDoS 方式, 最大的弱點就在於原始服務主機上的ip不能被曝露, 一旦暴露了, 那 CDN 上的 Anti-DDoS 就會變得一點用處都沒有.

Cloudflare CDN架構
這是Cloudflare 用於官網上的架構圖

但是以技術來說,架構其實是長這樣

與官方不同的在於, 官方的圖容易讓人覺得自己的服務站, 就在CF 的護城河內, 但其實還是在internet.

1、服務主機其實還是在網際網路上, 只要是在網際網路上就一定會有IP.

2、Cloduflare 之所以用name server 的方式導入CDN, 就是要讓DNS 解析request 的IP, 將流量引導到Cloudflare CDN 網絡。

所以一旦原始服務的IP被曝露,事實上駭客可以繞過Cloudflare 的防護,直接針對服務器進行攻擊。

原始IP曝露, 將導致CDN類型的防護毫無作用, 惡意攻擊可以繞過CDN, 直接對服務IP進行攻擊

但要怎樣知道, 原始IP 是什麼?

其實方法很多, 這邊提供與架構, 移轉順序有關的方式, 在做規劃時可以避免這方面的麻煩

工具 : 深度搜索引擎 Censys (https://censys.io/)

黑暗兵法1 : SSL

這邊先假設要查的網址 : abc123.com , 他的真實IP是 123.123.123.123

當正常流量的訪問, 會反饋的會是Cloudflare 的SSL, 但是原始IP 上的SSL仍然會曝光在Internet 上 (ex. https://123.123.123.123:443)

Phase1. 這時只要在Censys 搜索( https://censys.io/certificates)上, 進行布爾組合的搜索 “parsed.names: abc123.com and tags.raw: trusted”

Phase2. 搜索完成後, 依序點擊右方的工具

“What’s using this certificate?” > “IPv4 Hosts”

這時就有可能讓原始IP 現形。

Censys 透過SSL 搜索的結果

黑暗兵法2 : DNS 歷史紀錄

這方法就簡單多了, 網路上有這種專門儲存DNS 歷史紀錄的工具,

https://securitytrails.com/

使用方式 : 直接輸入FQDN 再按搜索就有可能查出。

黑暗兵法3 : API 內容

現在網站要串的API非常多, Coder 要是沒安全概念的話, 安全漏洞會百出, 這邊提供一個最常串的API — Google Analytics Tracking

Phase1. 開啟網站後查看 Source Code, 找出GA JS Code 的 UA 碼, 這邊舉例為ga('create', 'UA-11583226-1', 'auto');

到 Shodan 網站,透過查詢組合字串

https://www.shodan.io/search?query=http.html%3AUA-11583226-1

如果開發者沒把安全性做好, 原始服務IP 就會被查出來.

透過GA JS Code 查到原始IP

黑暗兵法4 : 網址紀錄

這個也是直接透過Censys 對網址做查詢, 就可以查出, 可怕的是有時候一些相關的資訊也會被搜索出來. https://censys.io/domain

後記

其實上述的方式, 都有辦法可以防堵資訊的洩漏, 但這也是為什麼我偏愛使用BGP DDoS 清洗的原因, 從根著手的解決方案才是根絕之道, 只做到半套的資安, 留下一個罩門在實在很難令人安心。

--

--

Ruei-Chi Huang
Kirin Blog | Kirin の IT Geek

I am Kirin., I was ShellFans AI Technology’s CTO. Our team specializes in IoT, Blockchain, Cloud and Ai. | https://www.shell.fans